You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Kr...@sonynetservices.com on 2003/05/20 08:12:13 UTC

Reactor execution order?

Hi all!
Can somebody tell me how the reactor really works?
If I have a project structure that looks like this:

/-MyProject
 |
 |-MySubProject1
 |
 |-MySubProject2
 |
 |-MySubProject3

Can I then define a dependency like this?

MySubProject2 depends on MySubProject3
MySubProject2 depends on MySubProject1
MySubProject1 depends on MySubProject3

And get the reactor to execute in the following order:

1. MySubProject3
2. MySubProject1
3. MySubProject2

If this is possible then, can somebody tell me how? By the way I want to
use the reactor, and not define my execution order by using many
attainGoal tags.

Thanks,
Kristinn Danielsson

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Reactor execution order?

Posted by "Mark H. Wilkinson" <mh...@kremvax.net>.
On Tue, 2003-05-20 at 08:23, Martin Skopp wrote:
> On Tue, 2003-05-20 at 08:12, Kristinn_Danielson@sonynetservices.com
> wrote:
> > Can somebody tell me how the reactor really works?
> 
> reactor determines execution order automagically.
> just trust maven ;-)

That's not very helpful! :-)

I'll explain how I think it works, and hopefully someone else will
correct me if I'm wrong anywhere...

Each project has a unique id derived from the <id> and (optionally)
<groupId> tags in the POM.

Each <dependency> in the POM specifies a unique id using <groupId> and
<id> or <artifactId>.

The reactor builds a dependency graph by tying one projects'
<dependency> to the project with the same unique id, if one exists in
the set of projects the reactor has loaded. It then generates a
processing order that makes sure each project appears after all its
dependencies.

Note that none of the above makes assumptions about what is generated by
attaining a particular goal in a project. At build time dependencies are
converted into references to files in the repository, so any artifacts
generated by a dependent project must be installed into the local
repository (for example, with jar:install) to make them available to the
depending project.

This means that (I think) you could have a container project that uses
the reactor to both build a set of jar files and generate web sites for
each sub-project. The ordering produced by the reactor would be the same
because it doesn't take into account the artifacts being generated.

-Mark.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Reactor execution order?

Posted by Martin Skopp <sk...@riege.de>.
On Tue, 2003-05-20 at 08:12, Kristinn_Danielson@sonynetservices.com
wrote:
> Can somebody tell me how the reactor really works?
> Can I then define a dependency like this?
> 
> MySubProject2 depends on MySubProject3
> MySubProject2 depends on MySubProject1
> MySubProject1 depends on MySubProject3
> 
> And get the reactor to execute in the following order:
> 
> 1. MySubProject3
> 2. MySubProject1
> 3. MySubProject2

reactor determines execution order automagically.
just trust maven ;-)
-- 
Martin Skopp
Riege Software International GmbH
Support: mailto:maint@riege.com, Information: http://www.riege.com

This email is intended to be viewed with a nonproportional font.
Public Key on http://www.keyserver.net, Key-ID: 3D4027B5
Fingerprint: 1970 C78D 9A1D 99FA 5CE4  5C0D 29E6 6A95 3D40 27B5


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org