You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Daniel Heinrich (JIRA)" <ji...@apache.org> on 2017/09/26 08:29:00 UTC

[jira] [Created] (MNG-6288) Metadata for Dependency Management Entries

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)