steffenschaefer / gwt-gradle-plugin

Gradle plugin to support GWT (http://www.gwtproject.org/) related tasks.
Other
117 stars 45 forks source link

compileGwt is missing module descriptor of a submodule on classpath #109

Closed carlolf closed 7 years ago

carlolf commented 7 years ago

Our GWT project has a main project with an entry point and several subprojects act as gwt modules with no entry point. The sub module contain a gwt descriptor, which is found by Eclipse Gwt plugin. But it is not found by gwt-gradle-plugin when executing the compileGwt task.

the error reported is

<Loading inherited module 'aaa.bbb.main.MainPanel'
   Loading inherited module 'aaa.bbb.nnn.SubModule'
      [ERROR] Unable to find 'aaa/bbb/nnn/SubModule.gwt.xml' on your classpath; could be a typo, or maybe you forgot to include a classpath entry for source?
>

Must the Gradle build script define any extra entries for these module descriptors?

carlolf commented 7 years ago

@steffenschaefer : are you still active in this project or did you retire?

sriharshachilakapati commented 7 years ago

@steffenschaefer I hope you didn't, but in case if you'd rather not continue this, I'm interested in maintaining this project.

carlolf commented 7 years ago

@sriharshachilakapati Good news, if you would take the responsibility on this project. As @steffenschaefer is not responding anymore here, it would be best if you forked this project and continue it. I'm very interested; but as I am just a GWT beginner and do not have the necessary insights in Gradle Plugins I am afraid, I can't help. Surely, there are other Gradle and GWT users interested in this plugin.

steffenschaefer commented 7 years ago

@carlolf , @sriharshachilakapati I'm still here. I just turned off github notifications completely due to several reasons. Referencing GWT modules in other modules of a multi-module-build isn't trivial. There's an example project showing this (it always worked for me doing it this way). And yes, the solution is some kind of hacky. Improving this case is on my priority list, but I currently didn't find a good solution.

I'm still willing to maintain this plugin, but due to personal reasons, this will most probably not happen in the next few weeks. On my personal priority list there is stuff for a few releases:

If someone could do it better/faster I would also be ok with somebody else maintaining the plugin.

If there is someone with good Gradle and GWT knowledge I would also be fine with adding him/her as committer to the repository. Given we agree about the further development and how the plugin should behave/work.

davepuchyr commented 7 years ago

I'm very glad that this project is not abandoned and look forward to the enhancements. I wish I could help but I know nothing of gradle other than to make it work for my GWT projects thanks to the good documentation Steffen wrote. :)

sriharshachilakapati commented 7 years ago

@steffenschaefer Awesome that you're still here. To introduce myself, I'm the developer of a game engine (SilenceEngine) and I use GWT for one of my backends, to let the games run on HTML5. The issue that I get here is that 2.8.0 (final) is incompatible on Windows, you get an error related to classpath. I knew that it is already fixed in the master, but it is not yet in the snapshots.

I have been using this plugin with GWT 2.8.0 beta1 and Gradle 3.3, and it works great. However I've removed the jetty plugin and set it to use gretty instead. I have one suggestion though, please have a way to run the code server in a separate thread (so that it doesn't block gradle) and also allow to stop the code server. That way, it would be possible to easily go to super devmode without having two CMD instances running.

What do you say?

carlolf commented 7 years ago

Hi Steffen, I'm very glad to hear that you are still engaged in this project and will bring it to another level - that's very fine. And of course, it would be fine if other guys could help here. I just started in a GWT project a few months ago, and as Gradle user in another project, I was glad to find a pluging for GWT. GWT folks are mostly Maven users, to which I didn't want to return (although, what I saw from Brandon Donnelson, that was very fine). Then, on the other side, I was a bit sceptical to build on a plugin where nothing did change since 2015, especially thinking of support for GWT 2.8.

So, I hope this project here will make it's deserved progresses.

Thank you.

carlolf commented 7 years ago

I should close this issue by now. Effectively, I got this GWT compile error, because I did not override the standard Gradle jar task. Later I noticed this and now my GWT subprojects are producing jars which contain Java sources and gwt.xml-Resources. With this changes, our project containing mutiple subprojects with GWT nature are built, using the outputs of the GWT-Compiler as part of the ressources to put into WAR file.