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

[jira] [Comment Edited] (SLING-9521) Packages exported in earlier API Regions are not available to later API Regions

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

Carsten Ziegeler edited comment on SLING-9521 at 7/10/20, 5:12 AM:
-------------------------------------------------------------------

I think there should be no need to declare an empty region r1 in feature model B. But still, B would get access to r1 through inheritance (r2 inheriting from r1).



was (Author: cziegeler):
I think there should be no need to declare an empty region r1 in feature model B. But still, if A and B are merged, the bundle from B will get access to the exports from r1.


> Packages exported in earlier API Regions are not available to later API Regions
> -------------------------------------------------------------------------------
>
>                 Key: SLING-9521
>                 URL: https://issues.apache.org/jira/browse/SLING-9521
>             Project: Sling
>          Issue Type: Bug
>          Components: Feature Model
>    Affects Versions: Feature Model API Regions Runtime Fragment 1.1.4
>            Reporter: A. J. David Bosschaert
>            Assignee: A. J. David Bosschaert
>            Priority: Major
>             Fix For: Feature Model API Regions Runtime Fragment 1.1.6
>
>
> The API Regions documentation states that "Exports declared earlier in the api-regions array also apply to later elements in the array, so the platform region also contains all exports declared for the global region" [0] 
> However the API Regions runtime fragment doesn't honour this.
> As a test case take 2 feature models:
> Feature Model A:
> * exports package {{foo.bar}} into region r1.
> * exports package {{foo.test}} into region r2.
> Note that according to the documentation mentioned above this means that {{foo.bar}} is also implicitly exported into region r2.
> Feature Model B:
> * exports package {{test.abc}} into region r2. 
> Note that feature model B does not explicitly opt into region r1.
> Feature Model B also contains a bundle that imports {{foo.bar}}. However running these feature models together, the API Regions runtime fragment prevents Feature Model B from seeing the {{foo.bar}} package.
> [0] https://github.com/apache/sling-org-apache-sling-feature-extension-apiregions/blob/master/docs/api-regions.md#visibility-of-api



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