You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by amit kumar <am...@gmail.com> on 2008/03/18 09:42:18 UTC

Customizing Build order

Hi,
I have a multi-module project with the following structure.

Root
      -A
          -A1
          -A2
          -A3
      -B
          -B1
          -B2
          -B3
          -B4


In the Root's pom i have mentioned my modules as:
<module>A</module>
<module>B</module>

Now is there a way that I can change the normal build order(which is)

-Root
-A
-A1
-A2
-A3
-B
-B1
-B2
-B3
-B4


to something like

-Root
-A
-A1
-A2
-B
-B1
-B2
-A3
-B4

It is actually a requirement. But I doubt that there is a possibility that
the CVS structure itself is not competent enough then to handle inter-module
dependencies.

Any inputs?

Thanks and regards,
Amit Kumar

Re: Customizing Build order

Posted by "simon.kitching@chello.at" <si...@chello.at>.
amit kumar schrieb:
> Hi,
> I have a multi-module project with the following structure.
>
> Root
>       -A
>           -A1
>           -A2
>           -A3
>       -B
>           -B1
>           -B2
>           -B3
>           -B4
>
>
> In the Root's pom i have mentioned my modules as:
> <module>A</module>
> <module>B</module>
>
> Now is there a way that I can change the normal build order(which is)
>
> -Root
> -A
> -A1
> -A2
> -A3
> -B
> -B1
> -B2
> -B3
> -B4
>
>
> to something like
>
> -Root
> -A
> -A1
> -A2
> -B
> -B1
> -B2
> -A3
> -B4
>
> It is actually a requirement. But I doubt that there is a possibility that
> the CVS structure itself is not competent enough then to handle inter-module
> dependencies.
>
> Any inputs?
>   

Man, that is a seriously weird and twisted "requirement".

I know of no way to get maven to do this, and see no reason why such a
feature should exist in maven.

It looks to me like you should fix whatever problem exists in your
source code that requires this weird build setup rather than distorting
your build system to handle it.

Regards, Simon


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


RE: Customizing Build order

Posted by "Brian E. Fox" <br...@reply.infinity.nu>.
Not entirely true. If you do compile it will get a handle to the classes
in the dependencies target folder. Package will get a handle to the jar
in the target folder. 

The problem is sometimes this isn't enough for a plugin to do what it
needs. So yes you really should just do install in a multimodule build
and it will work.

-----Original Message-----
From: amit kumar [mailto:amit.kumar97400@gmail.com] 
Sent: Saturday, March 22, 2008 4:22 AM
To: Maven Users List
Subject: Re: Customizing Build order

Yes. But even from parent pom, only mvn install or higher works,
anything
lower than install results in an error if the dependency project not in
local repository otherwise if there takes an older version existing in
local
repository or remote.

Regards,
Amit

On Fri, Mar 21, 2008 at 7:56 PM, Brian E. Fox <br...@reply.infinity.nu>
wrote:

> What you are asking for doesn't exist, but is covered by some
proposals:
>
> http://docs.codehaus.org/display/MAVEN/Make+Like+Reactor+Mode
> http://jira.codehaus.org/browse/MNG-2576
> http://jira.codehaus.org/browse/MNG-1694
>
> The reordering only happens when you build from a parent pom that
> aggregates all your children. Otherwise, currently, you need to have
the
> dependencies installed in your repository.
>
> --Brian
>
> -----Original Message-----
> From: amit kumar [mailto:amit.kumar97400@gmail.com]
> Sent: Friday, March 21, 2008 9:32 AM
> To: Maven Users List
> Subject: Re: Customizing Build order
>
> How to list that dependency? I do have the dependency of A3 on B1 and
> B2(in
> the <dependency> tag as jar). But that doesn't seems to make Maven go
to
> build B1 and B2 when building A3 because I guess it looks in the
> repository,
> if not there it throws an error.
>
> If it has been working in this way, it would have been the solution.
But
> I
> am not able to see that happening.
>
> Is there a different way of mentioning a project As' dependency on
> another
> projectB that would trigger the build of projectB as soon as it finds
in
> the
> dependencies? of that project?
>
>
> Regards,
> Amit.
>
> On Wed, Mar 19, 2008 at 6:49 AM, Brian E. Fox
<br...@reply.infinity.nu>
> wrote:
>
> > Maven starts with the ordering listed in the poms (A and its
children,
> > then B and its children, etc) unless there is a dependency. If it
sees
> a
> > dependency, then it will automatically reorder by pushing down
modules
> > that have a dependency so they build after their dep.
> >
> > I'm wondering why the order matters if you don't have a dependency
> > listed (I'm assuming you don't or it would be ordered already).
> >
> > -----Original Message-----
> > From: amit kumar [mailto:amit.kumar97400@gmail.com]
> > Sent: Tuesday, March 18, 2008 4:42 AM
> > To: Maven Users List
> > Subject: Customizing Build order
> >
> > Hi,
> > I have a multi-module project with the following structure.
> >
> > Root
> >      -A
> >          -A1
> >          -A2
> >          -A3
> >      -B
> >          -B1
> >          -B2
> >          -B3
> >          -B4
> >
> >
> > In the Root's pom i have mentioned my modules as:
> > <module>A</module>
> > <module>B</module>
> >
> > Now is there a way that I can change the normal build order(which
is)
> >
> > -Root
> > -A
> > -A1
> > -A2
> > -A3
> > -B
> > -B1
> > -B2
> > -B3
> > -B4
> >
> >
> > to something like
> >
> > -Root
> > -A
> > -A1
> > -A2
> > -B
> > -B1
> > -B2
> > -A3
> > -B4
> >
> > It is actually a requirement. But I doubt that there is a
possibility
> > that
> > the CVS structure itself is not competent enough then to handle
> > inter-module
> > dependencies.
> >
> > Any inputs?
> >
> > Thanks and regards,
> > Amit Kumar
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

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


Re: Customizing Build order

