I think there is an Ant integration for Maven, so it should be possible to reuse existing Ant builds. But I'm not sure how well it works.
So the reasons, why Maven is easy for our GWT project is simple. We do Java development and all our GWT modules are build as plain Java projects, as JARs (containing a file called xxx.gwt.xml and the source code), that's it. So our whole Maven stuff works completely as pure Java stuff like in any other Java project to. The only point where GWT integration comes in, is that in our web app's POM file, there is the GWT-Maven plugin configured to compile a specified GWT module (included in a JAR, which is a provided-scoped dependency) as JavaScript to the web-app directory (so it's included in the WAR). We don't use GWT unit tests, instead our code is as independent from GWT as possible (e. g. MVP Pattern) and normal unit tests work well. We don't use i18n Message interface generation, since it doesn't increase productivity, we're using an IDE. We don't run anything from Maven, we're launching our development environments from Eclipse (GWT plugin). So at least, Maven has two roles in our project. The first is doing the build, running the unit tests automatically, but all on top of typical Java projects. The second is the project configuration. We're using m2eclipse plugin to enable Eclipse configuration by Maven. Since we're doing no special stuff, m2eclipse configures our Maven projects as simple Java projects or web projects. There is one project containing our 'main' GWT module, this has to be made a GWT project manually (GWT Eclipse plugin, just do it once) to launch the hosted browser from the IDE. This works well, except sometimes m2eclipse changes the order of the libraries in Eclipse classpath and then hosted browser crashes, but it can be fixed easily. I wouldn't do it another way, if I had chosen Ant or Gradle or anything else. The rules are clear, use the power of your IDE for development (it's not the work a build tool is made for) and keep your project a Java project. The second point is important. You can do standard Java development with JUnit or TestNG, standard packaging and build tool configuration and that's exactly, what I recommend. Reduce GWT to the things it's really needed for in your project. Regards Jan Ehrhardt On Sat, Nov 28, 2009 at 11:47 PM, jbdhl <[email protected]> wrote: > Thanks for all your insightful comments! It seems that there is no de- > facto correct answer to my original question, so let me instead, for > simplicity, ask for elaboration of the three following questions: > > * The pro-maven replies above all states something like "maven makes a > lot of things easy", which is kind of unspecific. As far as I can see > (and I might miss something), many of the gwt-shortcuts in maven is > sort direct mappings to commands that are already there in gwt: e.g. > there are already gwt commands for i18n-interface creation. Also, > whole unittest suites can be run from within eclipse, so as far as I > can see, maven doesn't solve any problems there. What is it that maven > solves so elegantly that cannot be done just as elegant by using > "naked" gwt? > > * Assume we start developing without maven. If we later decide to use > maven, how complicated would you guess that the project convertion > would be (from non-maven to maven)? That is, is it easy or complicated > to convert an existing project to maven? Notice, there is a lot of non- > java stuff in the project, such as shell scripts, LaTeX documents, > Makefiles, text files, etc). > > * Just to be clear: does maven contain the functionality of GNU make > or ant? Can it solve the same problems as make and ant? > > -- > > 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. > > > -- 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.
