Maven
  1. Maven
  2. MNG-2316

Add info to the poms for dependencies that implement an API or provide other dependencies

    Details

      Description

      e.g.

      geronimo implementation of javamail could say

      <provides>
        <dependency>
          <groupId>javax.mail</groupId>
          <artifactId>mail</artifactId>
          <version>...</version>
        </dependency>
      </provides>

      spring.jar pom could say

      <provides>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-webmvc</artifactId>
          <version>...</version>
        </dependency>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>...</version>
        </dependency>
        ...
      </provides>

        Issue Links

          Activity

          Benjamin Chylla made changes -
          Link This issue is cloned by MNG-5867 [ MNG-5867 ]
          Mark Thomas made changes -
          Workflow jira [ 12952450 ] Default workflow, editable Closed status [ 12989794 ]
          Mark Thomas made changes -
          Project Import Sun Apr 05 21:45:26 UTC 2015 [ 1428270326204 ]
          Mark Thomas made changes -
          Workflow jira [ 12712951 ] Default workflow, editable Closed status [ 12752788 ]
          Mark Thomas made changes -
          Project Import Sun Apr 05 08:49:45 UTC 2015 [ 1428223785911 ]
          stephenconnolly made changes -
          Fix Version/s 3.2 [ 15565 ]
          Fix Version/s Issues to be reviewed for 4.x [ 19871 ]
          Hervé Boutemy made changes -
          Description e.g.

          geronimo implementation of javamail could say

          <provides>
            <dependency>
              <groupId>javax.mail</groupId>
              <artifactId>mail</artifactId>
              <version>...</version>
            </dependency>
          </provides>

          spring.jar pom could say

          <provides>
            <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-webmvc</artifactId>
              <version>...</version>
            </dependency>
            <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-context</artifactId>
              <version>...</version>
            </dependency>
            ...
          </provides>

          e.g.

          geronimo implementation of javamail could say

          {code:xml}<provides>
            <dependency>
              <groupId>javax.mail</groupId>
              <artifactId>mail</artifactId>
              <version>...</version>
            </dependency>
          </provides>{code}

          spring.jar pom could say

          {code:xml}<provides>
            <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-webmvc</artifactId>
              <version>...</version>
            </dependency>
            <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-context</artifactId>
              <version>...</version>
            </dependency>
            ...
          </provides>{code}

          Brett Porter made changes -
          Fix Version/s 3.1 [ 15565 ]
          Fix Version/s 3.x (to be reviewed) [ 13145 ]
          Hide
          Stephen Connolly added a comment -

          Another possible solution would be to add a new scope: implements

          That does not change the XML schema... the only issue is older maven clients... but we faced that issue adding the import scope... so I don't see a major issue with such a scope

          Show
          Stephen Connolly added a comment - Another possible solution would be to add a new scope: implements That does not change the XML schema... the only issue is older maven clients... but we faced that issue adding the import scope... so I don't see a major issue with such a scope
          Jason van Zyl made changes -
          Fix Version/s 3.0 [ 13142 ]
          Fix Version/s 3.x [ 13145 ]
          Carlos Sanchez made changes -
          Link This issue is related to MNG-1258 [ MNG-1258 ]
          Hide
          Carlos Sanchez added a comment -

          we can leave javax.* as placeholders and then have com.sun for the default one, org.apache.geronimo for geronimo one,...

          Show
          Carlos Sanchez added a comment - we can leave javax.* as placeholders and then have com.sun for the default one, org.apache.geronimo for geronimo one,...
          Hide
          Andrew Williams added a comment -

          How would you be able to use such information if it was available?

          Perhaps your example is bad, but javax.mail is not just an API - it is an implementation, so including it on it's own is perfect;y valid, no extra implementation is needed.
          If there was a purely api jar and you implement it with another artifact how would we know about it?

          Show
          Andrew Williams added a comment - How would you be able to use such information if it was available? Perhaps your example is bad, but javax.mail is not just an API - it is an implementation, so including it on it's own is perfect;y valid, no extra implementation is needed. If there was a purely api jar and you implement it with another artifact how would we know about it?
          Jason van Zyl made changes -
          Fix Version/s 2.1.x [ 13142 ]
          Fix Version/s 2.1 [ 11704 ]
          Hide
          Tom Huybrechts added a comment -

          This would also be useful when building OSGi bundles, which are wired to each other using Export-Package and Import-Package headers in the manifest.

          Show
          Tom Huybrechts added a comment - This would also be useful when building OSGi bundles, which are wired to each other using Export-Package and Import-Package headers in the manifest.
          Carlos Sanchez made changes -
          Field Original Value New Value
          Fix Version/s 2.1 [ 11704 ]
          Priority Major [ 3 ] Critical [ 2 ]
          Carlos Sanchez created issue -

            People

            • Assignee:
              Unassigned
              Reporter:
              Carlos Sanchez
            • Votes:
              10 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

              • Created:
                Updated:

                Development