Posted by amit kumar <am...@gmail.com>.
Yes. But even from parent pom, only mvn install or higher works, anything
lower than install results in an error if the dependency project not in
local repository otherwise if there takes an older version existing in local
repository or remote.

Regards,
Amit

On Fri, Mar 21, 2008 at 7:56 PM, Brian E. Fox <br...@reply.infinity.nu>
wrote:

> What you are asking for doesn't exist, but is covered by some proposals:
>
> http://docs.codehaus.org/display/MAVEN/Make+Like+Reactor+Mode
> http://jira.codehaus.org/browse/MNG-2576
> http://jira.codehaus.org/browse/MNG-1694
>
> The reordering only happens when you build from a parent pom that
> aggregates all your children. Otherwise, currently, you need to have the
> dependencies installed in your repository.
>
> --Brian
>
> -----Original Message-----
> From: amit kumar [mailto:amit.kumar97400@gmail.com]
> Sent: Friday, March 21, 2008 9:32 AM
> To: Maven Users List
> Subject: Re: Customizing Build order
>
> How to list that dependency? I do have the dependency of A3 on B1 and
> B2(in
> the <dependency> tag as jar). But that doesn't seems to make Maven go to
> build B1 and B2 when building A3 because I guess it looks in the
> repository,
> if not there it throws an error.
>
> If it has been working in this way, it would have been the solution. But
> I
> am not able to see that happening.
>
> Is there a different way of mentioning a project As' dependency on
> another
> projectB that would trigger the build of projectB as soon as it finds in
> the
> dependencies? of that project?
>
>
> Regards,
> Amit.
>
> On Wed, Mar 19, 2008 at 6:49 AM, Brian E. Fox <br...@reply.infinity.nu>
> wrote:
>
> > Maven starts with the ordering listed in the poms (A and its children,
> > then B and its children, etc) unless there is a dependency. If it sees
> a
> > dependency, then it will automatically reorder by pushing down modules
> > that have a dependency so they build after their dep.
> >
> > I'm wondering why the order matters if you don't have a dependency
> > listed (I'm assuming you don't or it would be ordered already).
> >
> > -----Original Message-----
> > From: amit kumar [mailto:amit.kumar97400@gmail.com]
> > Sent: Tuesday, March 18, 2008 4:42 AM
> > To: Maven Users List
> > Subject: Customizing Build order
> >
> > Hi,
> > I have a multi-module project with the following structure.
> >
> > Root
> >      -A
> >          -A1
> >          -A2
> >          -A3
> >      -B
> >          -B1
> >          -B2
> >          -B3
> >          -B4
> >
> >
> > In the Root's pom i have mentioned my modules as:
> > <module>A</module>
> > <module>B</module>
> >
> > Now is there a way that I can change the normal build order(which is)
> >
> > -Root
> > -A
> > -A1
> > -A2
> > -A3
> > -B
> > -B1
> > -B2
> > -B3
> > -B4
> >
> >
> > to something like
> >
> > -Root
> > -A
> > -A1
> > -A2
> > -B
> > -B1
> > -B2
> > -A3
> > -B4
> >
> > It is actually a requirement. But I doubt that there is a possibility
> > that
> > the CVS structure itself is not competent enough then to handle
> > inter-module
> > dependencies.
> >
> > Any inputs?
> >
> > Thanks and regards,
> > Amit Kumar
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

RE: Customizing Build order

Posted by "Brian E. Fox" <br...@reply.infinity.nu>.
What you are asking for doesn't exist, but is covered by some proposals:

http://docs.codehaus.org/display/MAVEN/Make+Like+Reactor+Mode
http://jira.codehaus.org/browse/MNG-2576
http://jira.codehaus.org/browse/MNG-1694

The reordering only happens when you build from a parent pom that
aggregates all your children. Otherwise, currently, you need to have the
dependencies installed in your repository.

--Brian

-----Original Message-----
From: amit kumar [mailto:amit.kumar97400@gmail.com] 
Sent: Friday, March 21, 2008 9:32 AM
To: Maven Users List
Subject: Re: Customizing Build order

How to list that dependency? I do have the dependency of A3 on B1 and
B2(in
the <dependency> tag as jar). But that doesn't seems to make Maven go to
build B1 and B2 when building A3 because I guess it looks in the
repository,
if not there it throws an error.

If it has been working in this way, it would have been the solution. But
I
am not able to see that happening.

Is there a different way of mentioning a project As' dependency on
another
projectB that would trigger the build of projectB as soon as it finds in
the
dependencies? of that project?


Regards,
Amit.

On Wed, Mar 19, 2008 at 6:49 AM, Brian E. Fox <br...@reply.infinity.nu>
wrote:

> Maven starts with the ordering listed in the poms (A and its children,
> then B and its children, etc) unless there is a dependency. If it sees
a
> dependency, then it will automatically reorder by pushing down modules
> that have a dependency so they build after their dep.
>
> I'm wondering why the order matters if you don't have a dependency
> listed (I'm assuming you don't or it would be ordered already).
>
> -----Original Message-----
> From: amit kumar [mailto:amit.kumar97400@gmail.com]
> Sent: Tuesday, March 18, 2008 4:42 AM
> To: Maven Users List
> Subject: Customizing Build order
>
> Hi,
> I have a multi-module project with the following structure.
>
> Root
>      -A
>          -A1
>          -A2
>          -A3
>      -B
>          -B1
>          -B2
>          -B3
>          -B4
>
>
> In the Root's pom i have mentioned my modules as:
> <module>A</module>
> <module>B</module>
>
> Now is there a way that I can change the normal build order(which is)
>
> -Root
> -A
> -A1
> -A2
> -A3
> -B
> -B1
> -B2
> -B3
> -B4
>
>
> to something like
>
> -Root
> -A
> -A1
> -A2
> -B
> -B1
> -B2
> -A3
> -B4
>
> It is actually a requirement. But I doubt that there is a possibility
> that
> the CVS structure itself is not competent enough then to handle
> inter-module
> dependencies.
>
> Any inputs?
>
> Thanks and regards,
> Amit Kumar
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

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


