You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Karl Pauls (Jira)" <ji...@apache.org> on 2020/10/29 10:56:00 UTC

[jira] [Updated] (SLING-9860) Merging artifacts with the ALL strategy should keep the origins for clashing bundles and their origins only

     [ https://issues.apache.org/jira/browse/SLING-9860?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Karl Pauls updated SLING-9860:
------------------------------
    Description: 
When merging 2 features that both contain the same artifact, but in different versions, both artifacts are preserved, however, the feature-origins of one of the artifact contains both features instead of just its own feature.

For example Feature A contains:
 * bundle org.foo:bar:1.2

And Feature B contains
 * bundle org.foo:bar:1.3

Then once merged with the ALL strategy the resulting feature contains the artifact with  (origins A,B).

While this allows for package substitution to work between the bundles it can be problematic in cases where that is not desired for isolation purposes. As the interpretation of the origins is up to extensions, it seems better to not make the union decision in this place but leave it up to merge extensions and handlers later. 

In other words, we should change this so that the origins for version 1.2 should be just A, not both A and B.

  was:
When merging 2 features that both contain the same artifact, but in different versions, both artifacts are preserved, however, the feature-origins of one of the artifact contains both features instead of just its own feature.

For example Feature A contains:
 * bundle org.foo:bar:1.2

And Feature B contains
 * bundle org.foo:bar:1.3

Then once merged with the ALL strategy the resulting feature contains:
 * bundle org.foo:bar:1.2 (origins A,B)
 * bundle org.foo:bar:1.3 (origins B)

this is incorrect, the origins for version 1.2 should be just A, not both A and B.

     Issue Type: Improvement  (was: Bug)
        Summary: Merging artifacts with the ALL strategy should keep the origins for clashing bundles and their origins only   (was: When merging artifacts with the ALL strategy, incorrect feature-origin metadata is recorded)

> Merging artifacts with the ALL strategy should keep the origins for clashing bundles and their origins only 
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: SLING-9860
>                 URL: https://issues.apache.org/jira/browse/SLING-9860
>             Project: Sling
>          Issue Type: Improvement
>          Components: Feature Model
>    Affects Versions: Feature Model 1.2.10
>            Reporter: A. J. David Bosschaert
>            Assignee: A. J. David Bosschaert
>            Priority: Major
>             Fix For: Feature Model 1.2.12
>
>
> When merging 2 features that both contain the same artifact, but in different versions, both artifacts are preserved, however, the feature-origins of one of the artifact contains both features instead of just its own feature.
> For example Feature A contains:
>  * bundle org.foo:bar:1.2
> And Feature B contains
>  * bundle org.foo:bar:1.3
> Then once merged with the ALL strategy the resulting feature contains the artifact with  (origins A,B).
> While this allows for package substitution to work between the bundles it can be problematic in cases where that is not desired for isolation purposes. As the interpretation of the origins is up to extensions, it seems better to not make the union decision in this place but leave it up to merge extensions and handlers later. 
> In other words, we should change this so that the origins for version 1.2 should be just A, not both A and B.



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