Hi Keith, this is fantastic that you are taking up this initiative. I built a GWT 1.7 app using maven and the codehaus plugin http://mojo.codehaus.org/gwt-maven-plugin/
There are a couple of different variants of maven gwt plugins, but the codehaus GWT plugin seems to be the best. That said, my pain points were more with the plugin documentation. I was able to get it to do everything I needed to after wrestling with it for a bit. The documentation isn't horrible, it is just lacking a few good examples. It does foce you to stray a bit from the maven webapp layout standard way of doing things, but I found this to not be a problem. I'm off working on something else non-GWT related, sadly, so I have not tried with GWT 2.0, but I know people are having success with it. Some good resources for you might be the codehaus plugin mailing list. http://mojo.codehaus.org/gwt-maven-plugin/mail-lists.html I've also got a couple of maven-ized GWT sample projects on my blog -- you can take a look at the pom.xml configuration of the GWT plugin. http://zenoconsulting.wikidot.com/blog:17 http://zenoconsulting.wikidot.com/blog:16 So, when I was developing a GWT app, I would almost always launch hosted mode via 'mvn gwt:run' -- and then do quick changes to the code/layout/css and refresh to see the changes. I tried not to use the debugger much, but when I did, I'd have to launch the app from w/in Eclipse using the GWT eclipse plugin in debug mode. The only downside to this is it took a really long time to compile and come up, but it worked. Unit testing was a no-brainer once I implemented all our code with MVP -- I was able to test 90% of all the UI logic this way with with pure JUnit tests -- not GWT tests...so this worked fine in Maven with CI (e.g. Hudson). Other standard stuff worked with maven: e.g. mvn package --> build war mvn clean install -> clean, run tests, package, install war mvn eclipse:eclipse -> create eclipse project that can be imported mvn jetty:run -> run it in jetty mvn tomcat:run -> run it in tomcat mvn cargo:deploy cargo:start -> run it in container of choice configured via cargo plugin Hope that helps... Regards, Davis On Wed, Jan 13, 2010 at 11:35 AM, Keith Platfoot <[email protected]>wrote: > Hi folks, > > For the next release of the Google Plugin for Eclipse, we're planning on > making a few tweaks to make life easier for Maven users. That's right: we've > seen the stars on the issue tracker, and have decided it's time to act. I > would say, "we feel your pain", but the problem is, we don't. Which is to > say, nobody on the plugin team actually uses Maven (everybody around here > uses Ant). However, I've been researching Maven to determine exactly what > changes we should make to allow it to work more seamlessly with the Google > Eclipse Plugin. I've read the relevant issues and groups postings, so I > think I have a rough idea of what needs to happen. However, before we go and > make any changes, I wanted to ask for the community's advice. So, here are > some questions for you. > > What is the typical workflow of a GWT developer using Maven? > > I've installed Maven and the gwt-maven-plugin 1.2-SNAPSHOT and managed to > create a GWT 2.0 app with the provided archetype. After some tweaking, I'm > able to GWT compile, debug with Eclipse (though not via our Web App launch > configuration), create a WAR, etc. However, I'm more interested in how > you all are doing things. For example: > > How do you... > > > - Create a new project? > - Perform GWT compiles? > - Debug with Eclipse? > - Run your tests? > - Create a WAR for deployment? > > What specific pain points do Maven users run into when using the Google > plugin? > > I know one major obstacle is that our plugin currently treats the war > directory as both an input (e.g. static resources, WEB-INF/lib, > WEB-INF/web.xml) and output (WEB-INF/classes, GWT artifacts like nocache.js > and hosted.html) . Maven convention, however, says that /src/main/webapp > should be input only, which means that hosted mode (or development mode, in > GWT 2.0) needs to run from a staging directory (e.g. gwt:run creates a /war > folder on demand). This mismatch results in the plugin creating spurious > validation errors and breaks our Web App launch configuration. > > Another incompatibility is that Maven projects depend on the GWT Jars in > the Maven repo, whereas our plugin expects to always find a GWT SDK library > on the classpath. > > Are my descriptions of these pain points accurate? If so, one possible > solution would be for the plugin to allow the definition of an input war > directory (e.g. src/main/webapp) separate from a launch-time staging > directory, and for us to relax the requirement that all GWT projects must > have a GWT SDK library. So tell me: would these changes adequately reduce > the friction between Maven and the Google plugin? > > Also, are there other problems Maven users are running into when using the > plugin? > > Thanks in advance for all feedback, > > Keith, on behalf of the Google Plugin for Eclipse team > > -- > You received this message because you are subscribed to the Google Groups > "Google Web Toolkit" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<google-web-toolkit%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/google-web-toolkit?hl=en. > > -- Zeno Consulting, Inc. home: http://www.zenoconsulting.biz blog: http://zenoconsulting.wikidot.com p: 248.894.4922 f: 313.884.2977--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to [email protected].
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
