[ 
https://issues.apache.org/jira/browse/IVY-616?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12545421
 ] 

Jim Bonanno commented on IVY-616:
---------------------------------

Thanks for the suggestions, these comments are really helpful !

I really like the suggestion to have a single POM parser, and parsing the 
parent POM when parent attributes are detected. I was concerned about the 
performance hit, but your inherited attributes point is well taken. I will also 
get rid of the DependencyManagement class with the migration to a single 
parser. That was just an attempt to encapsulate caching, which is memory only.

I will also look at removing the ibiblio limitation.  This was the hard part 
for me to figure out the first time so making it generic should be really 
interesting :-)

Once I get this running on the current code base I will also submit unit test 
cases. Thanks for the pointers to the tests.


> Maven Dependency Management is not used to determine artifact version
> ---------------------------------------------------------------------
>
>                 Key: IVY-616
>                 URL: https://issues.apache.org/jira/browse/IVY-616
>             Project: Ivy
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 2.0.0-alpha-2
>            Reporter: Jim Bonanno
>             Fix For: 2.0.0-beta-1
>
>         Attachments: patch.txt
>
>
> We recently hit an issue with resolving some POMs with the ibiblio resolver 
> and usepoms=true. The problem is that the version for a dependency can be 
> stored in the dependency management section of a parent POM.
> The apache directory server is an example.
> http://repo1.maven.org/maven2/org/apache/directory/server/apacheds-server-main/1.5.0/apacheds-server-main-1.5.0.pom
> Note that the POM for the parent build artifact has the version information 
> for the last 5 dependencies.
> The PomModuleDescriptorParser currently only builds a dependency descriptor 
> if the groupId, artifactId and version are all set. So for the case of apache 
> directory server, many of the transitive dependencies are ignored.
> I have been working on an extension to the PomModuleDescriptorParser that 
> build the dependency management information at the end of the project/parent 
> element by parsing the parent chain. Then if a dependency is found without a 
> version, then the dependency management information is used.  I attach the 
> patch after some more testing.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to