Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aether-users] capturing parent pom.xml files in dependency tree

Igor Fedorenko wrote:

I am trying to configure RepositorySystem#collectDependencies to also
include parent pom.xml files as separate DependencyNodes. [...]

Here is an ascii diagram to illustrate the problem

     project
       |-- commons-io:2.0.1
       |     \-- commons-parent:15
       |           \-- apache:7
       \-- commons-lang:2.6
             \-- commons-parent:17
                   \-- apache:7

I need collected dependency tree to include both commons-parent:15 and
commons-parent:17 nodes.

Does current ConflictResolver implementation support this?

No, the ConflictResolver has currently no means to exclude some nodes/conflicts from processing.

If not, which I believe is the case, will you be interested to add such support? Will a patch help?

Your use case strikes me as rather special purpose (and one might also ask why those not-really-a-dependency nodes have to be introduced during dependency collection as opposed to be inserted via post-processing of the completed dependency tree), as such I'm currently very reluctant to shove more complexity (and potential performance implications) into the ConflictResolver. If you see a clean/simple way of extending the code, we can discuss this further.

In the meantime, you might want to have a look at ConflictMarker. Compared to ConflictResolver, this graph transformer is conceptually simpler (i.e. easier to replace with a custom impl). If one was to mark all parent POM nodes with a different key, they wouldn't be treated as a conflict that needs resolution.


Benjamin


Back to the top