tbroyer / gwt-maven-plugin Goto Github PK
View Code? Open in Web Editor NEWStarting fresh on building GWT projects with Maven
Home Page: https://tbroyer.github.io/gwt-maven-plugin/
License: Apache License 2.0
Starting fresh on building GWT projects with Maven
Home Page: https://tbroyer.github.io/gwt-maven-plugin/
License: Apache License 2.0
Currently, the generated -deploy
files are lost. It should be possible to have them in a JAR, ZIP or WAR with a deploy
classifier so you can use e.g. stacktrace deobfuscation.
Workaround: use the maven-assembly-plugin
.
Exception stack trace
[INFO] --- gwt-maven-plugin:1.0-alpha-2:compile (default-compile) @ gwt-app-test ---
[INFO] Unable to create new cache log file /Users/Jens/gwt-app-test/target/gwt-app-test-1.0-SNAPSHOT/../gwt-unitCache/gwt-unitCache-00000140069402EB.
java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:947)
at com.google.gwt.dev.javac.PersistentUnitCache.createCacheFile(PersistentUnitCache.java:120)
at com.google.gwt.dev.javac.PersistentUnitCache.<init>(PersistentUnitCache.java:264)
at com.google.gwt.dev.javac.UnitCacheFactory.get(UnitCacheFactory.java:59)
at com.google.gwt.dev.javac.CompilationStateBuilder.init(CompilationStateBuilder.java:403)
at com.google.gwt.dev.Compiler.run(Compiler.java:217)
at com.google.gwt.dev.Compiler.run(Compiler.java:198)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at net.ltgt.gwt.maven.CompileMojo.execute(CompileMojo.java:353)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
I am playing around with your plugin on Mac OS and it always prints the above exception if no target
directory exists yet and I call mvn package
or similar which triggers a GWT compile.
If this exception is printed the GWT compile completes successfully and the gwt-unitCache directory has actually been created but it is empty. On the next call of mvn package
no exception will be printed and the gwt-unitCache folder will be used and filled with cache files during GWT compilation. If I only delete the gwt-unitCache folder and re-run mvn package
the folder will be re-created and used without exception.
The exception re-occurs as soon as I delete the target
folder, e.g. mvn clean
.
I don't see this behavior on Mac OS when using IntelliJ/Eclipse GWT plugins (not maven) to compile a GWT app and I think I haven't seen this before when using the "old" gwt-maven-plugin.
I guess this is by design but probably should be documented:
In a gwt-lib
library one has to put the UiBinder files (i.e. SomeView.ui.xml
) into the resources/PACKAGE
folder, so that they are packaged when running mvn package
.
If they UIBinder files are in the src/main/java/PACKAGE
folder, they are not packaged.
Investigate adding a gwt:validate mojo bound to some phase of the gwt-lib packaging (verify
?) that would run the GWT Compiler in -validateOnly
mode; it would need a configurable list of modules to process in addition to moduleName
.
See https://jira.codehaus.org/browse/MGWT-297 and http://stackoverflow.com/q/16944701/116472
It would be practical to have module file names configurable in the pom.xml to support this use case:
<set-property name="user.agent" value="safari"/>
.The configuration might look like <module>${moduleName}</module>
as was the case in the codehaus gwt-maven-plugin.
It seems that gwt:generate-module option is not supported anymore but it is documented in the project welcome file.
This is the situation, if you have a project like e2e reproduced here, and you add a GwtTest in the shared-gwt module, the e2e-shared and e2e-module dependencies are only configured corretly in some cases:
project> mvn -am -pl :e2e-shared-gwt test
fail with "No source code is available..."project> mvn -am -pl :e2e-shared-gwt install
successproject/e2e-shared-gwt> mvn test
success (need other artifact to be in the local repo)For the failure case, the problem is that only the <project>/target/classes
is added to the classpath (which not contains source files), but I'm not sure if this is a maven, gwt-maven-plugin or just that I'm not configuring the project correctly. Thanks.
…or should there be a gwt:unpack
mojo?
I'd like it if gwt-app
s could have the generated files at the root of the package and use a mapping to put them back into a subfolder in the war
module, similar to jszip:unpack
. I'm not sure there's a real added value though; i.e. is it worth the trouble for users of the plugin?
JSZip: http://jszip.org/
Hi,
low-priority thing...
when I run this on jdk8, it fails because the sourceLevel is set to 1.8, even though I set the maven-compiler-plugin to level 1.7
Regards,
Johannes
I am not sure if this is a bug or by design:
I created a reactor project for a GWT library which contains 2 modules:
gwt-lib
) itselfgwt-app
) as a showcase.Initially the sample gwt app had a simple dependency to the library (no classifier and no type declared). However when I run mvn gwt:devmode
from my reactor project, changes to the library code (gwt-lib
) are not picked up (re-compiled). Only changes to the sample app are re-compiled.
The debug output shows the following line:
[DEBUG] Ignoring com.github.timeu.dygraphs-gwt:dygraphs-gwt:jar:1.0.0-SNAPSHOT; neither a java-source, gwt-lib or jar:sources.
If I add a second dependency to the library with a classifier of type sources
or with a type of gwt-lib
changes to the library will be properly re-compiled.
I looked into the documentation and the only thing regarding this, was here:
https://tbroyer.github.io/gwt-maven-plugin/artifact-handlers.html
I also looked into the integration tests and only found the type of the dependency to be set to gwt-lib
here:
This is with JDK 1.8.0_45, Maven 3.2.1 and gwt-maven-plugin 1.0-rc-2
Might not be an issue of the gwt-maven-plugin
but I am somehow stuck with this.
I want to add support for sourceMaps in production builds and I am not sure what the best way is and also ran into some issues.
I basically have a maven project based on the modular-requestfactory archetype.
To generate the the sourcemaps I added this to the -client module:
<build>
<plugins>
<plugin>
<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<configuration>
<moduleName>${gwt.module}</moduleName>
<moduleShortName>browser</moduleShortName>
<compilerArgs>
<param>-saveSource</param>
<param>-saveSourceOutput</param>
<param>${project.build.directory}/extra</param>
</compilerArgs>
</configuration>
</plugin>
</plugins>
</build>
However I run into an error when the GWT compiler tries to save the source files:
[ERROR] Fatal error emitting artifact: src/gen/com/gmi/nordborglab/browser/shared/proxy/CandidateGeneListEnrichmentPageProxyAutoBean_com_google_web_bindery_requestfactory_shared_impl_EntityProxyCategory_com_google_web_bindery_requestfactory_shared_impl_ValueProxyCategory_com_google_web_bindery_requestfactory_shared_impl_BaseProxyCategory.java
[INFO] java.io.FileNotFoundException: /home/GMI/uemit.seren/mnt/user/uemit.seren/Code/GWAPortal/genophenbrowser/genophenbrowser-client/target/extra/browser/src/gen/com/gmi/nordborglab/browser/shared/proxy/CandidateGeneListEnrichmentPageProxyAutoBean_com_google_web_bindery_requestfactory_shared_impl_EntityProxyCategory_com_google_web_bindery_requestfactory_shared_impl_ValueProxyCategory_com_google_web_bindery_requestfactory_shared_impl_BaseProxyCategory.java (File name too long)
I thought that the issue was solved in 2.4.
In general I am wondering what the best practice is to package the the sourcemaps ? I was thinking of doing this in the -client
module so that the generated client gwt-app
has those assets already packaged.
Alternatively I could modify the -server
module and copy the resources from the -client/target/
folder when I package the server war
artefact, similar to how it is done in the official gwtprojects.org page:
https://gwt.googlesource.com/gwt-site-webapp/+/master/pom.xml#144
Hi,
Sometimes after some refactoring the gwt compiler complains about some missing references. In this case what I do is to delete all java source files within the target folder. As far as I can tell, these java source files are copied during the import sources (gwt-maven-plugin:1.0-rc-6:import-sources). Is there any need to have the source code in the target folder since the same code exists in the src folder and is more up to date?
I'm using IntelliJ and when I change the name of a class, the IDE renames the java files in the src folder and renames the .class file in the target directory, but does not change the name of the .java file inside the target folder thus leaving these java files forever or until I delete them.
I understand that these files may be necessary for the gwt-lib, but I'm not so sure if they are needed for gwt-app
I'm using java 8, OSX, IntelliJ, last gwt 2.8 snapshot, and gwt:devmode
Thank you.
Running mvn gwt:add-super-sources to the classpath. Where mvn package will copy it. I'm trying to figure out how to debug the mojo, so I'm not sure what's going on yet. What'd I'd really like to happen is trigger it on some other phase, but I can't do that b/c it won't run by it self.
<properties>
<webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory>
</properties>
<build>
<outputDirectory>${webappDirectory}/WEB-INF/classes</outputDirectory>
</build>
<plugin>
<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwt.maven.plugin.version}</version>
<extensions>true</extensions>
<configuration>
<!-- Eclipse will work with module naming in the gwt-app config only -->
<moduleName>com.wrightwayeconomy.module</moduleName>
<moduleShortName>module</moduleShortName>
<webappDirectory>${webappDirectory}</webappDirectory>
<launcherDir>${webappDirectory}</launcherDir>
<startupUrls>
<startupUrl>Project.html</startupUrl>
</startupUrls>
</configuration>
<executions>
<!-- Generate the module and add it to the webappDirectory/classes/... -->
<execution>
<id>gwt-generate</id>
<phase>generate-sources</phase>
<goals>
<goal>generate-module</goal>
<goal>add-super-sources</goal>
</goals>
</execution>
</executions>
</plugin>
Hello,
Can you provide an example with super sources and testing super sources.
Thank you.
Hello,
I'm trying to use your plugin with an annotation processor (mapstruct -- http://mapstruct.org/). It seems to me that the plugin is not picking up the generated code.
[INFO] --- gwt-maven-plugin:1.0-rc-1:compile (default-compile) @ gwtapp ---
[INFO] Compiling module pt.ipb.tests.gwtapp.Main
[INFO] Ignored 1 unit with compilation errors in first pass.
[INFO] Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.
[INFO] Finding entry point classes
[INFO] Tracing compile failure path for type 'pt.ipb.tests.gwtapp.client.Main'
[INFO] [ERROR] Errors in 'file:/Users/fsousa/Projects/tmp/gwtapp/src/main/java/pt/ipb/tests/gwtapp/client/Main.java'
[INFO] [ERROR] Line 9: No source code is available for type pt.ipb.tests.gwtapp.client.MyMapperImpl; did you forget to inherit a required module?
[INFO] [ERROR] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly
I have a sample project here https://github.com/natros/gwtapp
Thank you
May I suggest adding the project structure to the documentation. This would help dev visualize all the resource locations. I can help do this in the next week.
Such as
src/[package]
src/main/super
src/main/module.gwt.xml - module descriptor
src/main/webapp
target/gwt/...
the old maven plugin
<groupId>org.codehaus.mojo</groupId>
<artifactId>gwt-maven-plugin</artifactId>
does have a css-generation goal which allows to auto generate an interface for css files which makes it easier to use it from within gwt code. Is this simply not yet implemented in the new beta version, or has this been intentionally removed?
(my goal is to setup a gwt 2.7 project with gss style sheets that I want to use in UiBinder definitions and in gwt java code)
Does the module description have to be "src/main/module.gwt.xml"? Can I get this plugin to work with a handwritten .gwt.xml file in an arbitrary location?
Importing the project with packaging "gwt-app" will not import as a Java project. If the packaging is changed to a war it works.
Looks like I'll add the Java nature on import to make sure. I'll have to loop back and configure the configurators for the other packaging types possibly.
[INFO] --- gwt-maven-plugin:1.0-SNAPSHOT:compile (default-compile) @ cexp-client ---
[INFO] Unexpected internal compiler error
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at net.ltgt.gwt.maven.CompileMojo.execute(CompileMojo.java:351)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:317)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:152)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
at org.codehaus.classworlds.Launcher.main(Launcher.java:46)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.lang.NoSuchMethodError: com.google.gwt.dev.jjs.JJSOptions.shouldClusterSimilarFunctions()Z
at com.google.gwt.dev.jjs.JJSOptionsImpl.copyFrom(JJSOptionsImpl.java:64)
at com.google.gwt.dev.PrecompileTaskOptionsImpl.copyFrom(PrecompileTaskOptionsImpl.java:61)
at com.google.gwt.dev.CompilerOptionsImpl.copyFrom(CompilerOptionsImpl.java:38)
at com.google.gwt.dev.CompilerOptionsImpl.(CompilerOptionsImpl.java:34)
at com.google.gwt.dev.Compiler.(Compiler.java:118)
... 32 more
Currently, use of a custom class loader prevents the use of external workers.
It also breaks generators that depend on GWT running in the system class loader (e.g. GIN 2.0.0; see https://code.google.com/p/google-gin/issues/detail?id=186)
Originally reported by Olivier O. in https://groups.google.com/d/msg/google-web-toolkit/O8HaPzExxhc/99-vJbZEgTIJ
Could you list a few things that you would like help on or make issues for them?
An exception occurs when I enable super source for test.
I'm not sure why it occurs yet. Sometimes it throws on configuration and sometimes it doesn't.
<packaging>war</packaging>
<plugin>
<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwt.maven.plugin.version}</version>
<extensions>true</extensions>
<configuration>
<!-- Eclipse will work with module naming in the gwt-app config only -->
<moduleName>com.wrightwayeconomy.module</moduleName>
<moduleShortName>module</moduleShortName>
<webappDirectory>${webappDirectory}</webappDirectory>
<launcherDir>${webappDirectory}</launcherDir>
<startupUrls>
<startupUrl>Project.html</startupUrl>
</startupUrls>
</configuration>
<executions>
<!-- Generate the module and add it to the webappDirectory/classes/... -->
<execution>
<id>generate-module</id>
<phase>generate-resources</phase>
<goals>
<goal>generate-module</goal>
<goal>add-super-sources</goal>
<goal>add-test-super-sources</goal>
</goals>
</execution>
</executions>
</plugin>
Execution generate-module of goal net.ltgt.gwt.maven:gwt-maven-plugin:1.0-rc-5:add-test-super-sources failed: Unable to load the mojo 'add-test-super-sources' (or one of its required components) from the plugin 'net.ltgt.gwt.maven:gwt-maven-plugin:1.0-rc-5' (net.ltgt.gwt.maven:gwt-maven-plugin:1.0-rc-5:add-test-super-sources:generate-module:generate-resources)
org.apache.maven.plugin.PluginExecutionException: Execution generate-module of goal net.ltgt.gwt.maven:gwt-maven-plugin:1.0-rc-5:add-test-super-sources failed: Unable to load the mojo 'add-test-super-sources' (or one of its required components) from the plugin 'net.ltgt.gwt.maven:gwt-maven-plugin:1.0-rc-5'
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:153)
at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:331)
at org.eclipse.m2e.core.internal.embedder.MavenImpl$11.call(MavenImpl.java:1362)
at org.eclipse.m2e.core.internal.embedder.MavenImpl$11.call(MavenImpl.java:1)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)
at org.eclipse.m2e.core.internal.embedder.MavenImpl.execute(MavenImpl.java:1360)
at org.eclipse.m2e.core.project.configurator.MojoExecutionBuildParticipant.build(MojoExecutionBuildParticipant.java:52)
at org.eclipse.m2e.core.internal.builder.MavenBuilderImpl.build(MavenBuilderImpl.java:137)
at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:172)
at org.eclipse.m2e.core.internal.builder.MavenBuilder$1.method(MavenBuilder.java:1)
at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod$1$1.call(MavenBuilder.java:115)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:112)
at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod$1.call(MavenBuilder.java:105)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.executeBare(MavenExecutionContext.java:176)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:151)
at org.eclipse.m2e.core.internal.embedder.MavenExecutionContext.execute(MavenExecutionContext.java:99)
at org.eclipse.m2e.core.internal.builder.MavenBuilder$BuildMethod.execute(MavenBuilder.java:86)
at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:200)
at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:734)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:205)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:245)
at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:300)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:303)
at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:359)
at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:382)
at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144)
at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.apache.maven.plugin.PluginContainerException: Unable to load the mojo 'add-test-super-sources' (or one of its required components) from the plugin 'net.ltgt.gwt.maven:gwt-maven-plugin:1.0-rc-5'
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:579)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:121)
... 31 more
Caused by: org.codehaus.plexus.component.repository.exception.ComponentLookupException: java.util.NoSuchElementException
role: org.apache.maven.plugin.Mojo
roleHint: net.ltgt.gwt.maven:gwt-maven-plugin:1.0-rc-5:add-test-super-sources
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:267)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:255)
at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:546)
... 32 more
Caused by: java.util.NoSuchElementException
at org.eclipse.sisu.plexus.RealmFilteredBeans$FilteredItr.next(RealmFilteredBeans.java:118)
at org.eclipse.sisu.plexus.RealmFilteredBeans$FilteredItr.next(RealmFilteredBeans.java:1)
at org.eclipse.sisu.plexus.DefaultPlexusBeans$Itr.next(DefaultPlexusBeans.java:76)
at org.eclipse.sisu.plexus.DefaultPlexusBeans$Itr.next(DefaultPlexusBeans.java:1)
at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:263)
... 34 more
I have created a maven project using this the gwt-maven plugin (package type is gwt-lib)
I have written regular unit tests in the src/test/java folder and there also some GWTTestCases.
When I use the mvn install operation, which also triggers tests (normally) I don't see my unit tests running. Not even the pure JUnit tests.
What am I missing ?
PS: Sorry for creating an issue for this, but I see no other channel to ask questions about this plugin.
The problem can be reproduced using the e2e integration test (as of last commit eeaba17):
When running mvn package successively on the e2e project generated in "target/it-tests", the client module is always recompiled, although the sources do not change:
[INFO] ------------------------------------------------------------------------
[INFO] Building e2e-client 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- gwt-maven-plugin:1.0-SNAPSHOT:enforce-encoding (default-enforce-encoding) @ e2e-client ---
[INFO]
[INFO] --- gwt-maven-plugin:1.0-SNAPSHOT:add-super-sources (default-add-super-sources) @ e2e-client ---
[INFO]
[INFO] --- gwt-maven-plugin:1.0-SNAPSHOT:add-test-super-sources (default-add-test-super-sources) @ e2e-client ---
[INFO]
[INFO] --- gwt-maven-plugin:1.0-SNAPSHOT:import-sources (default-import-sources) @ e2e-client ---
[INFO]
[INFO] --- gwt-maven-plugin:1.0-SNAPSHOT:generate-module (default-generate-module) @ e2e-client ---
[INFO] Module is up to date; skipping.
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ e2e-client ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/oliver/Repositories/External/gwt-maven-plugin/target/it-tests/e2e/e2e-client/src/main/resources
[INFO] skip non existing resourceDirectory /home/oliver/Repositories/External/gwt-maven-plugin/target/it-tests/e2e/e2e-client/src/main/super
[INFO] Copying 1 resource
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ e2e-client ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- gwt-maven-plugin:1.0-SNAPSHOT:import-test-sources (default-import-test-sources) @ e2e-client ---
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ e2e-client ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /home/oliver/Repositories/External/gwt-maven-plugin/target/it-tests/e2e/e2e-client/src/test/resources
[INFO] skip non existing resourceDirectory /home/oliver/Repositories/External/gwt-maven-plugin/target/it-tests/e2e/e2e-client/src/test/super
[INFO] skip non existing resourceDirectory /home/oliver/Repositories/External/gwt-maven-plugin/target/it-tests/e2e/e2e-client/src/test/java
[INFO] Copying 0 resource
[INFO]
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ e2e-client ---
[INFO] No sources to compile
[INFO]
[INFO] --- gwt-maven-plugin:1.0-SNAPSHOT:test (default-test) @ e2e-client ---
[INFO]
[INFO] --- gwt-maven-plugin:1.0-SNAPSHOT:compile (default-compile) @ e2e-client ---
[INFO] Compiling module it.test.E2E
[INFO] Ignored 3 units with compilation errors in first pass.
Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.
[INFO] Compiling 6 permutations
[INFO] Compiling permutation 3...
[INFO] Compiling permutation 0...
[INFO] Compiling permutation 2...
[INFO] Compiling permutation 1...
[INFO] Compiling permutation 4...
[INFO] Compiling permutation 5...
[INFO] Compile of permutations succeeded
[INFO] Link succeeded
[INFO] Compilation succeeded -- 2,409s
[INFO]
[INFO] --- gwt-maven-plugin:1.0-SNAPSHOT:package-app (default-package-app) @ e2e-client ---
[INFO] Building war: /home/oliver/Repositories/External/gwt-maven-plugin/target/it-tests/e2e/e2e-client/target/e2e-client-1.0.war
Somehow https://github.com/tbroyer/gwt-maven-plugin/tree/1.0-rc-5 reintroduces the issue #27. I have a setup which uses annotation processing. The generated sources need to be visible for the GWT compiler and are added using the build-helper-maven-plugin
. Using https://github.com/tbroyer/gwt-maven-plugin/tree/1.0-rc-4 the build is successful, using https://github.com/tbroyer/gwt-maven-plugin/tree/1.0-rc-5 the build fails.
I think adding a SuperDev/Codeserver goal as in codehaus would be great for IT.
However, right now manually trying to run the codeserver fails because the generated module file is not found in the classpath.
So, if I have my module template /src/main/module.gwt.xml, how would I start SuperDev?
Right now of course:
Loading inherited module 'it.pkg.example.Example'
[ERROR] Unable to find 'it/pkg/example/Example.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source?
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
at com.google.gwt.dev.cfg.ModuleDefLoader.nestedLoad(ModuleDefLoader.java:315)
at com.google.gwt.dev.cfg.ModuleDefLoader.load(ModuleDefLoader.java:254)
at com.google.gwt.dev.cfg.ModuleDefLoader.doLoadModule(ModuleDefLoader.java:197)
at com.google.gwt.dev.cfg.ModuleDefLoader.loadFromResources(ModuleDefLoader.java:157)
at com.google.gwt.dev.codeserver.Recompiler.loadModule(Recompiler.java:214)
at com.google.gwt.dev.codeserver.Recompiler.compile(Recompiler.java:105)
at com.google.gwt.dev.codeserver.ModuleState.(ModuleState.java:58)
at com.google.gwt.dev.codeserver.CodeServer.makeModules(CodeServer.java:120)
at com.google.gwt.dev.codeserver.CodeServer.start(CodeServer.java:95)
at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:71)
at com.google.gwt.dev.codeserver.CodeServer.main(CodeServer.java:49)
So first a run with gwt:generate-module is needed and then the generated module needs to be added to the classpath for the codeserver call. Or is there a better way?
This is probably not a gwt-maven-plugin
specific issue but a general maven issue. Currently the gwt-maven-plugin only supports a handful GWT compiler args. The remaining must be passed via the parameter compilerArgs
.
This can be done in the pom.xml
in the following way (i..e enable compileReport):
<plugin>
<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<configuration>
<moduleName>${gwt.module}</moduleName>
<compilerArgs>
<compileArg>-compileReport</compileArg>
</compilerArgs>
</configuration>
</plugin>
But when I try to pass it via command line it doesn't really work (http://books.sonatype.com/mvnref-book/reference/writing-plugins-sect-mojo-params.html):
mvn gwt:compile "-DcompilerArgs=-compileReport"
or
mvn gwt:compile "-Dgwt.compilerArgs=-compileReport"
I'm aiming to get a gwtp archetype built on this this plugin today and while configuring the plugin, Eclipse was asking to setup some lifecycle goals:
This is what I've come up with so far. Since this is quite new, I'm not sure what correct or best would look like. What do you think so far?
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.arcbees.archetypes</groupId>
<artifactId>gwtp-plugin2-basic</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>gwt-app</packaging>
<name>GWTP Plugin2 Basic</name>
<description>Basic GWTP application using the new GWT maven plugin.</description>
<properties>
<!-- client -->
<gwt.version>2.5.1</gwt.version>
<gwtp.version>1.0-RC-3</gwtp.version>
<gin.version>2.0.0</gin.version>
<!-- server -->
<guice.version>3.0</guice.version>
<!-- testing -->
<junit.version>4.11</junit.version>
<jukito.version>1.1</jukito.version>
<!-- maven -->
<gwt-maven-plugin.version>2.5.0</gwt-maven-plugin.version>
<maven-surefire-plugin.version>2.6</maven-surefire-plugin.version>
<maven-compiler-plugin.version>2.3.2</maven-compiler-plugin.version>
<maven-resources-plugin.version>2.5</maven-resources-plugin.version>
<maven-processor-plugin.version>2.0.5</maven-processor-plugin.version>
<maven-build-helper-plugin.version>1.7</maven-build-helper-plugin.version>
<target.jdk>1.6</target.jdk>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<build>
<outputDirectory>${webappDirectory}/WEB-INF/classes</outputDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${target.jdk}</source>
<target>${target.jdk}</target>
<encoding>${project.build.sourceEncoding}</encoding>
</configuration>
</plugin>
<!-- JUnit Testing - skip *.GwtTest cases -->
<!-- 'mvn test' - runs the Jukito tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<includes>
<include>**/*Test.java</include>
</includes>
<excludes>
<exclude>**/*GwtTest.java</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<extensions>true</extensions>
<configuration>
<moduleName>com.arcbees.project.Project</moduleName>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven
build itself. -->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<versionRange>[1.0-alpha-2,)</versionRange>
<goals>
<goal>enforce-encoding</goal>
<goal>import-test-sources</goal>
<goal>generate-module</goal>
<goal>import-sources</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<!-- Google Web Toolkit -->
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>${gwt.version}</version>
</dependency>
<!-- GWT-Platform -->
<dependency>
<groupId>com.gwtplatform</groupId>
<artifactId>gwtp-mvp-client</artifactId>
<version>${gwtp.version}</version>
</dependency>
<dependency>
<groupId>com.gwtplatform</groupId>
<artifactId>gwtp-dispatch-client</artifactId>
<version>${gwtp.version}</version>
</dependency>
<dependency>
<groupId>com.gwtplatform</groupId>
<artifactId>gwtp-dispatch-server-guice</artifactId>
<version>${gwtp.version}</version>
</dependency>
<dependency>
<groupId>com.gwtplatform</groupId>
<artifactId>gwtp-dispatch-shared</artifactId>
<version>${gwtp.version}</version>
</dependency>
<!-- DI -->
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>${guice.version}</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-servlet</artifactId>
<version>${guice.version}</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-assistedinject</artifactId>
<version>${guice.version}</version>
</dependency>
<dependency>
<groupId>com.google.gwt.inject</groupId>
<artifactId>gin</artifactId>
<version>${gin.version}</version>
</dependency>
<!-- Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.jukito</groupId>
<artifactId>jukito</artifactId>
<version>${jukito.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
I can't get jsinterop working as per Thomas's advice in this thread:
https://groups.google.com/forum/#!topic/google-web-toolkit/9yvESx2hma0
Sample project:
https://github.com/Alexwhite3000/jsinterop-helloworld
I've found that the Eclipse wtp server runtimes want the war pom packaging to work right. I've been testing the app engine server runtime and found that I've got to have the war packaging for it to work, although this means the gwt module isn't generated. What would you think about adding a lifecycle for generating what you need during the war goal?
To solve it on my side, I'm thinking about running the goal on server runtime launch. There might be some other ways, I'm looking at that now.
For some reason m2e won't create me the target/war directory. This feels like one of the plugin lifecycles should be copying the static resources to the web app directory in target.
War dir: Working directory does not exist: /Users/branflake2267/git/Archetypes/archetypes/gwt-basic/target/gwt-basic-2.0-SNAPSHOT
args:
-war /Users/branflake2267/git/Archetypes/archetypes/gwt-basic/target/gwt-basic-2.0-SNAPSHOT
-remoteUI "${gwt_remote_ui_server_port}:${unique_id}"
-startupUrl Project.html
-logLevel INFO
-codeServerPort 9997
-port 8888
org.gonevertical.project.module
Suggest documenting a war config using goals to trigger m2e and other build cycles...
For instance using a app engine server runtime configuration this config was used.
<!-- GWT -->
<!-- https://tbroyer.github.io/gwt-maven-plugin/usage.html -->
<!-- http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22net.ltgt.gwt.maven%22%20AND%20a%3A%22gwt-maven-plugin%22 -->
<!-- Requires Java 1.7+ -->
<plugin>
<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwt.maven.plugin.version}</version>
<extensions>true</extensions>
<configuration>
<!-- Eclipse will work with module naming in the gwt-app config only -->
<moduleName>org.gonevertical.project.module</moduleName>
<moduleShortName>module</moduleShortName>
<webappDirectory>${webappDirectory}</webappDirectory>
<launcherDir>${webappDirectory}</launcherDir>
<startupUrls>
<startupUrl>Project.html</startupUrl>
</startupUrls>
</configuration>
<executions>
<!-- Generate the module and add it to the webappDirectory -->
<execution>
<id>generate-module</id>
<phase>generate-resources</phase>
<goals>
<goal>generate-module</goal>
</goals>
</execution>
</executions>
</plugin>
The generate-module goal generates a specific module.gwt.xml file based on the module.gwt.xml in src/main/ and all module.gwt.xml files for dependencies. It generates an inherits element for every dependency, which is very convenient. It doesn't generate source elements for the dependencies, which results in stale files from in-workspace dependencies in SuperDevMode.
The simple workaround is to add the source elements to the module.gwt.xml, but i'm wondering if it could be generated like the inherits.
Ok, if I run the codeserver now my jsinterop code runs fine. I can open the chrome inspector and instantiate java objects,etc.
However, if I maven build my project for distribution I can't see the @JsExport symbols that I defined for my JS to call.
$ mvn clean compile gwt:compile -Dgwt.logLevel=INFO
gave me this massive output: http://privatepaste.com/8333ad5a92
I tested with and without <gwt.draftCompile>true</gwt.draftCompile> in my pom.xml. Neither helped.
By the way I think you were right about the @Jsnamespace being the problem in the other issue. IDK why I didn't think that was it at first.
Any thoughts?
I've created a sample:
https://github.com/zufarfakhurtdinov/gwtpluginsample
There is a single module contains server(simple httpServlet named MyServlet) and client code.
.gwt.xml just contains source path="client"
When I change MyServlet code and do mvn package, gwt is recompile each time in spite of no client code changes.
Mojo gwt-maven-plugin (commented in sample) process it correctly.
Just a quick question, I haven't had to time to confirm yet, but I wanted to ask when using maven m2e with eclipse and your plugin here if the the maven update is clicked on and run from eclipse, does the GPE properly update the GWT run config from your plugin maven configurations attributes?
I get a 404 when it's requesting the Project.html resource in this config.
I can't get mvn gwt:devmode
to work...
I'm curious why I can't get this to work. Might be I'm to tired at the moment. I had it working with a different naming, but won't work for me.
mvn archetype:generate \
-DarchetypeRepository=https://oss.sonatype.org/content/repositories/snapshots \
-DarchetypeGroupId=com.github.branflake2267.archetypes \
-DarchetypeArtifactId=gwt-basic-archetype \
-DarchetypeVersion=2.0-SNAPSHOT \
-DgroupId=com.example.sandy \
-DartifactId=sandy
I should have Eclipse snapshot ready. I'm uploading my changes to the snapshot repo now.
How can I enable the parameter -XmethodNameDisplayMode in the plugin?
Thanks.
Hi,
My configuration is basically this:
<packaging>gwt-app</packaging>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-codeserver</artifactId>
<version>2.7.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<target>1.7</target>
<source>1.7</source>
</configuration>
</plugin>
<plugin>
<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<extensions>true</extensions>
<configuration>
<moduleName>pt.ipb.gwt.demo.Demo</moduleName>
<moduleShortName>demo</moduleShortName>
</configuration>
</plugin>
</plugins>
</build>
mvn clean install
compiles without errors.
mvn gwt:codeserver
complains that cannot find CodeServer.
[INFO] --- gwt-maven-plugin:1.0-beta-1:codeserver (default-cli) @ gwt-demo ---
[WARNING] Error: Could not find or load main class com.google.gwt.dev.codeserver.CodeServer
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.358 s
[INFO] Finished at: 2015-04-18T17:22:45+01:00
[INFO] Final Memory: 13M/309M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal net.ltgt.gwt.maven:gwt-maven-plugin:1.0-beta-1:codeserver (default-cli) on project gwt-demo: GWT Compiler exited with status 1 -> [Help 1]
Am I missing something?
Thanks.
I have setup a GWT multi maven projects with a couple of gwt-libs and one gwt-app [1]. However I just can't manage to compile / run the GWT app. When executing gwt:compile
it keeps saying No source code is available for type ... did you forget to inherit a required module?
I double-checked the jar files to contain the GWT module and the source files. From the output I can see that the modules are recognized and loaded.
I compared my setup to a project created using the modular-webapp
archetype, but cannot find any fundamental differences. I also looked at the samples form the src/it
folder. The only difference I can tell is that my app is a client-only app (no server side code).
What am I doing wrong? Would be great if you could take a quick look whether I just mis-configured the plugin or whether there's something wrong in the plugin itself.
I can't seem to get your plugin configured with this configuration
https://github.com/branflake2267/Archetypes/blob/master/archetypes/gwt-basic/pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.github.branflake2267.archetypes</groupId>
<artifactId>gwt-basic</artifactId>
<packaging>gwt-app</packaging>
<version>2.0-SNAPSHOT</version>
<name>gwt-basic</name>
<description>Basic GWT Maven setup.</description>
<properties>
<!-- GWT -->
<gwt.version>2.8.0-beta1</gwt.version>
<gwt.maven.plugin>1.0-rc-5</gwt.maven.plugin>
<!-- Maven -->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<!-- Java -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<!-- GWT -->
<!-- https://tbroyer.github.io/gwt-maven-plugin/usage.html -->
<!-- http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22net.ltgt.gwt.maven%22%20AND%20a%3A%22gwt-maven-plugin%22 -->
<plugin>
<groupId>net.ltgt.gwt.maven</groupId>
<artifactId>gwt-maven-plugin</artifactId>
<version>${gwt.maven.plugin}</version>
<extensions>true</extensions>
<configuration>
<moduleName>org.gonevertical.project.Project</moduleName>
<moduleShortName>project</moduleShortName>
<logLevel>TRACE</logLevel>
<startupUrls>
<startupUrl>project/project.html</startupUrl>
</startupUrls>
</configuration>
</plugin>
</plugins>
</build>
<!-- GWT BOM -->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt</artifactId>
<version>${gwt.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- GWT -->
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<!-- "provided" so that we don't deploy -->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-dev</artifactId>
<!-- "provided" so that we don't deploy -->
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-codeserver</artifactId>
<!-- "provided" so that we don't deploy -->
<scope>provided</scope>
</dependency>
<!-- Testing -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Errors:
mvn clean package
Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building gwt-basic 2.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- gwt-maven-plugin:1.0-rc-5:enforce-encoding (default-enforce-encoding) @ gwt-basic ---
[INFO]
[INFO] --- gwt-maven-plugin:1.0-rc-5:add-super-sources (default-add-super-sources) @ gwt-basic ---
[INFO]
[INFO] --- gwt-maven-plugin:1.0-rc-5:add-test-super-sources (default-add-test-super-sources) @ gwt-basic ---
[INFO]
[INFO] --- gwt-maven-plugin:1.0-rc-5:import-sources (default-import-sources) @ gwt-basic ---
[INFO]
[INFO] --- gwt-maven-plugin:1.0-rc-5:generate-module (default-generate-module) @ gwt-basic ---
[INFO] /Users/branflake2267/git/Archetypes/archetypes/gwt-basic/target/classes/org/gonevertical/project/Project.gwt.xml up to date - skipping
[INFO]
[INFO] --- maven-resources-plugin:2.7:resources (default-resources) @ gwt-basic ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/branflake2267/git/Archetypes/archetypes/gwt-basic/src/main/resources
[INFO] skip non existing resourceDirectory /Users/branflake2267/git/Archetypes/archetypes/gwt-basic/src/main/super
[INFO] Copying 3 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ gwt-basic ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- gwt-maven-plugin:1.0-rc-5:import-test-sources (default-import-test-sources) @ gwt-basic ---
[INFO]
[INFO] --- maven-resources-plugin:2.7:testResources (default-testResources) @ gwt-basic ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/branflake2267/git/Archetypes/archetypes/gwt-basic/src/test/resources
[INFO] skip non existing resourceDirectory /Users/branflake2267/git/Archetypes/archetypes/gwt-basic/src/test/super
[INFO] Copying 1 resource
[INFO]
[INFO] --- maven-compiler-plugin:3.0:testCompile (default-testCompile) @ gwt-basic ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- gwt-maven-plugin:1.0-rc-5:test (default-test) @ gwt-basic ---
[INFO]
[INFO] --- gwt-maven-plugin:1.0-rc-5:compile (default-compile) @ gwt-basic ---
[INFO] Public resources found in...
[INFO] Translatable source found in...
[INFO] Persistent unit cache dir set to: /Users/branflake2267/git/Archetypes/archetypes/gwt-basic/target/gwt-unitCache
[INFO] Opening cache file: /Users/branflake2267/git/Archetypes/archetypes/gwt-basic/target/gwt-unitCache/gwt-unitCache-7ec627effb3b40e9ed913fee21a6e187b6fde238-00000151CB713721
[INFO] Looking for previously cached Compilation Units in /Users/branflake2267/git/Archetypes/archetypes/gwt-basic/target/gwt-unitCache
[INFO] Loaded 256 units from cache file: gwt-unitCache-7ec627effb3b40e9ed913fee21a6e187b6fde238-00000151CB1B9776
[INFO] Loaded 1 units from cache file: gwt-unitCache-7ec627effb3b40e9ed913fee21a6e187b6fde238-00000151CB3A7FC8
[INFO] Compiling module org.gonevertical.project.Project
[INFO] Found 256 cached/archived units. Used 256 / 256 units from cache.
[INFO] Compiling...
[INFO] Compilation completed in 0.00 seconds
[INFO] PersistentUnitCache cleanup requested
[INFO] Added 0 units to PersistentUnitCache since last cleanup
[INFO] Skipped PersistentUnitCache because no units were added
[INFO] Tracing compile failure path for type 'org.gonevertical.project.client.ProjectEntryPoint'
[INFO] Errors in 'file:/Users/branflake2267/git/Archetypes/archetypes/gwt-basic/target/classes/org/gonevertical/project/client/ProjectEntryPoint.java'
[INFO] Line 14: No source code is available for type com.google.gwt.user.client.ui.RootPanel; did you forget to inherit a required module?
[INFO] Line 14: No source code is available for type com.google.gwt.user.client.ui.HTML; did you forget to inherit a required module?
[INFO] Removing invalidated units
[INFO] Resolving com.google.gwt.core.client.AsyncProvider
[INFO] Found type 'com.google.gwt.core.client.AsyncProvider'
[INFO] Found type 'java.lang.Object'
[INFO] Resolving method getClass
[INFO] Found type 'java.lang.Class'
[INFO] Resolving method createForClass
[INFO] Resolving annotation for javaemul.internal.annotations.DoNotInline
[INFO] Found type 'java.lang.String'
[INFO] Resolving method equals
[INFO] Resolving annotation for javaemul.internal.annotations.DoNotInline
[INFO] Resolving method $createString
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $createString
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $createString
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $createString
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $createString
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $createString
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $createString
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $createString
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $createString
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $createString
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $createString
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $createString
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $createString
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $isInstance
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method createForEnum
[INFO] Resolving annotation for javaemul.internal.annotations.DoNotInline
[INFO] Resolving method createForInterface
[INFO] Resolving annotation for javaemul.internal.annotations.DoNotInline
[INFO] Resolving method createForPrimitive
[INFO] Resolving annotation for javaemul.internal.annotations.DoNotInline
[INFO] Resolving method getPrototypeForClass
[INFO] Resolving annotation for javaemul.internal.annotations.DoNotInline
[INFO] Resolving com.google.gwt.core.client.GWT
[INFO] Found type 'com.google.gwt.core.client.GWT'
[INFO] Resolving method getTypeName
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving com.google.gwt.core.client.GwtScriptOnly
[INFO] Found type 'com.google.gwt.core.client.GwtScriptOnly'
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving com.google.gwt.core.client.JavaScriptException
[INFO] Found type 'com.google.gwt.core.client.JavaScriptException'
[INFO] Resolving method getException
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving com.google.gwt.core.client.JsDate
[INFO] Found type 'com.google.gwt.core.client.JsDate'
[INFO] Resolving method getYear
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method setYear
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method toGMTString
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving com.google.gwt.core.client.SingleJsoImpl
[INFO] Found type 'com.google.gwt.core.client.SingleJsoImpl'
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving com.google.gwt.core.client.SingleJsoImplName
[INFO] Found type 'com.google.gwt.core.client.SingleJsoImplName'
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving com.google.gwt.core.client.UnsafeNativeLong
[INFO] Found type 'com.google.gwt.core.client.UnsafeNativeLong'
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving com.google.gwt.core.client.js.JsExport
[INFO] Found type 'com.google.gwt.core.client.js.JsExport'
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving com.google.gwt.core.client.js.JsFunction
[INFO] Found type 'com.google.gwt.core.client.js.JsFunction'
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving com.google.gwt.core.client.js.JsNamespace
[INFO] Found type 'com.google.gwt.core.client.js.JsNamespace'
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving com.google.gwt.core.client.js.JsNoExport
[INFO] Found type 'com.google.gwt.core.client.js.JsNoExport'
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving com.google.gwt.core.client.js.JsProperty
[INFO] Found type 'com.google.gwt.core.client.js.JsProperty'
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving com.google.gwt.core.client.js.JsType
[INFO] Found type 'com.google.gwt.core.client.js.JsType'
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving com.google.gwt.core.client.package-info
[INFO] Found type 'com.google.gwt.core.client.package-info'
[INFO] Resolving annotation for com.google.gwt.util.PreventSpuriousRebuilds
[INFO] Resolving com.google.gwt.core.client.prefetch.package-info
[INFO] Found type 'com.google.gwt.core.client.prefetch.package-info'
[INFO] Resolving annotation for com.google.gwt.util.PreventSpuriousRebuilds
[INFO] Resolving com.google.gwt.core.client.testing.package-info
[INFO] Found type 'com.google.gwt.core.client.testing.package-info'
[INFO] Resolving annotation for com.google.gwt.util.PreventSpuriousRebuilds
[INFO] Resolving com.google.gwt.core.shared.GwtIncompatible
[INFO] Found type 'com.google.gwt.core.shared.GwtIncompatible'
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving com.google.gwt.core.client.impl.WeakMapping
[INFO] Found type 'com.google.gwt.core.client.impl.WeakMapping'
[INFO] Resolving annotation for com.google.gwt.core.client.GwtScriptOnly
[INFO] Resolving com.google.gwt.core.shared.impl.ThrowableTypeResolver
[INFO] Found type 'com.google.gwt.core.shared.impl.ThrowableTypeResolver'
[INFO] Resolving annotation for com.google.gwt.core.client.GwtScriptOnly
[INFO] Resolving com.google.gwt.lang.Array
[INFO] Found type 'com.google.gwt.lang.Array'
[INFO] Resolving method canSet
[INFO] Resolving annotation for javaemul.internal.annotations.HasNoSideEffects
[INFO] Resolving method getClassLiteralForArray
[INFO] Resolving annotation for javaemul.internal.annotations.DoNotInline
[INFO] Resolving method getElementTypeId
[INFO] Resolving annotation for javaemul.internal.annotations.HasNoSideEffects
[INFO] Resolving method isJavaArray
[INFO] Resolving annotation for javaemul.internal.annotations.HasNoSideEffects
[INFO] Resolving com.google.gwt.lang.Cast
[INFO] Found type 'com.google.gwt.lang.Cast'
[INFO] Resolving method canCast
[INFO] Resolving annotation for javaemul.internal.annotations.HasNoSideEffects
[INFO] Resolving method canCastClass
[INFO] Resolving annotation for javaemul.internal.annotations.HasNoSideEffects
[INFO] Resolving method instanceOfString
[INFO] Resolving annotation for javaemul.internal.annotations.HasNoSideEffects
[INFO] Resolving method instanceOfDouble
[INFO] Resolving annotation for javaemul.internal.annotations.HasNoSideEffects
[INFO] Resolving method instanceOfBoolean
[INFO] Resolving annotation for javaemul.internal.annotations.HasNoSideEffects
[INFO] Resolving method isFunction
[INFO] Resolving annotation for javaemul.internal.annotations.HasNoSideEffects
[INFO] Resolving method isJavaScriptObject
[INFO] Resolving annotation for javaemul.internal.annotations.HasNoSideEffects
[INFO] Resolving method isJsObjectOrFunction
[INFO] Resolving annotation for javaemul.internal.annotations.HasNoSideEffects
[INFO] Resolving method jsinstanceOf
[INFO] Resolving annotation for javaemul.internal.annotations.HasNoSideEffects
[INFO] Resolving method isArray
[INFO] Resolving annotation for javaemul.internal.annotations.HasNoSideEffects
[INFO] Resolving method getClass
[INFO] Resolving annotation for javaemul.internal.annotations.HasNoSideEffects
[INFO] Resolving com.google.gwt.lang.Exceptions
[INFO] Found type 'com.google.gwt.lang.Exceptions'
[INFO] Resolving method wrap
[INFO] Resolving annotation for javaemul.internal.annotations.DoNotInline
[INFO] Resolving com.google.gwt.lang.Runtime
[INFO] Found type 'com.google.gwt.lang.Runtime'
[INFO] Resolving method uniqueId
[INFO] Resolving annotation for javaemul.internal.annotations.ForceInline
[INFO] Resolving com.google.gwt.lang.Util
[INFO] Found type 'com.google.gwt.lang.Util'
[INFO] Resolving method makeEnumName
[INFO] Resolving annotation for javaemul.internal.annotations.DoNotInline
[INFO] Resolving java.io.ByteArrayOutputStream
[INFO] Found type 'java.io.ByteArrayOutputStream'
[INFO] Resolving method toString
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving java.lang.Boolean
[INFO] Found type 'java.lang.Boolean'
[INFO] Resolving method $createBoolean
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $createBoolean
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $isInstance
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving java.lang.Byte
[INFO] Found type 'java.lang.Byte'
[INFO] Found type 'java.lang.Number'
[INFO] Resolving method $isInstance
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving java.lang.Character
[INFO] Found type 'java.lang.Character'
[INFO] Resolving method isSpace
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving java.lang.Deprecated
[INFO] Found type 'java.lang.Deprecated'
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving java.lang.Double
[INFO] Found type 'java.lang.Double'
[INFO] Resolving method $createDouble
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $createDouble
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving method $isInstance
[INFO] Resolving annotation for jsinterop.annotations.JsMethod
[INFO] Resolving java.lang.FunctionalInterface
[INFO] Found type 'java.lang.FunctionalInterface'
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving java.lang.Override
[INFO] Found type 'java.lang.Override'
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving java.lang.SuppressWarnings
[INFO] Found type 'java.lang.SuppressWarnings'
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving java.lang.annotation.Documented
[INFO] Found type 'java.lang.annotation.Documented'
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving java.lang.annotation.Inherited
[INFO] Found type 'java.lang.annotation.Inherited'
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving java.lang.annotation.Retention
[INFO] Found type 'java.lang.annotation.Retention'
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving java.lang.annotation.Target
[INFO] Found type 'java.lang.annotation.Target'
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving java.sql.Date
[INFO] Found type 'java.sql.Date'
[INFO] Resolving method <init>
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method <init>
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method getHours
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method getMinutes
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method getSeconds
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method setHours
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method setMinutes
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method setSeconds
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method toString
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving java.sql.Time
[INFO] Found type 'java.sql.Time'
[INFO] Resolving method <init>
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method getDate
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method getDay
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method getMonth
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method getYear
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method setDate
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method setMonth
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving method setYear
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving java.sql.Timestamp
[INFO] Found type 'java.sql.Timestamp'
[INFO] Resolving method <init>
[INFO] Resolving annotation for java.lang.Deprecated
[INFO] Resolving java.util.AbstractHashMap
[INFO] Found type 'java.util.AbstractHashMap'
[INFO] Resolving method containsKey
[INFO] Resolving annotation for javaemul.internal.annotations.SpecializeMethod
[INFO] Resolving method get
[INFO] Resolving annotation for javaemul.internal.annotations.SpecializeMethod
[INFO] Resolving method put
[INFO] Resolving annotation for javaemul.internal.annotations.SpecializeMethod
[INFO] Resolving method remove
[INFO] Resolving annotation for javaemul.internal.annotations.SpecializeMethod
[INFO] Resolving java.util.EnumSet.EnumSetImpl
[INFO] Found type 'java.util.EnumSet.EnumSetImpl'
[INFO] Resolving method contains
[INFO] Resolving annotation for javaemul.internal.annotations.SpecializeMethod
[INFO] Resolving method remove
[INFO] Resolving annotation for javaemul.internal.annotations.SpecializeMethod
[INFO] Resolving javaemul.internal.annotations.CompilerHint
[INFO] Found type 'javaemul.internal.annotations.CompilerHint'
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving javaemul.internal.annotations.DoNotInline
[INFO] Found type 'javaemul.internal.annotations.DoNotInline'
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving annotation for javaemul.internal.annotations.CompilerHint
[INFO] Resolving javaemul.internal.annotations.ForceInline
[INFO] Found type 'javaemul.internal.annotations.ForceInline'
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving annotation for javaemul.internal.annotations.CompilerHint
[INFO] Resolving javaemul.internal.annotations.GwtIncompatible
[INFO] Found type 'javaemul.internal.annotations.GwtIncompatible'
[INFO] Resolving annotation for java.lang.annotation.Retention
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving annotation for java.lang.annotation.Documented
[INFO] Resolving javaemul.internal.annotations.HasNoSideEffects
[INFO] Found type 'javaemul.internal.annotations.HasNoSideEffects'
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving annotation for javaemul.internal.annotations.CompilerHint
[INFO] Resolving javaemul.internal.annotations.SpecializeMethod
[INFO] Found type 'javaemul.internal.annotations.SpecializeMethod'
[INFO] Resolving annotation for java.lang.annotation.Target
[INFO] Resolving annotation for javaemul.internal.annotations.CompilerHint
[INFO] Finding entry point classes
[INFO] [ERROR] Module has no entry points defined
[INFO] Closing cache file: /Users/branflake2267/git/Archetypes/archetypes/gwt-basic/target/gwt-unitCache/gwt-unitCache-7ec627effb3b40e9ed913fee21a6e187b6fde238-00000151CB713721 (0 units written)
[INFO] Deleting empty file: /Users/branflake2267/git/Archetypes/archetypes/gwt-basic/target/gwt-unitCache/gwt-unitCache-7ec627effb3b40e9ed913fee21a6e187b6fde238-00000151CB713721
[INFO] Shutting down PersistentUnitCache thread
[INFO] Shutting down PersistentUnitCache thread
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.306 s
[INFO] Finished at: 2015-12-22T12:46:14-08:00
[INFO] Final Memory: 12M/316M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal net.ltgt.gwt.maven:gwt-maven-plugin:1.0-rc-5:compile (default-compile) on project gwt-basic: GWT Compiler exited with status 1 -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
I'm wiring up the Eclipse module search mechanism. Although I'm not 100% sure what the module naming options yet are with your plugin.
<modules/>
mojo config?If I can figure out the spec on your modules I can finish the Eclipse Project Configurator. I've also got a project archetype cooking for another example, once all the pieces fall into place.
Now you support two packaging type - the lib and app. I need to deploy the app as a web fragment. The result should be in JAR, but I need to compile my application. The compilation result should be located in the META-INF/resources/ of the result JAR.
Firstly, I want to say it's a relief to know that there is some kind of future for the maven-gwt-plugin. The closing down of codehaus is a shock to me, and I suspect will frighten many devs around the world. So many thanks.
I think one of the most useful aspects of the codeaus mojo is that it generates all your java resource classes from the ,css files. To start doing this by hand is going to be a P.I.T.A.
Is there a plan to do CSS generation in your plugin ? or is there a new way that I'm obviously not aware of ?
Once again, thanks for the great work you and your pals do for the GWT community.
The way we process <type>java-source</type>
in gwt:import-sources
could be replaced with dependency:unpack
or dependency:unpack-dependencies
, and a declared <resource>
or possibly build-helper:add-resource
(and similarly for import-test-resources
).
In retrospect, using <classifier>sources</classifier>
is OK most of the time, and <type>java-source</type>
has only few advantages, and some drawbacks (more I/O).
I'm wondering if it's possible to have two GWT modules with two different entry points in one maven module. I know I could setup two different maven modules (using packaging gwt-app
) each having its own entry point. But I'd like to use common static resources like CSS, javascript and images for both entry points.
Now the goal gwt:generate-module
generate the module directly to target. It will be better to use ${project.build.directory}/generated-sources/resources
by default. It will allows to another tools (e.g. Eclipse) correct work with generated module file
Pros:
gwt:compile
)compilerArgs
, we could just do the same.Cons:
com.google.gwt
and artifactId gwt-dev
, and only differ in version (e.g. 2.6.0-mycompany-patched
); or you'd have to patch/fork the plugin too† Note that we may have to change “the way I did it here” as there could be incompatibilities between some flags; or we'd have to mimic the command-line flags of the GWT compiler and how they translate into CompilerOptions
properties, which is counter-productive and error-prone. Hell is paved with good intentions.
Static webapp sources and war overlays (dependencies with <type>war</type>
and <scope>runtime</scope>
) should be included in a gwt-app
package. Packaging should essentially be compatible with the Maven war plugin to honor The Maven Way™.
These capabilities are currently missing in the plugin. In addition, there are no configuration options to include additional files in the archive.
Use case:
gwt-app
.A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.