Re: Customizing Build order

Posted by Joshua ChaitinPollak <jp...@kivasystems.com>.
The problem still exists. If you had a modules.xml, you're still  
supporting building multiple projects at once. As long as you support  
building multiple projects at once, you have two options:

1) Support all the possible intricacies of inter-phase dependencies
2) ONLY accept 'install' and higher a possible phases.

The reason uber poms are helpful to our project is that we have code  
that needs to be logically separate from each other, but the same  
developers work on both modules. working in a 'constantly install'  
development paradigm is painful, although I do appreciate the nicety  
of not having relative paths, and we have some projects that are  
separate enough from out central product that we don't have one uber  
pom.

The server, server-integration-tests setup I described below is a good  
example. Its confusing for developers to have to install the server,  
just to run their integration test. I want them to code their new  
server code, code their unit test, and code their integration test,  
without having to worry about which version of the snapshot of the  
server jar is currently in their local repository, or if they forgot  
to install it in the local repository, are they using yesterdays  
continuous integration build from the share repository?

That sort of confusion is exactly why I get a lot of the same feedback  
Jason was referring to in the other thread, although I haven't gotten  
negative feedback in a review because if it. If I did, I'd drop maven  
like a hot potato. On that note, I've learned development  
infrastructure technology change never wins you friends or gets you  
fame. You might be able to prove people are wasting 1/4 of their time  
with ant for example, but you'll never recover from the agony of a  
year long migration to something better (maven).

-Josh

On Mar 21, 2008, at 10:39 AM, simon.kitching@chello.at wrote:

> And rip out the <module> functionality from poms too. Instead, have
> maven support "module.xml" files which contain a list of <module>
> definitions and nothing else. Then the confusion over parent-poms vs
> poms that just happen to be in the parent directory would go away too.
>
> simon.kitching@chello.at schrieb:
>> I'd rather go the other way. Rip out the ability to reference parent
>> poms using relative paths, and these sort of reports would go away,
>> because it's *clear* that building A3 will not cause B1 or B2 to be  
>> built.
>>
>> Using relative paths to poms solves a small subset of problems, in
>> smallish projects. But when projects start to scale up, relative  
>> paths
>> don't work. And they make people *think* in path-oriented ways,  
>> rather
>> than thinking in repository-oriented ways.
>>
>> Regards,
>> Simon
>>
>> Joshua ChaitinPollak schrieb:
>>
>>> I've noticed the following behavior, which I find a bit frustrating:
>>>
>>> Using Amit's project layout below, if I cd into A3 and run 'mvn
>>> compile', its going to use the B1 and B2 projects from my local
>>> repository, even if I referenced a parent pom in A3. I wish Maven
>>> would use the parent pom to determine if B1 and B2 were available,  
>>> and
>>> compile them as well.
>>>
>>> In addition, I've noticed that maven gets confused if you have  
>>> modules
>>> depend on the test jars (or worse, assemblies) of other modules. For
>>> example, I have this setup:
>>>
>>> Root
>>>   - server
>>>   - server-integration-tests
>>>
>>> The server-integration-tests are implemented as tests (so no
>>> production code), but the project has a dependency on the server,  
>>> the
>>> server:test-jar, as well as the server:tar.bz2.
>>>
>>> But when I run mvn test-compile from root, I get errors saying that
>>> the server:test-jar and server:tar-bz2 cannot be found.
>>>
>>> My only option is to run "mvn install", which seems to work.
>>>
>>> I guess what I'm saying is that maven only runs the phase you
>>> specified at the commandline, for all modules in the pom, and I wish
>>> it would take phase into consideration when executing  
>>> dependencies. If
>>> I run:
>>>
>>> mvn test-compile at the root of my project, it should be smart  
>>> enough
>>> to run mvn package on the 'server' module and provide that package  
>>> to
>>> the 'server-integration-tests' module.
>>>
>>> -Josh
>>>
>>> On Mar 21, 2008, at 9:31 AM, amit kumar wrote:
>>>
>>>
>>>> How to list that dependency? I do have the dependency of A3 on B1  
>>>> and
>>>> B2(in
>>>> the <dependency> tag as jar). But that doesn't seems to make  
>>>> Maven go to
>>>> build B1 and B2 when building A3 because I guess it looks in the
>>>> repository,
>>>> if not there it throws an error.
>>>>
>>>> If it has been working in this way, it would have been the  
>>>> solution.
>>>> But I
>>>> am not able to see that happening.
>>>>
>>>> Is there a different way of mentioning a project As' dependency on
>>>> another
>>>> projectB that would trigger the build of projectB as soon as it  
>>>> finds
>>>> in the
>>>> dependencies? of that project?
>>>>
>>>>
>>>> Regards,
>>>> Amit.
>>>>
>>>> On Wed, Mar 19, 2008 at 6:49 AM, Brian E. Fox <brianf@reply.infinity.nu 
>>>> >
>>>> wrote:
>>>>
>>>>
>>>>> Maven starts with the ordering listed in the poms (A and its  
>>>>> children,
>>>>> then B and its children, etc) unless there is a dependency. If it
>>>>> sees a
>>>>> dependency, then it will automatically reorder by pushing down  
>>>>> modules
>>>>> that have a dependency so they build after their dep.
>>>>>
>>>>> I'm wondering why the order matters if you don't have a dependency
>>>>> listed (I'm assuming you don't or it would be ordered already).
>>>>>
>>>>> -----Original Message-----
>>>>> From: amit kumar [mailto:amit.kumar97400@gmail.com]
>>>>> Sent: Tuesday, March 18, 2008 4:42 AM
>>>>> To: Maven Users List
>>>>> Subject: Customizing Build order
>>>>>
>>>>> Hi,
>>>>> I have a multi-module project with the following structure.
>>>>>
>>>>> Root
>>>>>    -A
>>>>>        -A1
>>>>>        -A2
>>>>>        -A3
>>>>>    -B
>>>>>        -B1
>>>>>        -B2
>>>>>        -B3
>>>>>        -B4
>>>>>
>>>>>
>>>>> In the Root's pom i have mentioned my modules as:
>>>>> <module>A</module>
>>>>> <module>B</module>
>>>>>
>>>>> Now is there a way that I can change the normal build  
>>>>> order(which is)
>>>>>
>>>>> -Root
>>>>> -A
>>>>> -A1
>>>>> -A2
>>>>> -A3
>>>>> -B
>>>>> -B1
>>>>> -B2
>>>>> -B3
>>>>> -B4
>>>>>
>>>>>
>>>>> to something like
>>>>>
>>>>> -Root
>>>>> -A
>>>>> -A1
>>>>> -A2
>>>>> -B
>>>>> -B1
>>>>> -B2
>>>>> -A3
>>>>> -B4
>>>>>
>>>>> It is actually a requirement. But I doubt that there is a  
>>>>> possibility
>>>>> that
>>>>> the CVS structure itself is not competent enough then to handle
>>>>> inter-module
>>>>> dependencies.
>>>>>
>>>>> Any inputs?
>>>>>
>>>>> Thanks and regards,
>>>>> Amit Kumar
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>>
>>>>>
>>>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

