I think this looks pretty sweet and similar to the proposal I
wrote last
year (but didn't implement yet):
http://docs.codehaus.org/display/MAVEN/Make+Like+Reactor+Mode
I think that this really belongs in core. Now that trunk has
moved to
3.0 and we will have a new 2.1 branch (when we decide to cut it
from
2.0.10 or 2.0.9...not sure where the current one came from), this
would
be perfect to fit in as a new feature. I don't want the new 2.1.0
to
grow into a monster so for example we could implement this and
release
it, then we could add the parallel download and release as 2.2 etc.
-----Original Message-----
From: Dan Fabulich [mailto:[EMAIL PROTECTED]
Sent: Thursday, August 14, 2008 8:38 PM
To: Maven Users List; Maven Developers List
Subject: New sandbox plugin: maven-reactor-plugin
I've checked in a new plugin to the sandbox called the "Maven
Reactor
Plugin". You can use it to build a subset of interdependent
projects in
a
reactor. It should be useful in large reactor builds that include
irrelevant stuff you're not working on.
It includes the following goals:
reactor:resume - resume a reactor at a certain point (e.g. when
it fails
in the middle)
Example: mvn reactor:resume -Dfrom=bar
reactor:make - build a project X and all of the reactor projects on
which
X depends
Example: mvn reactor:make -Dmake.folders=foo,bar
reactor:makeDependents - build a project X and all of the reactor
projects
that depend on X
Example: mvn reactor:make -Dmake.folders=foo,bar
(e.g. if foo depends on baz and quz depends on bar, :make will
build
foo,bar,baz whereas :makeDependents will build foo,bar,quz)
reactor:makeMyChanges - build all reactor projects that you
personally
have changed (according to SCM) and all reactor projects that
depend
on your changes
Example: mvn reactor:makeMyChanges
All of these take an argument -Dmake.printOnly which you can use
to see
what the plugin would have done without actually doing it. (This
is
handy
for debugging and exploration.)
This plugin was easy to write, so I fear that it may duplicate
other
work,
or that there may already be some clever command line tool to do
this
stuff.
Feedback is appreciated. It seems to kinda-sorta work on my
machine.
The sources are here:
https://svn.apache.org/repos/asf/maven/sandbox/trunk/plugins/maven-react
or-plugin
there are some TODOs:
http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-reactor-p
lugin/TODO.txt?view=markup
I've deployed a snapshot:
http://people.apache.org/repo/m2-snapshot-repository/org/apache/maven/pl
ugins/maven-reactor-plugin/
If you want to try it on your machine, copy and paste this POM
into a
file (e.g. myfile.xml):
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>example</groupId>
<artifactId>example</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>example</name>
<dependencies>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-reactor-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<type>maven-plugin</type>
</dependency>
</dependencies>
<repositories>
<repository>
<id>apache-snapshots</id>
<url>http://people.apache.org/repo/m2-snapshot-repository/</
url>
</repository>
</repositories>
</project>
Then run "mvn -U -cpu -f myfile.xml dependency:resolve". That
should
download the deployed snapshot into your local repository.
Since it's a snapshot, you'll have to run it like this:
mvn org.apache.maven.plugins:maven-reactor-plugin:1.0-SNAPSHOT:make
-Dmake.printOnly -Dmake.folders=foo
Please do that and e-mail me to let me know what breaks, or tell
me that
I'm an idiot. :-)
-Dan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]