Robert Munteanu created SLING-8874:
--------------------------------------

             Summary: Support a manifest property that indicates alternate 
source artifacts
                 Key: SLING-8874
                 URL: https://issues.apache.org/jira/browse/SLING-8874
             Project: Sling
          Issue Type: Improvement
          Components: Feature Model
            Reporter: Robert Munteanu


The {{ApiJarsMojo}} already supports looking for alternate artifacts based on 
{{sourceId}} property located in feature model files. This is useful for 
scenarios where the bundle can not be easily changed, but has some 
disadvantages:

- it requires inspecting the bundle that has a {{ sourceId }} property
- it can become out of date if the bundle is changed but the {{sourceId}} is 
not.

{code}
Alternate-Source-Artifacts: bundle-a, bundle-b, bundle-c
{code}

This would in turn be inspected by the {{ApiJarsMojo}} and handled in the same 
manner that the {{sourceId}} is.

Additionally, while working with the {{ sourceId }} property I have discovered 
two patterns of use:

1. The artifact repackages one or more artifacts, e.g. 
[org.apache.sling.javax.activation|https://github.com/apache/sling-org-apache-sling-javax-activation]
2. The artifact includes some code and in addition repackages some artifacts, 
e.g. 
[org.apache.httpcomponents.httpclient-osgi|https://github.com/apache/httpcomponents-client/tree/4.5.x/httpclient-osgi]

I would therefore suggest that we a {{mode}} argument to both the {{sourceId}} 
and the manifest header:

* {{mode=add}} - adds the specified sources jars to the list of source 
artifacts and keeps the auto-generated one ( bundle with classifier = sources )
* {{mode=replace}} - adds the specified sources jar to the list of source 
artifacts and does not keep the auto-generated one

I think that - at least of jar files that we can change ourselves - this will 
make maintaining source artifact mappings easier.



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

Reply via email to