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