{"id":21444978,"url":"https://github.com/gwtboot/restygwt-enum-date","last_synced_at":"2026-03-01T00:31:07.282Z","repository":{"id":150610724,"uuid":"137853062","full_name":"gwtboot/restygwt-enum-date","owner":"gwtboot","description":"RestyGWT Example for Date and Enum","archived":false,"fork":false,"pushed_at":"2023-01-09T20:59:06.000Z","size":85,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-16T07:13:48.330Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gwtboot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-06-19T07:03:10.000Z","updated_at":"2023-01-08T22:54:20.000Z","dependencies_parsed_at":"2023-06-12T01:45:46.367Z","dependency_job_id":null,"html_url":"https://github.com/gwtboot/restygwt-enum-date","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/gwtboot/restygwt-enum-date","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gwtboot%2Frestygwt-enum-date","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gwtboot%2Frestygwt-enum-date/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gwtboot%2Frestygwt-enum-date/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gwtboot%2Frestygwt-enum-date/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gwtboot","download_url":"https://codeload.github.com/gwtboot/restygwt-enum-date/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gwtboot%2Frestygwt-enum-date/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29956187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T22:53:01.873Z","status":"ssl_error","status_checked_at":"2026-02-28T22:52:50.699Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-23T02:22:15.942Z","updated_at":"2026-03-01T00:31:07.228Z","avatar_url":"https://github.com/gwtboot.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RestyGWT: restygwt-enum-date\nRestyGWT Example for Date and Enum.\n\n![Build Status](https://github.com/gwtboot/restygwt-enum-date/actions/workflows/maven.yml/badge.svg)\n\nThis example uses GWT Boot: https://github.com/gwtboot/gwt-boot-samples\n\nThis example shows how to structure your Maven modules for a development toward GWT 3.\n\n# Modules\n\nThere are three modules available:\n1. _Shared_: restygwt-enum-date-shared\n2. _Client / Web browser with GWT_: restygwt-enum-date-client\n3. _Server with Spring Boot_: restygwt-enum-date-server\n\n# Development Time\n\nOn the development time you should start two processes: Client and Server. But this is\nnot a must. If you just need to build your UI you only need to start the Client part\nand you can mock all the call to the REST APIs from Server part with simple interfaces.\n\n## Shared\nFor the Shared classes and interfaces you just need to run mvn:clean install to deploy your shared to the local\nMaven repository. The Shared module is your interface between the Client and the Server part.\n\n## Client\nFor the Client part you can start the standard process for GWT just like it is shown in the example from GWT Boot: \n\n```\nhttps://github.com/gwtboot/gwt-boot-samples\n```\n\nStart with following command:\n\n```\nmvn gwt:generate-module gwt:devmode\n```\n\n## Server\nFor the Server part you just start the Spring Boot app. In this example the class: \n\n```\nRestygwtDateEnumServerApplication.java\n```\n\nThat's it. You will have two clean separate processes which are independent of each other. All the \nMaven libs are also independent, so it won't mix between the Client and the Server part. \nYour Client module is therefore ready for GWT 3, because it does not use the Maven libs from the Server, \nin this case, which come from the Spring Boot framework.\n\n# Deployment / Runtime\n\nOn the deployment time you only need the Server module, since the Server module has a dependency\nto the Client module but only for the JavaScript part. In the Client module the Maven Assembly Plugin will\ncreate a special package with classifier _javascript_. In our example \n\n```\nrestygwt-enum-date-client-1.0.0-SNAPSHOT-javascript \n```\n\nwhich only contains the transpiled JavaScript files from GWT. Here is how the dependency to the JavaScript\ndistribution created, see this [pom.xml](https://github.com/lofidewanto/restygwt-enum-date/blob/master/restygwt-enum-date-server/pom.xml):\n\n```\n\t\u003cplugin\u003e\n\t\t\u003cartifactId\u003emaven-dependency-plugin\u003c/artifactId\u003e\n\t\t\u003cexecutions\u003e\n\t\t\t\u003cexecution\u003e\n\t\t\t\t\u003cid\u003eunpack\u003c/id\u003e\n\t\t\t\t\u003cphase\u003eprepare-package\u003c/phase\u003e\n\t\t\t\t\u003cgoals\u003e\n\t\t\t\t\t\u003cgoal\u003eunpack\u003c/goal\u003e\n\t\t\t\t\u003c/goals\u003e\n\t\t\t\t\u003cconfiguration\u003e\n\t\t\t\t\t\u003cartifactItems\u003e\n\t\t\t\t\t\t\u003cartifactItem\u003e\n\t\t\t\t\t\t\t\u003cgroupId\u003ecom.example\u003c/groupId\u003e\n\t\t\t\t\t\t\t\u003cartifactId\u003erestygwt-enum-date-client\u003c/artifactId\u003e\n\t\t\t\t\t\t\t\u003cversion\u003e${restygwt-enum-date-client.version}\u003c/version\u003e\n\t\t\t\t\t\t\t\u003cclassifier\u003ejavascript\u003c/classifier\u003e\n\t\t\t\t\t\t\u003c/artifactItem\u003e\n\t\t\t\t\t\u003c/artifactItems\u003e\n\t\t\t\t\t\u003cexcludes\u003e**/*index.html\u003c/excludes\u003e\n\t\t\t\t\t\u003coutputDirectory\u003e${project.build.directory}/classes/static\u003c/outputDirectory\u003e\n\t\t\t\t\t\u003coverWriteReleases\u003efalse\u003c/overWriteReleases\u003e\n\t\t\t\t\t\u003coverWriteSnapshots\u003etrue\u003c/overWriteSnapshots\u003e\n\t\t\t\t\u003c/configuration\u003e\n\t\t\t\u003c/execution\u003e\n\t\t\u003c/executions\u003e\n\t\u003c/plugin\u003e\n```\nHere is how to create the _javascript_ distribution from the Client module, see this [pom.xml](https://github.com/lofidewanto/restygwt-enum-date/blob/master/restygwt-enum-date-client/pom.xml) and this Assembly file [distribution.xml](https://github.com/lofidewanto/restygwt-enum-date/blob/master/restygwt-enum-date-client/src/assembly/distribution.xml):\n\n```\n\t\u003cplugin\u003e\n\t\t\u003cartifactId\u003emaven-assembly-plugin\u003c/artifactId\u003e\n\t\t\u003cconfiguration\u003e\n\t\t\t\u003cdescriptors\u003e\n\t\t\t\t\u003cdescriptor\u003esrc/assembly/distribution.xml\u003c/descriptor\u003e\n\t\t\t\u003c/descriptors\u003e\n\t\t\u003c/configuration\u003e\n\t\t\u003cexecutions\u003e\n\t\t\t\u003cexecution\u003e\n\t\t\t\t\u003cid\u003emake-assembly\u003c/id\u003e\n\t\t\t\t\u003cphase\u003epackage\u003c/phase\u003e\n\t\t\t\t\u003cgoals\u003e\n\t\t\t\t\t\u003cgoal\u003esingle\u003c/goal\u003e\n\t\t\t\t\u003c/goals\u003e\n\t\t\t\u003c/execution\u003e\n\t\t\u003c/executions\u003e\n\t\u003c/plugin\u003e\n```\n\n```\n\u003cassembly xmlns=\"http://maven.apache.org/ASSEMBLY/2.0.0\"\n\txmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n\txsi:schemaLocation=\"http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd\"\u003e\n\t\u003cid\u003ejavascript\u003c/id\u003e\n\t\u003cformats\u003e\n\t\t\u003cformat\u003ejar\u003c/format\u003e\n\t\u003c/formats\u003e\n\t\n\t\u003cincludeBaseDirectory\u003efalse\u003c/includeBaseDirectory\u003e\n\n\t\u003cfileSets\u003e\n\t\t\u003cfileSet\u003e\n\t\t\t\u003cdirectory\u003e${project.build.directory}/${project.artifactId}-${project.version}\u003c/directory\u003e\n\t\t\t\u003coutputDirectory\u003e.\u003c/outputDirectory\u003e\n\t\t\t\u003cincludes\u003e\n\t\t\t\t\u003cinclude\u003e**/*\u003c/include\u003e\n\t\t\t\u003c/includes\u003e\n\t\t\t\u003cexcludes\u003e\n\t\t\t\t\u003cexclude\u003e**/*index.html\u003c/exclude\u003e\n\t\t\t\u003c/excludes\u003e\n\t\t\u003c/fileSet\u003e\n\t\u003c/fileSets\u003e\n\u003c/assembly\u003e\n```\n\nTo run in the deployment time you should build from the top Maven module _restygwt-enum-date_:\n\n```\nmvn:clean install\n```\n\nTo run the Spring Boot standalone:\n\n```\njava -jar restygwt-enum-date-server-1.0.0-SNAPSHOT.jar\n```\n\n# Epilog\n\nAdvantages of this structure in comparison with the structure in [Spring Boot with GWT](https://github.com/gwtboot/gwt-boot-samples/tree/master/gwt-boot-sample-basic-with-spring-boot):\n- Clean separation of the modules and each modules are independent of each other.\n- The GWT module is clean and pure GWT Maven libs and is ready for GWT 3.\n- The Spring Boot module is completely pure Spring Boot, no other Maven libs is included.\n- In the deployment you just need to start the Server module with Spring Boot as you include the transpiled JavaScript automatically from the dependency from the Client module.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgwtboot%2Frestygwt-enum-date","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgwtboot%2Frestygwt-enum-date","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgwtboot%2Frestygwt-enum-date/lists"}