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.

Reply via email to