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 <[EMAIL PROTECTED]>
>> 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:[EMAIL PROTECTED]
>>> 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: [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