I personally find that tree very hard to understand. Again the scope of
dependency:tree is to show where the dependencies come from, not to show
the full inheritance of all of them. It sounds like what you want is a
new goal somewhere, either dependency or help to show the inheritance,
but I don't know how to represent that in an understandable way. The
tree below makes it look like maven-project lists a dependency on the
maven pom, which isn't true (it lists it as a parent). We can't assume
that all pom dependencies are implied parents, because some people
really do depend on poms (think import scope).

The code to get this information is highly divergent from the current
resolve and tree, which is another reason why it think it probably needs
to be a new goal. In order to uncover the parents involved, you must
manually walk the pom, following the parent.relativePath and/or
resolving them out of the repo. (I know cause I have to do this in the
enforcer requirePluginVersions rule...you can't get it from Maven).
Whereas the current resolve and tree goals simply call
project.getArtifacts() and then iterate through the list.

Is the goal to find where a parent is used, or to find out what parents
a project uses? (or both?)

-----Original Message-----
From: Paul Gier [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, May 21, 2008 3:11 PM
To: Maven Developers List
Subject: Re: Resolving parent poms in the dependency tree

Just as an example, if I run "mvn dependency:tree" on the maven jar
plugin, I 
currently see the dependency on maven-project.

[INFO]
org.apache.maven.plugins:maven-jar-plugin:maven-plugin:2.3-SNAPSHOT
[INFO] +- org.apache.maven:maven-project:jar:2.0.7:compile

I would like to also see the parents of maven-project something like
this:

[INFO]
org.apache.maven.plugins:maven-jar-plugin:maven-plugin:2.3-SNAPSHOT
[INFO] +- org.apache.maven:maven-project:jar:2.0.7:compile
[INFO] |  +- org.apache.maven:maven:pom:2.0.7:compile
[INFO] |  |  +- org.apache.maven:maven-parent:pom:5:compile
[INFO] |  |  |  +- org.apache:apache:pom:3:compile


Paul Gier wrote:
> It shows the dependencies that are inherited, but it doesn't show the 
> poms themselves.  If I run a build and see that there is a pom project

> being pulled in, either by watching the command line or by looking in 
> the local repository, it's sometimes not obvious why that parent is 
> being downloaded, i.e. which dependency is depending on that pom.
> 
> Couldn't the parent poms be shown in the tree as additional branches
of 
> each dependency?
> 
> Brian E. Fox wrote:
>> But the tree view is showing the dependency inheritance. Each one of
>> those dependencies may have one or more parent poms, I don't see what
>> this adds, nor how to show it any more as a tree.
>>
>> -----Original Message-----
>> From: Paul Gier [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 21, 
>> 2008 2:44 PM
>> To: Maven Developers List
>> Subject: Re: Resolving parent poms in the dependency tree
>>
>> I just want the parent poms to print in the output.  Both in the tree
>> view and in the list generated by resolve.
>>
>> So you would include things like:
>> org.apache.maven.plugins:maven-plugins:pom:12-SNAPSHOT:compile
>>
>> Brian E. Fox wrote:
>>> Adding it to resolve doesn't actually do anything since it will
>> already
>>> be resolved. Can you provide an example of what you expect the
output
>> to
>>> look like?
>>>
>>> -----Original Message-----
>>> From: Paul Gier [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 21, 
>>> 2008 2:31 PM
>>> To: Maven Developers List
>>> Subject: Re: Resolving parent poms in the dependency tree
>>>
>>> If they are not dependencies of the project, then what are they?
They
>>> do have some relation to the project because they are needed in
order to
>> build,
>>> so I'm just wondering where they fit in.  Would it be reasonable to 
>>> add a
>>> parameter to the dependency plugin's resolve and tree goals to also 
>>> include the
>>> parent poms?
>>>
>>> Brian E. Fox wrote:
>>>> Both of those goals require Maven to do the dependency resolution,
>>> which
>>>> means the parent poms will already be resolved at that point.
>> Strictly
>>>> speaking, the parents are not dependencies of the projects as we
are
>>>> looking only at binary artifacts. Getting the parent poms is out of
>>> the
>>>> scope of those goals IMO.
>>>>
>>>> -----Original Message-----
>>>> From: Paul Gier [mailto:[EMAIL PROTECTED] Sent: Wednesday, May 21, 
>>>> 2008 12:43 PM
>>>> To: Maven Developers List
>>>> Subject: Resolving parent poms in the dependency tree
>>>>
>>>>
>>>> I noticed that the dependency plugin currently does not include
>> parent
>>>> poms when generating the dependency tree (MDEP-167) or when calling
>>>> dependency:resolve. Is the exclusion of the parent poms by design
or 
>>>> is this something
>>> that
>>>> just hasn't been implemented yet?  I would like to have a way to 
>>>> print out
>>>> all the dependencies of my project (including poms, plugins, etc.)
but
>>> currently
>>>> I think the only way to do this is to start with a clean
repository, 
>>>> and then
>>>> look at the contents after a build was run.
>>>>
>>>> Long term, what is the best way to handle this?  I didn't see any
>>>> current way in the maven artifact resolution API to get a list of 
>>>> dependencies that
>>>> include parent poms.  Does it make sense to add something like
this?
>>>>
>>>> Thanks!
>>>>
>>>>
---------------------------------------------------------------------
>>>> 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]
>>>
>>>
>>>
---------------------------------------------------------------------
>>> 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]
>>
> 


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