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)

Reply via email to