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]