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

Konrad Windszus edited comment on SLING-9218 at 3/19/20, 10:42 AM:
-------------------------------------------------------------------

IMHO Commons Johnzon should resolve even for bundles depending on 
org.apache.geronimo.specs:geronimo-json_1.1_spec:1.3. In fact I would rather 
prefer that other bundles just depend on the API bundle instead of any specific 
impl bundle. Therefore adding the {{Provide-Capability}} to the manifest header 
is the right thing to do here.
Also the contract is officially defined in 
https://www.osgi.org/portable-java-contract-definitions/.


was (Author: kwin):
IMHO Commons Johnzon should resolve even for bundles depending on 
org.apache.geronimo.specs:geronimo-json_1.1_spec:1.3. In fact I would rather 
prefer that other bundles just depend on the API bundle instead of any specific 
impl bundle. Therefore adding the {{Provide-Capability}} to the manifest header 
is the right thing to do here.

> Incomplete OSGi manifest for Commons Johnzon 1.2.0
> --------------------------------------------------
>
>                 Key: SLING-9218
>                 URL: https://issues.apache.org/jira/browse/SLING-9218
>             Project: Sling
>          Issue Type: Bug
>    Affects Versions: Commons Johnzon 1.2.0
>            Reporter: Eric Norman
>            Priority: Major
>
> It looks to me that any bundle that attempts to depend on the new 
> org.apache.sling.commons.johnzon:1.2.0 bundle produces a manifest for the new 
> bundle that makes it not activate when deployed to the sling runtime.
>   
>  For example, the manifest now includes this instruction in the manifest:
>   
> {quote}Require-Capability: osgi.contract;osgi.contract=JavaJSONP;filter:="(&(
>   osgi.contract=JavaJSONP)(version=1.1.0))",osgi.ee;filter:="(&(osgi.ee
>   =JavaSE)(version=1.8))"
> {quote}
>  
>   
>  But it doesn't look like the org.apache.sling.commons.johnzon:1.2.0 manifest 
> declares that it provides that JavaJSONP capability.
>   
>  It appears that the equivalent "Provide-Capability" instruction is in the 
> original org.apache.geronimo.specs.geronimo-json_1.1_spec artifact.  It 
> contains the following in it's manifest but the o.a.s.commons.johnzon does 
> not do the same when it wraps the bundle:
>   
> {quote}Provide-Capability: osgi.contract;osgi.contract=JavaJSONP;uses:="javax
>   .json,javax.json.spi,javax.json.stream";version:List<Version>="1.1,1.
>   0"
> {quote}
>  
>  
> Alternatively, maybe there is a convenient way to adjust the BND instructions 
> so one can depend on the org.apache.sling.commons.johnzon:1.2.0 artifact 
> without requiring the osgi.contract=JavaJSONP capability in the manifest?
>  



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

Reply via email to