-- 
Joshua ChaitinPollak | Software Engineer
Kiva Systems, Inc., 225 Wildwood Ave, Woburn, MA 01970







Re: Customizing Build order

Posted by Jason van Zyl <ja...@maven.org>.
On 21-Mar-08, at 7:39 AM, simon.kitching@chello.at wrote:

> And rip out the <module> functionality from poms too. Instead, have
> maven support "module.xml" files which contain a list of <module>
> definitions and nothing else. Then the confusion over parent-poms vs
> poms that just happen to be in the parent directory would go away too.
>

I don't see splitting out a module.xml file as overly helpful. No  
doubt some clarification is necessary on how dependencies, modules and  
parent POM references work but I still think there is enormous value  
in having it all in one place.

> simon.kitching@chello.at schrieb:
>> I'd rather go the other way. Rip out the ability to reference parent
>> poms using relative paths, and these sort of reports would go away,
>> because it's *clear* that building A3 will not cause B1 or B2 to be  
>> built.
>>
>> Using relative paths to poms solves a small subset of problems, in
>> smallish projects. But when projects start to scale up, relative  
>> paths
>> don't work. And they make people *think* in path-oriented ways,  
>> rather
>> than thinking in repository-oriented ways.
>>
>> Regards,
>> Simon
>>
>> Joshua ChaitinPollak schrieb:
>>
>>> I've noticed the following behavior, which I find a bit frustrating:
>>>
>>> Using Amit's project layout below, if I cd into A3 and run 'mvn
>>> compile', its going to use the B1 and B2 projects from my local
>>> repository, even if I referenced a parent pom in A3. I wish Maven
>>> would use the parent pom to determine if B1 and B2 were available,  
>>> and
>>> compile them as well.
>>>
>>> In addition, I've noticed that maven gets confused if you have  
>>> modules
>>> depend on the test jars (or worse, assemblies) of other modules. For
>>> example, I have this setup:
>>>
>>> Root
>>>   - server
>>>   - server-integration-tests
>>>
>>> The server-integration-tests are implemented as tests (so no
>>> production code), but the project has a dependency on the server,  
>>> the
>>> server:test-jar, as well as the server:tar.bz2.
>>>
>>> But when I run mvn test-compile from root, I get errors saying that
>>> the server:test-jar and server:tar-bz2 cannot be found.
>>>
>>> My only option is to run "mvn install", which seems to work.
>>>
>>> I guess what I'm saying is that maven only runs the phase you
>>> specified at the commandline, for all modules in the pom, and I wish
>>> it would take phase into consideration when executing  
>>> dependencies. If
>>> I run:
>>>
>>> mvn test-compile at the root of my project, it should be smart  
>>> enough
>>> to run mvn package on the 'server' module and provide that package  
>>> to
>>> the 'server-integration-tests' module.
>>>
>>> -Josh
>>>
>>> On Mar 21, 2008, at 9:31 AM, amit kumar wrote:
>>>
>>>
>>>> How to list that dependency? I do have the dependency of A3 on B1  
>>>> and
>>>> B2(in
>>>> the <dependency> tag as jar). But that doesn't seems to make  
>>>> Maven go to
>>>> build B1 and B2 when building A3 because I guess it looks in the
>>>> repository,
>>>> if not there it throws an error.
>>>>
>>>> If it has been working in this way, it would have been the  
>>>> solution.
>>>> But I
>>>> am not able to see that happening.
>>>>
>>>> Is there a different way of mentioning a project As' dependency on
>>>> another
>>>> projectB that would trigger the build of projectB as soon as it  
>>>> finds
>>>> in the
>>>> dependencies? of that project?
>>>>
>>>>
>>>> Regards,
>>>> Amit.
>>>>
>>>> On Wed, Mar 19, 2008 at 6:49 AM, Brian E. Fox <brianf@reply.infinity.nu 
>>>> >
>>>> wrote:
>>>>
>>>>
>>>>> Maven starts with the ordering listed in the poms (A and its  
>>>>> children,
>>>>> then B and its children, etc) unless there is a dependency. If it
>>>>> sees a
>>>>> dependency, then it will automatically reorder by pushing down  
>>>>> modules
>>>>> that have a dependency so they build after their dep.
>>>>>
>>>>> I'm wondering why the order matters if you don't have a dependency
>>>>> listed (I'm assuming you don't or it would be ordered already).
>>>>>
>>>>> -----Original Message-----
>>>>> From: amit kumar [mailto:amit.kumar97400@gmail.com]
>>>>> Sent: Tuesday, March 18, 2008 4:42 AM
>>>>> To: Maven Users List
>>>>> Subject: Customizing Build order
>>>>>
>>>>> Hi,
>>>>> I have a multi-module project with the following structure.
>>>>>
>>>>> Root
>>>>>    -A
>>>>>        -A1
>>>>>        -A2
>>>>>        -A3
>>>>>    -B
>>>>>        -B1
>>>>>        -B2
>>>>>        -B3
>>>>>        -B4
>>>>>
>>>>>
>>>>> In the Root's pom i have mentioned my modules as:
>>>>> <module>A</module>
>>>>> <module>B</module>
>>>>>
>>>>> Now is there a way that I can change the normal build  
>>>>> order(which is)
>>>>>
>>>>> -Root
>>>>> -A
>>>>> -A1
>>>>> -A2
>>>>> -A3
>>>>> -B
>>>>> -B1
>>>>> -B2
>>>>> -B3
>>>>> -B4
>>>>>
>>>>>
>>>>> to something like
>>>>>
>>>>> -Root
>>>>> -A
>>>>> -A1
>>>>> -A2
>>>>> -B
>>>>> -B1
>>>>> -B2
>>>>> -A3
>>>>> -B4
>>>>>
>>>>> It is actually a requirement. But I doubt that there is a  
>>>>> possibility
>>>>> that
>>>>> the CVS structure itself is not competent enough then to handle
>>>>> inter-module
>>>>> dependencies.
>>>>>
>>>>> Any inputs?
>>>>>
>>>>> Thanks and regards,
>>>>> Amit Kumar
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>>
>>>>>
>>>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>

Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder,  Apache Maven
jason at sonatype dot com
----------------------------------------------------------

