maven-m2-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brett Porter <>
Subject Re: Problem with phase lifecycle
Date Thu, 03 Mar 2005 12:35:30 GMT
Emmanuel Venisse wrote:

>>cool - I'll take a look. There may still be bugs.
Working now. There were a few bugs I fixed.

>Ok, I'll use this mode.
Ok, so "package" is war:war, and how it is packaged is configured: war
file, exploded webapp, inplace exploded webapp. Do you agree?

>No problem.
>I can use an "assemble" phase (between compile phase and test phase) for run
>a "war:inplace" goal.
Well, only one of assemble and the configuration above is needed...

Just to be clear what each is in m1 terms (as I introduced something new
- war:war produces a war file after first producing an exploded webapp
to war up
- war:webapp produces an exploded webapp in an arbitrary location
- war:inplace produces an exploded webapp in maven.war.src (ie, same
location as sources so no deployment is needed if you point your
appserver at the source, and it copies the classes and libs there).

So war:inplace is really just war:webapp, with the target directory
modified, which can be controlled by the configuration.

Now, we need to determine if war:webapp is a separate goal, an assembly
before war:war, or whether war:war is the only goal and it either
produces a war file, or an exploded webapp depending on the configuration.

I'm loathe to add new phases, but I'd really prefer package actually
wrapped it up into an artifact. Perhaps assemble is a valid new phase.

I'm still not certain. Anyone else have thoughts?

Regardless, it can't be process-classes like now (classes must be
processed before inclusion in the war).

For now, I'd add "assemble" just before "package". As far as Michal's
thoughts about where tests belong - they should either be before
assemble or after package, not in between. I'm leaning towards keeping
them as is for now. This will not run integration tests, and you can
always either
a) disable tests during a dev cycle
b) not put the tests in the webapp (I tended to put all the code in a
JAR, and the war only had integration tests, which will come after package).

>"war:inplace" and "war:war" share some code for copy dependencies in
>What do you think?
Definitely, all should share as much as possible.

- Brett

View raw message