Platform: maven-2.0.8, maven-dependency-plugin 2.0-alpha-4,
maven-antrun-plugin 1.1, maven-jar-plugin 2.1
Why does maven lifecycles fork? Ie. what makes them fork?
I have a setup where I use dependency:copy to pull in some files from
the maven repository, and put them under target/classes/. I've put them
in <phase>generate-sources</phase>.
Then I've created an antrun:run task in <phase>process-sources</phase>
that moves some files to a new name.
What happens is that the dependency:copy is run twice, and sometimes
thrice in a "mvn install" (thrice if its run as part of a
multi-project). I have no idea what makes it do that.
After the first copying it does an [antrun:run] to fix the file names,
and then a [jar:jar] with presumably the correct content.
Before the second execution of dependency:copy it says:
[WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
But it still does a [jar:jar] after the copying has been done again, and
creates a jar with both the copied in artifacts with their old name, and
their new names (since there is no [antrun:run] here, fixing the file
names before doing the jar, and the renamed artifacts from the previous
antrun:run are still present).
Before the third execution it says
[WARNING] Removing: jar from forked lifecycle, to prevent recursive invocation.
[WARNING] Removing: test-jar from forked lifecycle, to prevent recursive
invocation.
and at the end of the copying it does another [jar:jar] but no
[antrun:run]
I have no idea what forks the lifecycles, and just a vague idea what it
means. I have no idea why [jar:jar] is run, even though it says it's
not going to run it (actually it doesn't look like it's actually run
until after the last dependency:copy, but since the fixes have been
overwritten once or twice, that doesn't really matter).
I've tried putting the antrun:run in compile, process-test-sources, and
test, and still only one of the lifecycles use it.
I've put it in package, but then it's run after the jar:jar in the final
phase, which is too late (the jar has already been built).
I guess I could unzip the jar in the packaging phase, fix the contents
of the jar, and jar it up again in the antrun:run, but that really
sounds like a hack...?
Any other ideas are welcome...
Thanx!
- Steinar
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]