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