Description
IMO the package org.apache.jackrabbit.oak.core is the implementation of the
oak api and should therefore only be used internally. exporting that package
in the maven-bundle-plugin configuration is from my point of view a major bug.
if it's needed it indicates that the package contains classes that are misplaced.
a quick search showed that the following references to the core package are present:
oak-solr:
- AbstractRoot used by
> SolrBaseTest
oak-jcr:
- IdentifierManager used by
> NodeImpl,
> NodeDelegate,
> SessionDelegate,
> ChangeProcessor,
> ImporterImpl
- ImmutableRoot used by
> ChangeProcessor
- ImmutableTree used by
> ChangeProcessor
to me that indicates that the IdentifierManager should be moved to package
space that is really public (API, SPI or plugins).
as far as the ChangeProcessor is concerned it seems that this was itself a
candidate for being moved from oak-jcr to oak-core.
and finally the SolrTest: i think the test should be refactored to obtain the root from a regular OAK repository setup instead of relying on an specific implementation.