You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Simone Tripodi (JIRA)" <ji...@apache.org> on 2018/11/06 15:26:00 UTC

[jira] [Created] (SLING-8078) New Analyser task which is able to detect Export-Package dependencies between regions

Simone Tripodi created SLING-8078:
-------------------------------------

             Summary: New Analyser task which is able to detect Export-Package dependencies between regions
                 Key: SLING-8078
                 URL: https://issues.apache.org/jira/browse/SLING-8078
             Project: Sling
          Issue Type: New Feature
          Components: Feature Model, Maven Plugins and Archetypes
    Affects Versions: Feature Model Analyser 0.2.0
            Reporter: Simone Tripodi
            Assignee: David Bosschaert
             Fix For: Feature Model Analyser 0.2.2


It may be helpful users have the need to define a {{deprecated}} region in order to mark which APIs don't have to be exposed to end users, a new Analyser Task implementation will help to detect if {{global}} exported APIs don't have {{uses}} dependencies to APIs that are declared in the {{deprecated}} region.

i.e. given a feature:

{noformat}
...
[
  {
    "name": "global"
    "exports": ["org.osgi.util.function"]
  },
  {
    "name": "deprecated",
   "exports": ["org.objectweb.asm"]
  }
]
...
{noformat}

and a bundle declares the OSGi header in the Manifest as below:

{noformat}
Export-Package: org.osgi.util.function;uses:="org.objectweb.asm"
{noformat}

the new Analyser Task implementation will detect that "violation"

{noformat}
Bundle 'org.osgi:org.osgi.util.function:1.0.0', defined in feature 'org.apache.sling.testing:org.apache.sling.testing.apiregions:1.0.0', declares 'org.osgi.util.function' in the 'Export-Package' header which requires 'org.objectweb.asm' package that is in the 'deprecated' region
{noformat}

PR is coming



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