You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "A. J. David Bosschaert (Jira)" <ji...@apache.org> on 2020/07/09 11:36:00 UTC

[jira] [Commented] (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=17154453#comment-17154453 ] 

A. J. David Bosschaert commented on SLING-9521:
-----------------------------------------------

The question here is, for the use-case described.

Should Feature Model B declare that its part of region r1 (but not export anything into it)?

I'm not sure about the idea of 'inserting' region r1 in feature B because _another feature_ (feature A) declares it before r2.

> 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)