[ 
https://issues.apache.org/jira/browse/SLING-8104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16692293#comment-16692293
 ] 

ASF GitHub Bot commented on SLING-8104:
---------------------------------------

bosschaert opened a new pull request #9: SLING-8104 Avoid magic when merging 
features
URL: https://github.com/apache/sling-org-apache-sling-feature/pull/9
 
 
   When merging artifacts/bundles, they need to be selected from a provided
   override list if the artifact versions are not the same. The list has
   the following syntax:
   *  `groupid1:artifactid1:<resolution>`
   *  `groupid2:artifactid2:<resolution>`
   To apply the same override rule for all clashes, a wildcard using '*' for
   groupID and artifactID can be used:
   *  `*:*:<resolution>`
   means always select the same resolution in case of a clash.
   
   Where `<resolution>` is one of the following:
   *  `ALL` - select all the artifacts
   *  `HIGHEST` - select only the artifact with the highest version number
   *  `LATEST` - select only the artifact provided latest
   *  `<version>` - select this specific version
   When comparing version numbers these are converted to OSGi version
   numbers and the OSGi version number ordering is applied.
   
   When merging includes artifacts specified in the target feature
   override all artifacts with the same group ID and artifact ID in the
   included feature.
   Both the included as well the target feature can have multiple artifacts
   with the same group ID and artifact ID but different versions.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Avoid magic when merging features
> ---------------------------------
>
>                 Key: SLING-8104
>                 URL: https://issues.apache.org/jira/browse/SLING-8104
>             Project: Sling
>          Issue Type: Improvement
>          Components: Feature Model
>            Reporter: Carsten Ziegeler
>            Assignee: David Bosschaert
>            Priority: Blocker
>             Fix For: slingfeature-maven-plugin 1.0.0, Feature Model 0.2.2
>
>
> Currently when features are merged a simple algorithm is applied which just 
> picks the highest version based on the artifact version. However this version 
> might not have no meaning at all and might not really reflect what has 
> changed inside the bundle.
> Especially when there is a major version change, this approach seems to be 
> clearly wrong
> But in the end, picking a single version is magic.
> While the problem could probably be solved by using something like a resolver 
> and figure out if just one version is enough or if both versions are needed, 
> without a resolver there is no way to figure this out.
> Therefore we should provide a similar way as we do for variables at the 
> moment: if there is a clash the caller needs to provide context on what to 
> choose.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to