Putnami Gradle Plugin

163 views
Skip to first unread message

Fabien Dumay

unread,
Feb 16, 2015, 8:12:54 AM2/16/15
to google-we...@googlegroups.com
Hi all,

In  order to make you always more efficient on you development process, the Putnami team has built a new gradle plugin to work on GWT projects.

All the documentation and the usages are available on :
https://github.com/Putnami/putnami-gradle-plugin

The main goals of that plugin are :
- Run the SDM on Jetty 9.
- SDM works fine with multi-module projects.
- Ease of use; It's very simple to fit, and to configure.

You will find some samples into the sources:
https://github.com/Putnami/putnami-gradle-plugin/tree/master/samples

The next steps are :
- gwtSetup : initialisation of the project, with the same idea of the maven archetype
- extend the possibility to run the webapp on different containers.

Let me know if you are interested on it, and if you have got some special needs. We will try to be as reactive as possible.

Regards. 

confile

unread,
Feb 17, 2015, 6:53:05 AM2/17/15
to google-we...@googlegroups.com
What is the difference between your GWT plugin and this one?  

Fabien Dumay

unread,
Feb 17, 2015, 8:33:46 AM2/17/15
to google-we...@googlegroups.com

Hi Confile,

I worked for a while with the gwt-gradle-plugin and it works pretty fine. 

Actually, there were two main points that was annoyed me:

1 - the gwtDev task  runs the standard gwt DevMode. It limiting me by runnig the server side on a Jetty 8 which doesn't support the websocket (JSR 358). 
2 - The sources from the other projects (multimodule with libs) are not automatically added to the SDM, so we need to relaunch the gradle gwtSuperDev task to view the changes.

So to solve it, the gwtDev task runs two external java processes; the first one starts the CodeServer including all sources from all project dependencies i.e. comile project(":my-lib"), and the other one starts the webapp on Jetty 9 without extra library in the classpath such as gwt-dev.jar.

After those two points, I'd love to implement some extra tasks :

- gwtSetup to initialize the project from templates like maven is doing with archetypes
- extra app containers (Tomcat, WildFly...)
- some packaging tasks to build some native app (webviews) on iOS and Android 

With many perspectives in order to make developpers life simpler.

I hope to light you on the why and what is this plugin.

I still available for any question.

Regards,

confile

unread,
Feb 17, 2015, 8:42:21 AM2/17/15
to google-we...@googlegroups.com
I had the problem with the GWT Gradle plugin that when I run in gradle gwtSuperDev and included a second project in my main project that only the sources of my main projects are recompiled using SuperDevMode. When I get you correct you solved this problem. Is this correct?

Also is your gwtDev task running only the SuperDevMode? If not is there a way to run it standalone in your plugin?


Michael

Fabien DUMAY

unread,
Feb 17, 2015, 9:24:08 AM2/17/15
to google-we...@googlegroups.com
Le 17 févr. 2015 à 14:42, confile <michael....@googlemail.com> a écrit :

I had the problem with the GWT Gradle plugin that when I run in gradle gwtSuperDev and included a second project in my main project that only the sources of my main projects are recompiled using SuperDevMode. When I get you correct you solved this problem. Is this correct?
Yes it should fix it.

Also is your gwtDev task running only the SuperDevMode? If not is there a way to run it standalone in your plugin?
The gwtDev task runs the SDM + Jetty with the same ease as the DevMode (no bookmarklet is require). 
The gwtSuperDev task doesn’t exist yet. If you need it, it would be pretty simple to implement. The weak point to that task would be the requirement of the bookmarklet.



Michael


Am Dienstag, 17. Februar 2015 14:33:46 UTC+1 schrieb Fabien Dumay:

Hi Confile,

I worked for a while with the gwt-gradle-plugin and it works pretty fine. 

Actually, there were two main points that was annoyed me:

1 - the gwtDev task  runs the standard gwt DevMode. It limiting me by runnig the server side on a Jetty 8 which doesn't support the websocket (JSR 358). 
2 - The sources from the other projects (multimodule with libs) are not automatically added to the SDM, so we need to relaunch the gradle gwtSuperDev task to view the changes.

