Daniel Heinrich created MNG-6288:
------------------------------------
Summary: Metadata for Dependency Management Entries
Key: MNG-6288
URL: https://issues.apache.org/jira/browse/MNG-6288
Project: Maven
Issue Type: New Feature
Components: Design, Patterns & Best Practices
Reporter: Daniel Heinrich
Priority: Minor
You will have a lot of version conflicts of transitive dependencies in a normal
project. These conflicts will get resolved by maven automatically, but most of
the time you want your team to explicitly decide on the conflict resolution.
This decision has to be placed in the dependency management section.
Over time dependencies change and therefor their transitive dependencies too.
The problem is now, that while out decisions(in form of dependency management
entries) stay the basis of the past decisions have changed.
There is no automatic way at the moment to check for dependency management
entries which need to be updated, because the conflict they try to resolve has
changed.
I propose to add the option to add some kind of meta data to dependency
management entries, which can be used by some plugin to report on decisions
which have to be reworked.
An example could be:
{code:xml}
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.4.0</version>
<overwrite>1.3.0,1.3.2</overwrite>
</dependency>
{code}
or more generic:
{code:xml}
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.4.0</version>
<attributes>
<overwrite>1.3.0,1.3.2</overwrite>
<other-comment>...</other-comment>
</attributes>
</dependency>
{code}
I hope this will spark some sort of discussion, because I think Maven can still
do a lot to support changes to a project over time way better.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)