You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Chetan Mehrotra (JIRA)" <ji...@apache.org> on 2015/11/17 07:08:11 UTC
[jira] [Commented] (OAK-3558) oak-core imports every package with
the optional resolution policy
[ https://issues.apache.org/jira/browse/OAK-3558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15008113#comment-15008113 ]
Chetan Mehrotra commented on OAK-3558:
--------------------------------------
Below are the bnd reports for oak-core
*With Optional Import*
{noformat}
[IMPEXP]
Import-Package
com.google.common.base {resolution:=optional, version=[15.0,16)}
com.google.common.cache {resolution:=optional, version=[15.0,16)}
com.google.common.collect {resolution:=optional, version=[15.0,16)}
com.google.common.hash {resolution:=optional, version=[15.0,16)}
com.google.common.io {resolution:=optional, version=[15.0,16)}
com.google.common.primitives {resolution:=optional, version=[15.0,16)}
com.google.common.util.concurrent {resolution:=optional, version=[15.0,16)}
com.mongodb {resolution:=optional, version=[2.13,3)}
com.mongodb.util {resolution:=optional, version=[2.13,3)}
javax.annotation {resolution:=optional}
javax.crypto {resolution:=optional}
javax.crypto.spec {resolution:=optional}
javax.jcr {resolution:=optional, version=[2.0,3)}
javax.jcr.lock {resolution:=optional, version=[2.0,3)}
javax.jcr.nodetype {resolution:=optional, version=[2.0,3)}
javax.jcr.security {resolution:=optional, version=[2.0,3)}
javax.jcr.version {resolution:=optional, version=[2.0,3)}
javax.management {resolution:=optional}
javax.management.openmbean {resolution:=optional}
javax.security.auth {resolution:=optional}
javax.security.auth.callback {resolution:=optional}
javax.security.auth.login {resolution:=optional}
javax.security.auth.spi {resolution:=optional}
javax.sql {resolution:=optional}
org.apache.commons.codec.binary {resolution:=optional, version=[1.5,2)}
org.apache.commons.io {resolution:=optional, version=[1.4,2)}
org.apache.commons.io.filefilter {resolution:=optional, version=[1.4,2)}
org.apache.jackrabbit {resolution:=optional}
org.apache.jackrabbit.api {resolution:=optional, version=[2.4,3)}
org.apache.jackrabbit.api.jmx {resolution:=optional, version=[2.1,3)}
org.apache.jackrabbit.api.security {resolution:=optional, version=[2.3,3)}
org.apache.jackrabbit.api.security.authentication.token{resolution:=optional, version=[2.3,3)}
org.apache.jackrabbit.api.security.authorization{resolution:=optional, version=[2.3,3)}
org.apache.jackrabbit.api.security.principal{resolution:=optional, version=[2.3,3)}
org.apache.jackrabbit.api.security.user{resolution:=optional, version=[2.4,2.5)}
org.apache.jackrabbit.api.stats {resolution:=optional, version=[1.2,2)}
org.apache.jackrabbit.aws.ext.ds {resolution:=optional}
org.apache.jackrabbit.commons {resolution:=optional, version=[2.4,3)}
org.apache.jackrabbit.commons.cnd {resolution:=optional, version=[2.3,3)}
org.apache.jackrabbit.commons.iterator{resolution:=optional, version=[2.4,3)}
org.apache.jackrabbit.commons.jackrabbit.authorization{resolution:=optional}
org.apache.jackrabbit.core.data {resolution:=optional}
org.apache.jackrabbit.core.data.db {resolution:=optional}
org.apache.jackrabbit.core.util.db {resolution:=optional}
org.apache.jackrabbit.oak.api {resolution:=optional, version=[3.0,3.1)}
org.apache.jackrabbit.oak.api.jmx {resolution:=optional, version=[3.0,3.1)}
org.apache.jackrabbit.oak.blob.cloud.aws.s3{resolution:=optional}
org.apache.jackrabbit.oak.commons {resolution:=optional, version=[2.4,3)}
org.apache.jackrabbit.oak.commons.concurrent{resolution:=optional, version=[1.0,2)}
org.apache.jackrabbit.oak.commons.jmx {resolution:=optional, version=[1.0,2)}
org.apache.jackrabbit.oak.commons.json{resolution:=optional, version=[1.0,2)}
org.apache.jackrabbit.oak.commons.sort{resolution:=optional, version=[1.1,2)}
org.apache.jackrabbit.oak.json {resolution:=optional, version=[1.0,1.1)}
org.apache.jackrabbit.oak.namepath {resolution:=optional, version=[2.0,2.1)}
org.apache.jackrabbit.oak.osgi {resolution:=optional, version=[2.0,2.1)}
org.apache.jackrabbit.oak.plugins.identifier{resolution:=optional, version=[1.0,1.1)}
org.apache.jackrabbit.oak.plugins.index{resolution:=optional, version=[3.0,3.1)}
org.apache.jackrabbit.oak.plugins.index.fulltext{resolution:=optional, version=[1.0,1.1)}
org.apache.jackrabbit.oak.plugins.index.nodetype{resolution:=optional, version=[1.0,1.1)}
org.apache.jackrabbit.oak.plugins.lock{resolution:=optional, version=[1.0,1.1)}
org.apache.jackrabbit.oak.plugins.memory{resolution:=optional, version=[2.0,2.1)}
org.apache.jackrabbit.oak.plugins.name{resolution:=optional, version=[1.0,1.1)}
org.apache.jackrabbit.oak.plugins.value{resolution:=optional, version=[1.0,1.1)}
org.apache.jackrabbit.oak.spi.blob {resolution:=optional, version=[1.2,1.3)}
org.apache.jackrabbit.oak.spi.blob.split{resolution:=optional, version=[1.4,2)}
org.apache.jackrabbit.oak.spi.commit {resolution:=optional, version=[1.0,1.1)}
org.apache.jackrabbit.oak.spi.lifecycle{resolution:=optional, version=[1.0,1.1)}
org.apache.jackrabbit.oak.spi.security{resolution:=optional, version=[1.2,1.3)}
org.apache.jackrabbit.oak.spi.security.authentication.callback{resolution:=optional, version=[1.0,1.1)}
org.apache.jackrabbit.oak.spi.security.authentication.token{resolution:=optional, version=[1.3,1.4)}
org.apache.jackrabbit.oak.spi.security.authorization{resolution:=optional, version=[1.0,1.1)}
org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol{resolution:=optional, version=[1.4,1.5)}
org.apache.jackrabbit.oak.spi.security.authorization.permission{resolution:=optional, version=[4.0,4.1)}
org.apache.jackrabbit.oak.spi.security.authorization.restriction{resolution:=optional, version=[1.1,1.2)}
org.apache.jackrabbit.oak.spi.security.principal{resolution:=optional, version=[1.2,1.3)}
org.apache.jackrabbit.oak.spi.security.privilege{resolution:=optional, version=[1.1,1.2)}
org.apache.jackrabbit.oak.spi.security.user{resolution:=optional, version=[2.1,2.2)}
org.apache.jackrabbit.oak.spi.security.user.action{resolution:=optional, version=[1.0,1.1)}
org.apache.jackrabbit.oak.spi.security.user.util{resolution:=optional, version=[1.2,1.3)}
org.apache.jackrabbit.oak.spi.state {resolution:=optional, version=[1.2,1.3)}
org.apache.jackrabbit.oak.spi.whiteboard{resolution:=optional, version=[1.0,1.1)}
org.apache.jackrabbit.oak.spi.xml {resolution:=optional, version=[1.0,1.1)}
org.apache.jackrabbit.oak.stats {resolution:=optional, version=[1.1,1.2)}
org.apache.jackrabbit.stats {resolution:=optional, version=[2.7,3)}
org.apache.jackrabbit.stats.jmx {resolution:=optional}
org.apache.jackrabbit.util {resolution:=optional, version=[2.4,3)}
org.apache.jackrabbit.value {resolution:=optional, version=[2.2,3)}
org.bson {resolution:=optional, version=[2.13,3)}
org.h2.mvstore {resolution:=optional, version=[1.4,2)}
org.h2.mvstore.type {resolution:=optional, version=[1.4,2)}
org.jclouds {resolution:=optional}
org.jclouds.blobstore {resolution:=optional, version=[1.7,2)}
org.jclouds.blobstore.domain {resolution:=optional, version=[1.7,2)}
org.jclouds.blobstore.options {resolution:=optional, version=[1.7,2)}
org.jclouds.domain {resolution:=optional, version=[1.7,2)}
org.jclouds.io {resolution:=optional, version=[1.7,2)}
org.osgi.framework {resolution:=optional, version=[1.5,2)}
org.osgi.service.component {resolution:=optional, version=[1.1,2)}
org.osgi.util.tracker {resolution:=optional, version=[1.4,2)}
org.slf4j {resolution:=optional, version=[1.7,2)}
org.slf4j.helpers {resolution:=optional, version=[1.7,2)}
{noformat}
*Without Optional Import*
{noformat}
[IMPEXP]
Import-Package
com.google.common.base {version=[15.0,16)}
com.google.common.cache {version=[15.0,16)}
com.google.common.collect {version=[15.0,16)}
com.google.common.hash {version=[15.0,16)}
com.google.common.io {version=[15.0,16)}
com.google.common.primitives {version=[15.0,16)}
com.google.common.util.concurrent {version=[15.0,16)}
com.mongodb {version=[2.13,3), resolution:=optional}
com.mongodb.util {version=[2.13,3), resolution:=optional}
javax.annotation
javax.crypto
javax.crypto.spec
javax.jcr {version=[2.0,3)}
javax.jcr.lock {version=[2.0,3)}
javax.jcr.nodetype {version=[2.0,3)}
javax.jcr.security {version=[2.0,3)}
javax.jcr.version {version=[2.0,3)}
javax.management
javax.management.openmbean
javax.security.auth
javax.security.auth.callback
javax.security.auth.login
javax.security.auth.spi
javax.sql
org.apache.commons.codec.binary {version=[1.5,2)}
org.apache.commons.io {version=[1.4,2)}
org.apache.commons.io.filefilter {version=[1.4,2)}
org.apache.jackrabbit
org.apache.jackrabbit.api {version=[2.4,3)}
org.apache.jackrabbit.api.jmx {version=[2.1,3)}
org.apache.jackrabbit.api.security {version=[2.3,3)}
org.apache.jackrabbit.api.security.authentication.token{version=[2.3,3)}
org.apache.jackrabbit.api.security.authorization{version=[2.3,3)}
org.apache.jackrabbit.api.security.principal{version=[2.3,3)}
org.apache.jackrabbit.api.security.user{version=[2.4,2.5)}
org.apache.jackrabbit.api.stats {version=[1.2,2)}
org.apache.jackrabbit.aws.ext.ds {resolution:=optional}
org.apache.jackrabbit.commons {version=[2.4,3)}
org.apache.jackrabbit.commons.cnd {version=[2.3,3)}
org.apache.jackrabbit.commons.iterator{version=[2.4,3)}
org.apache.jackrabbit.commons.jackrabbit.authorization
org.apache.jackrabbit.core.data {resolution:=optional}
org.apache.jackrabbit.core.data.db {resolution:=optional}
org.apache.jackrabbit.core.util.db {resolution:=optional}
org.apache.jackrabbit.oak.api {version=[3.0,3.1)}
org.apache.jackrabbit.oak.api.jmx {version=[3.0,3.1)}
org.apache.jackrabbit.oak.blob.cloud.aws.s3{resolution:=optional}
org.apache.jackrabbit.oak.commons {version=[2.4,3)}
org.apache.jackrabbit.oak.commons.concurrent{version=[1.0,2)}
org.apache.jackrabbit.oak.commons.jmx {version=[1.0,2)}
org.apache.jackrabbit.oak.commons.json{version=[1.0,2)}
org.apache.jackrabbit.oak.commons.sort{version=[1.1,2)}
org.apache.jackrabbit.oak.json {version=[1.0,1.1)}
org.apache.jackrabbit.oak.namepath {version=[2.0,2.1)}
org.apache.jackrabbit.oak.osgi {version=[2.0,2.1)}
org.apache.jackrabbit.oak.plugins.identifier{version=[1.0,1.1)}
org.apache.jackrabbit.oak.plugins.index{version=[3.0,3.1)}
org.apache.jackrabbit.oak.plugins.index.fulltext{version=[1.0,1.1)}
org.apache.jackrabbit.oak.plugins.index.nodetype{version=[1.0,1.1)}
org.apache.jackrabbit.oak.plugins.lock{version=[1.0,1.1)}
org.apache.jackrabbit.oak.plugins.memory{version=[2.0,2.1)}
org.apache.jackrabbit.oak.plugins.name{version=[1.0,1.1)}
org.apache.jackrabbit.oak.plugins.value{version=[1.0,1.1)}
org.apache.jackrabbit.oak.spi.blob {version=[1.2,1.3)}
org.apache.jackrabbit.oak.spi.blob.split{version=[1.4,2)}
org.apache.jackrabbit.oak.spi.commit {version=[1.0,1.1)}
org.apache.jackrabbit.oak.spi.lifecycle{version=[1.0,1.1)}
org.apache.jackrabbit.oak.spi.security{version=[1.2,1.3)}
org.apache.jackrabbit.oak.spi.security.authentication.callback{version=[1.0,1.1)}
org.apache.jackrabbit.oak.spi.security.authentication.token{version=[1.3,1.4)}
org.apache.jackrabbit.oak.spi.security.authorization{version=[1.0,1.1)}
org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol{version=[1.4,1.5)}
org.apache.jackrabbit.oak.spi.security.authorization.permission{version=[4.0,4.1)}
org.apache.jackrabbit.oak.spi.security.authorization.restriction{version=[1.1,1.2)}
org.apache.jackrabbit.oak.spi.security.principal{version=[1.2,1.3)}
org.apache.jackrabbit.oak.spi.security.privilege{version=[1.1,1.2)}
org.apache.jackrabbit.oak.spi.security.user{version=[2.1,2.2)}
org.apache.jackrabbit.oak.spi.security.user.action{version=[1.0,1.1)}
org.apache.jackrabbit.oak.spi.security.user.util{version=[1.2,1.3)}
org.apache.jackrabbit.oak.spi.state {version=[1.2,1.3)}
org.apache.jackrabbit.oak.spi.whiteboard{version=[1.0,1.1)}
org.apache.jackrabbit.oak.spi.xml {version=[1.0,1.1)}
org.apache.jackrabbit.oak.stats {version=[1.1,1.2)}
org.apache.jackrabbit.stats {version=[2.7,3)}
org.apache.jackrabbit.stats.jmx
org.apache.jackrabbit.util {version=[2.4,3)}
org.apache.jackrabbit.value {version=[2.2,3)}
org.bson {version=[2.13,3), resolution:=optional}
org.h2.mvstore {version=[1.4,2), resolution:=optional}
org.h2.mvstore.type {version=[1.4,2), resolution:=optional}
org.jclouds {resolution:=optional}
org.jclouds.blobstore {version=[1.7,2), resolution:=optional}
org.jclouds.blobstore.domain {version=[1.7,2), resolution:=optional}
org.jclouds.blobstore.options {version=[1.7,2), resolution:=optional}
org.jclouds.domain {version=[1.7,2), resolution:=optional}
org.jclouds.io {version=[1.7,2), resolution:=optional}
org.osgi.framework {version=[1.5,2)}
org.osgi.service.component {version=[1.1,2)}
org.osgi.util.tracker {version=[1.4,2)}
org.slf4j {version=[1.7,2)}
org.slf4j.helpers {version=[1.7,2)}
{noformat}
> oak-core imports every package with the optional resolution policy
> ------------------------------------------------------------------
>
> Key: OAK-3558
> URL: https://issues.apache.org/jira/browse/OAK-3558
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: core
> Reporter: Francesco Mari
> Assignee: Chetan Mehrotra
> Fix For: 1.3.11
>
>
> The oak-core bundle declares that every imported package has an optional resolution policy. Because of this, the OSGi framework will not attempt to resolve any imported package, but will happily resolve the bundle even if some dependencies are missing. This may generate {{NoClassDefFoundError}} at runtime.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)