First, the taking in of scattered particulars under one Idea,
so that everyone understands what is being talked about ... Second,
the separation of the Idea into parts, by dividing it at the joints,
as nature directs, not breaking any limb in half as a bad carver might.

-- Plato, Phaedrus (Notes on the Synthesis of Form by C. Alexander) 




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


Re: Customizing Build order

Posted by "simon.kitching@chello.at" <si...@chello.at>.
And rip out the <module> functionality from poms too. Instead, have
maven support "module.xml" files which contain a list of <module>
definitions and nothing else. Then the confusion over parent-poms vs
poms that just happen to be in the parent directory would go away too.

simon.kitching@chello.at schrieb:
> I'd rather go the other way. Rip out the ability to reference parent
> poms using relative paths, and these sort of reports would go away,
> because it's *clear* that building A3 will not cause B1 or B2 to be built.
>
> Using relative paths to poms solves a small subset of problems, in
> smallish projects. But when projects start to scale up, relative paths
> don't work. And they make people *think* in path-oriented ways, rather
> than thinking in repository-oriented ways.
>
> Regards,
> Simon
>
> Joshua ChaitinPollak schrieb:
>   
>> I've noticed the following behavior, which I find a bit frustrating:
>>
>> Using Amit's project layout below, if I cd into A3 and run 'mvn
>> compile', its going to use the B1 and B2 projects from my local
>> repository, even if I referenced a parent pom in A3. I wish Maven
>> would use the parent pom to determine if B1 and B2 were available, and
>> compile them as well.
>>
>> In addition, I've noticed that maven gets confused if you have modules
>> depend on the test jars (or worse, assemblies) of other modules. For
>> example, I have this setup:
>>
>> Root
>>    - server
>>    - server-integration-tests
>>
>> The server-integration-tests are implemented as tests (so no
>> production code), but the project has a dependency on the server, the
>> server:test-jar, as well as the server:tar.bz2.
>>
>> But when I run mvn test-compile from root, I get errors saying that
>> the server:test-jar and server:tar-bz2 cannot be found.
>>
>> My only option is to run "mvn install", which seems to work.
>>
>> I guess what I'm saying is that maven only runs the phase you
>> specified at the commandline, for all modules in the pom, and I wish
>> it would take phase into consideration when executing dependencies. If
>> I run:
>>
>> mvn test-compile at the root of my project, it should be smart enough
>> to run mvn package on the 'server' module and provide that package to
>> the 'server-integration-tests' module.
>>
>> -Josh
>>
>> On Mar 21, 2008, at 9:31 AM, amit kumar wrote:
>>
>>     
>>> How to list that dependency? I do have the dependency of A3 on B1 and
>>> B2(in
>>> the <dependency> tag as jar). But that doesn't seems to make Maven go to
>>> build B1 and B2 when building A3 because I guess it looks in the
>>> repository,
>>> if not there it throws an error.
>>>
>>> If it has been working in this way, it would have been the solution.
>>> But I
>>> am not able to see that happening.
>>>
>>> Is there a different way of mentioning a project As' dependency on
>>> another
>>> projectB that would trigger the build of projectB as soon as it finds
>>> in the
>>> dependencies? of that project?
>>>
>>>
>>> Regards,
>>> Amit.
>>>
>>> On Wed, Mar 19, 2008 at 6:49 AM, Brian E. Fox <br...@reply.infinity.nu>
>>> wrote:
>>>
>>>       
>>>> Maven starts with the ordering listed in the poms (A and its children,
>>>> then B and its children, etc) unless there is a dependency. If it
>>>> sees a
>>>> dependency, then it will automatically reorder by pushing down modules
>>>> that have a dependency so they build after their dep.
>>>>
>>>> I'm wondering why the order matters if you don't have a dependency
>>>> listed (I'm assuming you don't or it would be ordered already).
>>>>
>>>> -----Original Message-----
>>>> From: amit kumar [mailto:amit.kumar97400@gmail.com]
>>>> Sent: Tuesday, March 18, 2008 4:42 AM
>>>> To: Maven Users List
>>>> Subject: Customizing Build order
>>>>
>>>> Hi,
>>>> I have a multi-module project with the following structure.
>>>>
>>>> Root
>>>>     -A
>>>>         -A1
>>>>         -A2
>>>>         -A3
>>>>     -B
>>>>         -B1
>>>>         -B2
>>>>         -B3
>>>>         -B4
>>>>
>>>>
>>>> In the Root's pom i have mentioned my modules as:
>>>> <module>A</module>
>>>> <module>B</module>
>>>>
>>>> Now is there a way that I can change the normal build order(which is)
>>>>
>>>> -Root
>>>> -A
>>>> -A1
>>>> -A2
>>>> -A3
>>>> -B
>>>> -B1
>>>> -B2
>>>> -B3
>>>> -B4
>>>>
>>>>
>>>> to something like
>>>>
>>>> -Root
>>>> -A
>>>> -A1
>>>> -A2
>>>> -B
>>>> -B1
>>>> -B2
>>>> -A3
>>>> -B4
>>>>
>>>> It is actually a requirement. But I doubt that there is a possibility
>>>> that
>>>> the CVS structure itself is not competent enough then to handle
>>>> inter-module
>>>> dependencies.
>>>>
>>>> Any inputs?
>>>>
>>>> Thanks and regards,
>>>> Amit Kumar
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>>> For additional commands, e-mail: users-help@maven.apache.org
>>>>
>>>>
>>>>         
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>
>   


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


