Hi Brett,

Thank you very much.
I've reorganized my projects a bit so that child-POM's are in a subdirectory of their parent.
Everything works fine now.
The reason for setting up a flat project-structure is that I am using Eclipse which does not allow nested projects.


- Peter

Brett Porter wrote:

You are (mostly) correct. The ordering is currently by dependencies,
then alphabetical. It should be in the following order:
- dependencies
- parent relationships
- module ordering

We haven't noticed, as we consider the best practice to be that the
parent you extend is always the directory one level up.

Nevertheless, I will file this in JIRA.

- Brett

On 4/20/05, Peter van de Hoef <[EMAIL PROTECTED]> wrote:


Hi all,

I am having a problem with building/installing POM's that depend on each
other.
My question is: how can I enfore a specific build order in multiproject
builds?

Basically, the configuration (stripped down to be able to isolate the
problem) is as follows:
A 'parent':

   <project>
       <name>Parent POM</name>
       <groupId>_test</groupId>
       <artifactId>parent</artifactId>
       <version>1.0-SNAPSHOT</version>
       <packaging>pom</packaging>
   </project>

and a 'child' that extends the 'parent':

   <project>
       <name>Child POM</name>
       <groupId>_test</groupId>
       <artifactId>child</artifactId>
       <version>1.0-SNAPSHOT</version>
       <packaging>pom</packaging>
       <parent>
           <groupId>_test</groupId>
           <artifactId>parent</artifactId>
           <version>1.0-SNAPSHOT</version>
       </parent>
   </project>

So far, so good.
Now I am trying to build  these two POM's with a third one which looks like:

   <project>
       <groupId>_test</groupId>
       <artifactId>modules</artifactId>
       <version>1.0-SNAPSHOT</version>
       <packaging>pom</packaging>
       <modules>
           <module>parent</module>
           <module>child</module>
       </modules>
   </project>

The 'parent' and 'child' POM's are located in a 'parent' and 'child'
subdirectory under the directory of this last POM.

When I run 'm2 install' on this last POM, the build fails because it
tries to build the the 'child' before the 'parent'.
Since the child is based on the parent, it will try to download it which
fails since it hasn't been build and deployed.

Apparently the modules are not built in the order in which they are
specified in the <modules> section but alphabetically, since when I
change the name of the 'child' directory to 'zchild' the build order is
correct. It builds the parent first (Note that only the directory name
had to be changed, not the <artifactId>).

My question is: how can I enfore a specific build order in multiproject
builds?
Is a parent-child relationship not automatically considered a dependency
in a multiproject?
I tried to solve it by explicitly stating that the child depends on the
parent by inserting a <dependency> in the child but that did not work.

Any help is appreciated.
Thanks in advance,
Peter van de Hoef

---------------------------------------------------------------------
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]






--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to