Here are the 3 possibilities of Eclipse/Maven integration (or lack
thereof) and my point of view about them:
1. Maven completely optional (what Dani suggests)
This would mean just having a POM on top of the Eclipse project.
Pros:
- No need to install m2eclipse.
Cons:
- POM/Eclipse are always out of sync: changes in one need manual
changes to the other.
- Source of bugs and inconsistencies. What works on Eclipse might not
work on Maven.
- Possible to keep one of them so outdated it doesn't work anymore.
- External libraries need to be shipped with the project.
2. Eclipse project generated by Maven (what's currently on EmiteGWT/emite)
This improves sync between Maven and Eclipse, as long as changes are
made in the POM first and the Eclipse project regenerated.
Pros:
- No need to install m2eclipse.
- No need to ship external libraries.
Cons:
- POM/Eclipse can be out of sync: changes must be done on the POM and
the Eclipse project regenerated manually.
- Users will need to install Maven and run it at least once to
download and install the dependencies (!)
- Maven doesn't generate GWT configuration, it must be configured manually.
3. m2eclipse integration (what I suggest, and what's on my fork)
Eclipse and Maven completely in sync. What works on Eclipse will also
work for someone not using Eclipse at all.
Pros:
- POM/Eclipse always in sync. Changes on the POM become available on
Eclipse automatically.
- No need to ship external libraries: m2eclipse manages downloading
and installing them.
- Generated files contained inside "target" folder, instead of spread
through several directories.
- GWT completely integrated in Eclipse: you can run it from Eclipse as
you do now.
- Version updates as easy as doing a single change in the POM.
- Maven completely hidden if you don't care about it.
Cons:
- m2eclipse is required to work on Eclipse (it also includes Maven, so
no need to install Maven separately)
In any case, users of Emite don't need to care about Maven at all if
they don't want to. They can use the released JARs any way they want.
This is only for Emite developers working on Eclipse.
What do you think about these? Is installing m2eclipse a problem for
you? What should we do about it?
-xose
By the way, I normally use 2) in other projects and my attempts to use
3) (or IAM/Q4E) were no always successful (probably were my fault or the
incompatibilities between maven/gwt/eclipse at the beginning).
Anyway 1) 2) or 3) sounds good to me.
And what about to try to make m2eclipse optional?
Some links:
http://amplicate.com/hate/m2eclipse
http://stackoverflow.com/questions/305250/which-is-the-best-maven-eclipse-plugin
"m2eclipse is moving to eclipse.org and will be included in the Indigo
release train (Eclipse 3.7)."
Bests, and good job Xose,
Vicente
El 21/03/11 16:21, xose escribi�:
--
Vicente J. Ruiz Jurado
http://comunes.org
http://ourproject.org
http://homes.ourproject.org/~vjrj/blog
"Al tratar de oponernos a la Naturaleza, en el mismo proceso de
hacerlo, actuamos de acuerdo a las leyes de la naturaleza" [Goethe]
Nice email, Xose: very well exaplined...
Just a little thing: what I suggested in our chat is let the people
use all this infrastructure *optionally*. I don't want is to force any
emite developer to use one plugin or another. Like the
eclipse-google-plugin, that right now its optional (but, obviously,
recommended), I would like to do the same with m2 and maven... So what
I suggest is ensure that all options are possible (I personally had a
bad experience with m2eclipse that I don't want to repeat...) ...
Saludos,
Dani
My preferred choice would be (3) but I am happy to go along with any of
them.
Thanks,
Ash
Hello:
Saludos,
Dani
--
You received this message because you are subscribed to the Google Groups
"emite-dev" group.
To post to this group, send email to emit...@googlegroups.com.
To unsubscribe from this group, send email to
emite-dev+...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/emite-dev?hl=en.