Re: Customizing Build order

Posted by "simon.kitching@chello.at" <si...@chello.at>.
I'd rather go the other way. Rip out the ability to reference parent
poms using relative paths, and these sort of reports would go away,
because it's *clear* that building A3 will not cause B1 or B2 to be built.

Using relative paths to poms solves a small subset of problems, in
smallish projects. But when projects start to scale up, relative paths
don't work. And they make people *think* in path-oriented ways, rather
than thinking in repository-oriented ways.

Regards,
Simon

Joshua ChaitinPollak schrieb:
> I've noticed the following behavior, which I find a bit frustrating:
>
> Using Amit's project layout below, if I cd into A3 and run 'mvn
> compile', its going to use the B1 and B2 projects from my local
> repository, even if I referenced a parent pom in A3. I wish Maven
> would use the parent pom to determine if B1 and B2 were available, and
> compile them as well.
>
> In addition, I've noticed that maven gets confused if you have modules
> depend on the test jars (or worse, assemblies) of other modules. For
> example, I have this setup:
>
> Root
>    - server
>    - server-integration-tests
>
> The server-integration-tests are implemented as tests (so no
> production code), but the project has a dependency on the server, the
> server:test-jar, as well as the server:tar.bz2.
>
> But when I run mvn test-compile from root, I get errors saying that
> the server:test-jar and server:tar-bz2 cannot be found.
>
> My only option is to run "mvn install", which seems to work.
>
> I guess what I'm saying is that maven only runs the phase you
> specified at the commandline, for all modules in the pom, and I wish
> it would take phase into consideration when executing dependencies. If
> I run:
>
> mvn test-compile at the root of my project, it should be smart enough
> to run mvn package on the 'server' module and provide that package to
> the 'server-integration-tests' module.
>
> -Josh
>
> On Mar 21, 2008, at 9:31 AM, amit kumar wrote:
>
>> How to list that dependency? I do have the dependency of A3 on B1 and
>> B2(in
>> the <dependency> tag as jar). But that doesn't seems to make Maven go to
>> build B1 and B2 when building A3 because I guess it looks in the
>> repository,
>> if not there it throws an error.
>>
>> If it has been working in this way, it would have been the solution.
>> But I
>> am not able to see that happening.
>>
>> Is there a different way of mentioning a project As' dependency on
>> another
>> projectB that would trigger the build of projectB as soon as it finds
>> in the
>> dependencies? of that project?
>>
>>
>> Regards,
>> Amit.
>>
>> On Wed, Mar 19, 2008 at 6:49 AM, Brian E. Fox <br...@reply.infinity.nu>
>> wrote:
>>
>>> Maven starts with the ordering listed in the poms (A and its children,
>>> then B and its children, etc) unless there is a dependency. If it
>>> sees a
>>> dependency, then it will automatically reorder by pushing down modules
>>> that have a dependency so they build after their dep.
>>>
>>> I'm wondering why the order matters if you don't have a dependency
>>> listed (I'm assuming you don't or it would be ordered already).
>>>
>>> -----Original Message-----
>>> From: amit kumar [mailto:amit.kumar97400@gmail.com]
>>> Sent: Tuesday, March 18, 2008 4:42 AM
>>> To: Maven Users List
>>> Subject: Customizing Build order
>>>
>>> Hi,
>>> I have a multi-module project with the following structure.
>>>
>>> Root
>>>     -A
>>>         -A1
>>>         -A2
>>>         -A3
>>>     -B
>>>         -B1
>>>         -B2
>>>         -B3
>>>         -B4
>>>
>>>
>>> In the Root's pom i have mentioned my modules as:
>>> <module>A</module>
>>> <module>B</module>
>>>
>>> Now is there a way that I can change the normal build order(which is)
>>>
>>> -Root
>>> -A
>>> -A1
>>> -A2
>>> -A3
>>> -B
>>> -B1
>>> -B2
>>> -B3
>>> -B4
>>>
>>>
>>> to something like
>>>
>>> -Root
>>> -A
>>> -A1
>>> -A2
>>> -B
>>> -B1
>>> -B2
>>> -A3
>>> -B4
>>>
>>> It is actually a requirement. But I doubt that there is a possibility
>>> that
>>> the CVS structure itself is not competent enough then to handle
>>> inter-module
>>> dependencies.
>>>
>>> Any inputs?
>>>
>>> Thanks and regards,
>>> Amit Kumar
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>>> For additional commands, e-mail: users-help@maven.apache.org
>>>
>>>
>


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


Re: Customizing Build order

Posted by Joshua ChaitinPollak <jp...@kivasystems.com>.
I've noticed the following behavior, which I find a bit frustrating:

Using Amit's project layout below, if I cd into A3 and run 'mvn  
compile', its going to use the B1 and B2 projects from my local  
repository, even if I referenced a parent pom in A3. I wish Maven  
would use the parent pom to determine if B1 and B2 were available, and  
compile them as well.

In addition, I've noticed that maven gets confused if you have modules  
depend on the test jars (or worse, assemblies) of other modules. For  
example, I have this setup:

Root
    - server
    - server-integration-tests

