Carsten Ziegeler created SLING-9424:
---------------------------------------

             Summary: Use dependencies for apis and sources
                 Key: SLING-9424
                 URL: https://issues.apache.org/jira/browse/SLING-9424
             Project: Sling
          Issue Type: Improvement
          Components: Feature Model, Maven Plugins and Archetypes
            Reporter: Carsten Ziegeler
            Assignee: Carsten Ziegeler
             Fix For: slingfeature-maven-plugin 1.2.6


Today, the apis and the source jar contain all packages that make up the api 
region. However, if all public packages of a publically available artifact are 
used, there should be an option to exclude this artifact from both and rather 
provide a separate output with that dependency.

Proposal:
A new configuration for opting into this mechanism is provided. If enabled and 
all public packages of a bundle are used in an api region, then the packages 
from this artifact are not added to the apis jar or the sources jar. Instead a 
feature refs file is created with these artifact as a dependency.

An additional, optional configuration can take a list of repository urls, to 
test whether an artifact is publically available from one of these 
repositories. If not specified, the artifact is assumed to be publically 
available.

For such artifacts, the scm properties must not be set. An error should be 
created in this case.

The bundle might have an additional property "api-ids" which contains a list of 
Artifact IDs to api jars - these are used as a dependency instead of the 
original artifact.
If "source-ids" is specified, "api-ids" defaults to the artifacts listed there 
without a classifier. If source-ids does not specify a classifier -> failure



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to