So to solve it, the gwtDev task runs two external java processes; the first one starts the CodeServer including all sources from all project dependencies i.e. comile project(":my-lib"), and the other one starts the webapp on Jetty 9 without extra library in the classpath such as gwt-dev.jar.

After those two points, I'd love to implement some extra tasks :

- gwtSetup to initialize the project from templates like maven is doing with archetypes
- extra app containers (Tomcat, WildFly...)
- some packaging tasks to build some native app (webviews) on iOS and Android 

With many perspectives in order to make developpers life simpler.

I hope to light you on the why and what is this plugin.

I still available for any question.

Regards,


--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-tool...@googlegroups.com.
To post to this group, send email to google-we...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

confile

unread,
Feb 17, 2015, 9:29:25 AM2/17/15
to google-we...@googlegroups.com
Well, I need a gwtSuperDev mode task. It would be great if you could add this to your plugin. The code server should run independently of an application server. This gives you more freedom of choice. 


To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsub...@googlegroups.com.

Fabien DUMAY

unread,
Feb 17, 2015, 9:36:07 AM2/17/15
to google-we...@googlegroups.com
I agree the need, can you please raise an issue on GitHub, I’ll do it within the week (i guess tomorrow).

 
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-tool...@googlegroups.com.

confile

unread,
Feb 17, 2015, 10:08:03 AM2/17/15
to google-we...@googlegroups.com
Done.!
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscri...@googlegroups.com.

To post to this group, send email to google-we...@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

Joseph Gardi

unread,
Feb 17, 2015, 11:09:03 AM2/17/15
to google-we...@googlegroups.com
I just finished converting my maven app to gradle with this plugin and it really is faster and easier. The build.gradle file is 5 times shorter than my old pom and clearer. Gradle is significantly faster to. I like it so much that it'd be nice if I could replace my gwt.xml files with gradle too. I don't want to just embed the same xml in the build.gradle though. I'd want this feature to have same syntax awesomeness as gradle. If the plugin handles the gwt.xml files it can have more control and achieve tighter integration. Also, this feature would reduce boilerplate code. Currently, I have to add dependencies in my build.gradle and then inherit the modules in my gwt.xml file. I'd be embarassed to say how many times I forgot to inherit the modules. With this feature I could just add the dependency once in my build.gradle file. I think this would be fairly simple to implement and I'm willing to do it later but I don't want to do it until I become more familiar with gradle.

Fabien DUMAY

unread,
Feb 17, 2015, 11:55:26 AM2/17/15
to google-we...@googlegroups.com
Hi Joseph,

Thank you for the feedbacks and i’am happy that you like this plugin.

It’s true that the format of the .gwt.xml files are a little bit verbose and looks easy to generate but in fact it's not. 
There is many data in those files, module inheritance, generators, property settings...
If we imagine integrate those data in the build.gradle, we will lose all benefits of this plugin (clear, simple) adding to that if we change something on that .gwt.xml while the SDM is running, the changes are handled when you reload the page.
You can maybe submit an alternative format to the GWT contributors in order to see what do they think about it.
For my part we will soon provide a task for initializing that file, but it will be almost empty

I still available for any question.

Regards,

It’s true that the format of the .gwt.xml are a little bit verbose 
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-tool...@googlegroups.com.

Joseph Gardi

unread,
Feb 17, 2015, 12:10:30 PM2/17/15
to google-we...@googlegroups.com
ok. That makes sense

--
You received this message because you are subscribed to a topic in the Google Groups "Google Web Toolkit" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/google-web-toolkit/EVZQ-Cvrqq0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to google-web-tool...@googlegroups.com.

Fabien DUMAY

unread,
Mar 3, 2015, 6:14:15 AM3/3/15
to google-we...@googlegroups.com
Hi folks,

The putnami-gradle-plugin 0.2.0 is released.
This version fixes some issues and adds some new tasks.

* gwtCheck : compile gwt with -validateOnly argument.
* gwtCodeServer : run code server ("super dev mode") without any servlet container.

Faster and easier than Maven, this plugin is perfect way to work on GWT multi module projects,

All the doc is available on :
https://github.com/Putnami/putnami-gradle-plugin

This release is came as fast thanks the contributions from @confile, @pablowatson, @jgeoj23 and @BrandonDonnelson. Thank you guys.

Have fun, and see you soon.

Reply all
Reply to author
Forward
0 new messages