The server-integration-tests are implemented as tests (so no  
production code), but the project has a dependency on the server, the  
server:test-jar, as well as the server:tar.bz2.

But when I run mvn test-compile from root, I get errors saying that  
the server:test-jar and server:tar-bz2 cannot be found.

My only option is to run "mvn install", which seems to work.

I guess what I'm saying is that maven only runs the phase you  
specified at the commandline, for all modules in the pom, and I wish  
it would take phase into consideration when executing dependencies. If  
I run:

mvn test-compile at the root of my project, it should be smart enough  
to run mvn package on the 'server' module and provide that package to  
the 'server-integration-tests' module.

-Josh

On Mar 21, 2008, at 9:31 AM, amit kumar wrote:

> How to list that dependency? I do have the dependency of A3 on B1  
> and B2(in
> the <dependency> tag as jar). But that doesn't seems to make Maven  
> go to
> build B1 and B2 when building A3 because I guess it looks in the  
> repository,
> if not there it throws an error.
>
> If it has been working in this way, it would have been the solution.  
> But I
> am not able to see that happening.
>
> Is there a different way of mentioning a project As' dependency on  
> another
> projectB that would trigger the build of projectB as soon as it  
> finds in the
> dependencies? of that project?
>
>
> Regards,
> Amit.
>
> On Wed, Mar 19, 2008 at 6:49 AM, Brian E. Fox <brianf@reply.infinity.nu 
> >
> wrote:
>
>> Maven starts with the ordering listed in the poms (A and its  
>> children,
>> then B and its children, etc) unless there is a dependency. If it  
>> sees a
>> dependency, then it will automatically reorder by pushing down  
>> modules
>> that have a dependency so they build after their dep.
>>
>> I'm wondering why the order matters if you don't have a dependency
>> listed (I'm assuming you don't or it would be ordered already).
>>
>> -----Original Message-----
>> From: amit kumar [mailto:amit.kumar97400@gmail.com]
>> Sent: Tuesday, March 18, 2008 4:42 AM
>> To: Maven Users List
>> Subject: Customizing Build order
>>
>> Hi,
>> I have a multi-module project with the following structure.
>>
>> Root
>>     -A
>>         -A1
>>         -A2
>>         -A3
>>     -B
>>         -B1
>>         -B2
>>         -B3
>>         -B4
>>
>>
>> In the Root's pom i have mentioned my modules as:
>> <module>A</module>
>> <module>B</module>
>>
>> Now is there a way that I can change the normal build order(which is)
>>
>> -Root
>> -A
>> -A1
>> -A2
>> -A3
>> -B
>> -B1
>> -B2
>> -B3
>> -B4
>>
>>
>> to something like
>>
>> -Root
>> -A
>> -A1
>> -A2
>> -B
>> -B1
>> -B2
>> -A3
>> -B4
>>
>> It is actually a requirement. But I doubt that there is a possibility
>> that
>> the CVS structure itself is not competent enough then to handle
>> inter-module
>> dependencies.
>>
>> Any inputs?
>>
>> Thanks and regards,
>> Amit Kumar
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
>> For additional commands, e-mail: users-help@maven.apache.org
>>
>>

-- 
Joshua ChaitinPollak | Software Engineer
Kiva Systems, Inc., 225 Wildwood Ave, Woburn, MA 01970







Re: Customizing Build order

Posted by amit kumar <am...@gmail.com>.
How to list that dependency? I do have the dependency of A3 on B1 and B2(in
the <dependency> tag as jar). But that doesn't seems to make Maven go to
build B1 and B2 when building A3 because I guess it looks in the repository,
if not there it throws an error.

If it has been working in this way, it would have been the solution. But I
am not able to see that happening.

Is there a different way of mentioning a project As' dependency on another
projectB that would trigger the build of projectB as soon as it finds in the
dependencies? of that project?


Regards,
Amit.

On Wed, Mar 19, 2008 at 6:49 AM, Brian E. Fox <br...@reply.infinity.nu>
wrote:

> Maven starts with the ordering listed in the poms (A and its children,
> then B and its children, etc) unless there is a dependency. If it sees a
> dependency, then it will automatically reorder by pushing down modules
> that have a dependency so they build after their dep.
>
> I'm wondering why the order matters if you don't have a dependency
> listed (I'm assuming you don't or it would be ordered already).
>
> -----Original Message-----
> From: amit kumar [mailto:amit.kumar97400@gmail.com]
> Sent: Tuesday, March 18, 2008 4:42 AM
> To: Maven Users List
> Subject: Customizing Build order
>
> Hi,
> I have a multi-module project with the following structure.
>
> Root
>      -A
>          -A1
>          -A2
>          -A3
>      -B
>          -B1
>          -B2
>          -B3
>          -B4
>
>
> In the Root's pom i have mentioned my modules as:
> <module>A</module>
> <module>B</module>
>
> Now is there a way that I can change the normal build order(which is)
>
> -Root
> -A
> -A1
> -A2
> -A3
> -B
> -B1
> -B2
> -B3
> -B4
>
>
> to something like
>
> -Root
> -A
> -A1
> -A2
> -B
> -B1
> -B2
> -A3
> -B4
>
> It is actually a requirement. But I doubt that there is a possibility
> that
> the CVS structure itself is not competent enough then to handle
> inter-module
> dependencies.
>
> Any inputs?
>
> Thanks and regards,
> Amit Kumar
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

Re: Customizing Build order

Posted by Chris Custine <cc...@apache.org>.
I've never tried this exact scenario, but couldn't you also do this in the
root pom and remove A3 and B4 from the A and B poms respectively?

<module>A</module>
<module>B</module>
<module>A/A3</module>
<module>B/B4</module>

Of course this assumes that previous modules don't depend on A3 or B4.

Chris

On Tue, Mar 18, 2008 at 7:19 PM, Brian E. Fox <br...@reply.infinity.nu>
wrote:

