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