Giter Site home page Giter Site logo

tbroyer / gwt-maven-plugin Goto Github PK

View Code? Open in Web Editor NEW
163.0 20.0 39.0 1.53 MB

Starting fresh on building GWT projects with Maven

Home Page: https://tbroyer.github.io/gwt-maven-plugin/

License: Apache License 2.0

Java 91.24% HTML 0.87% Groovy 7.89%
gwt maven-plugin

gwt-maven-plugin's People

Contributors

azatsarynnyy avatar ibaca avatar tbroyer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gwt-maven-plugin's Issues

gwt-app should optionally publish a "deploy" artifact

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.

gwt-unitCache folder creation fails if 'target' directory does not yet exist

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.

UiBinder file location in gwt-lib artifacts

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.

Allow pom-configurable module file names

It would be practical to have module file names configurable in the pom.xml to support this use case:

  • A pom defines a "dev" profile used for development builds.
  • To save compilation time, a "dev" build should limit GWT compilation to just one target (say, chrome/safari).
  • This can be achieved by having a separate module file "${module}_dev.gwt.xml" which inherits from the original "${module}.gwt.xml" and adds a line <set-property name="user.agent" value="safari"/>.
  • For a complete example, see gwt-maven-archetypes/guice-rf-activities/client

The configuration might look like <module>${moduleName}</module> as was the case in the codehaus gwt-maven-plugin.

Test source dependencies not configured correctly in some cases

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 installsuccess
  • project/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.

Should gwt-app generate jszip artifacts?

…or should there be a gwt:unpack mojo?

I'd like it if gwt-apps 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/

jdk8

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

DevMode, `gwt-lib` dependency and re-compiling changes

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:

  • The library (packaging: gwt-lib) itself
  • A sample gwt app (packaging: gwt-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

SourceMaps and production builds

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

Source files in the target folder

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.

gwt:add-super-sources will not copy the sources to classpath

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>

annotation processor support

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

Documentation: Project structure

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/...

css interface generation mvn goal missing?

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)

Eclipse m2e import

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.

gwt-maven-plugin not working 2.6.0-rc1

[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

Missing test super source exception

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

mvn test in gwt-lib packaging does not run test cases

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.

mvn package recompiles GWT client module on unchanged sources

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

SuperDevMode

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?

Pass compilerArgs via command line

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"

Question, Eclipse Lifecycle configuration using this plugin...

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>

Eclipse server runtimes

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.

Eclipse m2e war packaging doesn't create webapp/war folder in target

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

Documentation: war config

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>

Generation of source elements in module.gwt.xml for dependencies

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.

gwt-maven-plugin or gwt-dev seems to compile out @JsExport code in GWT 2.8.0

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?

GPE & maven config updating

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?

Resources issue

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.

Error: Could not find or load main class com.google.gwt.dev.codeserver.CodeServer

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.

No source code is available for type

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.

[1] https://github.com/hpehl/hal.next

Can't find gwt inherits

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

modules question

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.

  1. Can I have a module name other than module.gwt.xml?
  2. Is it possible to have more than one module? From what it looks like I've only been able to get module.gwt.xml to work. So then what would be the point of the <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.

Web fragment support

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.

Css -> java generation

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.

Should we just leave type=java-source processing to dependency:unpack?

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).

Multiple GWT modules in one maven module

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.

Should we be tied to a specific GWT version?

Pros:

  • the way I did it here†, configuration is guaranteed to be up-to-date (at least for gwt:compile)
  • a priori, it's easier to add the gwt-dev dependency to the classpath when the project doesn't directly depend on it already (it's a dependency of the plugin, so no need to re-resolve it). If we weren't tied to a specific version of GWT, the plugin would have to infer the GWT version from project dependencies (error-prone), or you'd have to configure the version explicitly, or possibly declare all GWT dependencies as project (or plugin?) dependencies.
  • configuration is more idiomatic of Maven, though I believe we could use some generic config container, but it requires deeper understanding of Maven's XML-POJO mapping, which is already too much magical for me. That said, the maven-compiler-plugin for instance only provides a handful of configurable properties and lets you pass free-form arguments to the compiler with compilerArgs, we could just do the same.

Cons:

  • version of the plugin and version of GWT used in the project must match; as a corollary, the plugin has to be updated and released for each version of GWT
  • if you patched your gwt-dev, because Maven plugin dependencies don't support exclusions, it must be released with groupId 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
  • the way I did it here†, it's harder to pass arguments that don't have configuration properties (because it doesn't fork the compiler); this is mitigated by the fact the options should always be up-to-date, but you could override the version of GWT used by the plugin.
  • to benefit from a fix to the plugin, you might have to also update GWT (you should always quickly update to the latest version of GWT anyway)

† 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.

Packaging for gwt-app misses Web application sources and overlays

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:

  • Include a static HTML host page in the packaged gwt-app.
  • Include Javascript sources packaged as war artifacts from framework dependencies.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.