> Maven starts with the ordering listed in the poms (A and its children,
> then B and its children, etc) unless there is a dependency. If it sees a
> dependency, then it will automatically reorder by pushing down modules
> that have a dependency so they build after their dep.
>
> I'm wondering why the order matters if you don't have a dependency
> listed (I'm assuming you don't or it would be ordered already).
>
> -----Original Message-----
> From: amit kumar [mailto:amit.kumar97400@gmail.com]
> Sent: Tuesday, March 18, 2008 4:42 AM
> To: Maven Users List
> Subject: Customizing Build order
>
> Hi,
> I have a multi-module project with the following structure.
>
> Root
>      -A
>          -A1
>          -A2
>          -A3
>      -B
>          -B1
>          -B2
>          -B3
>          -B4
>
>
> In the Root's pom i have mentioned my modules as:
> <module>A</module>
> <module>B</module>
>
> Now is there a way that I can change the normal build order(which is)
>
> -Root
> -A
> -A1
> -A2
> -A3
> -B
> -B1
> -B2
> -B3
> -B4
>
>
> to something like
>
> -Root
> -A
> -A1
> -A2
> -B
> -B1
> -B2
> -A3
> -B4
>
> It is actually a requirement. But I doubt that there is a possibility
> that
> the CVS structure itself is not competent enough then to handle
> inter-module
> dependencies.
>
> Any inputs?
>
> Thanks and regards,
> Amit Kumar
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

RE: Customizing Build order

Posted by "Brian E. Fox" <br...@reply.infinity.nu>.
Maven starts with the ordering listed in the poms (A and its children,
then B and its children, etc) unless there is a dependency. If it sees a
dependency, then it will automatically reorder by pushing down modules
that have a dependency so they build after their dep. 

I'm wondering why the order matters if you don't have a dependency
listed (I'm assuming you don't or it would be ordered already).

-----Original Message-----
From: amit kumar [mailto:amit.kumar97400@gmail.com] 
Sent: Tuesday, March 18, 2008 4:42 AM
To: Maven Users List
Subject: Customizing Build order

Hi,
I have a multi-module project with the following structure.

Root
      -A
          -A1
          -A2
          -A3
      -B
          -B1
          -B2
          -B3
          -B4


In the Root's pom i have mentioned my modules as:
<module>A</module>
<module>B</module>

Now is there a way that I can change the normal build order(which is)

-Root
-A
-A1
-A2
-A3
-B
-B1
-B2
-B3
-B4


to something like

-Root
-A
-A1
-A2
-B
-B1
-B2
-A3
-B4

It is actually a requirement. But I doubt that there is a possibility
that
the CVS structure itself is not competent enough then to handle
inter-module
dependencies.

Any inputs?

Thanks and regards,
Amit Kumar

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


Re: Customizing Build order

Posted by amit kumar <am...@gmail.com>.
Oh Okay. Yes simon you are right.

Thanks for the advise.

Regards,
Amit

On Tue, Mar 18, 2008 at 3:46 PM, David Delbecq <de...@oma.be> wrote:

> En l'instant précis du 18/03/08 09:42, amit kumar s'exprimait en ces
> termes:
> > Hi,
> > I have a multi-module project with the following structure.
> >
> > Root
> >       -A
> >           -A1
> >           -A2
> >           -A3
> >       -B
> >           -B1
> >           -B2
> >           -B3
> >           -B4
> >
> >
> > In the Root's pom i have mentioned my modules as:
> > <module>A</module>
> > <module>B</module>
> >
> > Now is there a way that I can change the normal build order(which is)
> >
> > -Root
> > -A
> > -A1
> > -A2
> > -A3
> > -B
> > -B1
> > -B2
> > -B3
> > -B4
> >
> >
> > to something like
> >
> > -Root
> > -A
> > -A1
> > -A2
> > -B
> > -B1
> > -B2
> > -A3
> > -B4
> >
> > It is actually a requirement. But I doubt that there is a possibility
> that
> > the CVS structure itself is not competent enough then to handle
> inter-module
> > dependencies.
> >
> > Any inputs?
> >
> > Thanks and regards,
> > Amit Kumar
> >
> >
> In the A3 project, add dependencies that point to all other projects you
> need to have compiled before (i suspect you need B2 resources for A3?),
> maven should order them properly.
>
> --
> David Delbecq
> Institut Royal Météorologique
> Ext:557
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

Re: Customizing Build order

Posted by David Delbecq <de...@oma.be>.
En l'instant précis du 18/03/08 09:42, amit kumar s'exprimait en ces 
termes:
> Hi,
> I have a multi-module project with the following structure.
>
> Root
>       -A
>           -A1
>           -A2
>           -A3
>       -B
>           -B1
>           -B2
>           -B3
>           -B4
>
>
> In the Root's pom i have mentioned my modules as:
> <module>A</module>
> <module>B</module>
>
> Now is there a way that I can change the normal build order(which is)
>
> -Root
> -A
> -A1
> -A2
> -A3
> -B
> -B1
> -B2
> -B3
> -B4
>
>
> to something like
>
> -Root
> -A
> -A1
> -A2
> -B
> -B1
> -B2
> -A3
> -B4
>
> It is actually a requirement. But I doubt that there is a possibility that
> the CVS structure itself is not competent enough then to handle inter-module
> dependencies.
>
> Any inputs?
>
> Thanks and regards,
> Amit Kumar
>
>   
In the A3 project, add dependencies that point to all other projects you 
need to have compiled before (i suspect you need B2 resources for A3?), 
maven should order them properly.

-- 
David Delbecq
Institut Royal Météorologique
Ext:557


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


Re: Customizing Build order

Posted by Graham Leggett <mi...@sharp.fm>.
amit kumar wrote:

> to something like
> 
> -Root
> -A
> -A1
> -A2
> -B
> -B1
> -B2
> -A3
> -B4
> 
> It is actually a requirement. But I doubt that there is a possibility that
> the CVS structure itself is not competent enough then to handle inter-module
> dependencies.

This looks suspiciously like a circular dependency?

If so, circular dependencies are broken regardless of your build tool.

Regards,
Graham
--