as discussed in the oak-call yesterday, i think we should take another look at the modularization of the oak-core module.
some time ago i proposed to move the NodeStore implementations into separate modules.
to begin with i just tried 2 separate modules:
- oak-ns-document: > everything below oak.plugins.document
- oak-ns-segment: > everything below oak.plugins.segment > segment specific parts of oak.plugins.backup
i found the following issues:
- org.apache.jackrabbit.oak.plugins.cache is not part of the exported packages - oak.plugins.backup contains both public API and implementations without separation - the following test-classes have a hard dependency on one or more ns implementations: > KernelNodeStoreCacheTest > ClusterPermissionsTest > NodeStoreFixture to fix those we could need to be able to run the tests with the individual nodestore modules and move those tests that are just intended to work with a particular impl.
such a move would not only prevent us from introducing unintended package dependencies but would also reduce the number of dependencies present with oak-core.
as discussed yesterday we may want to pick this up again this year.
see also http://markmail.org/message/6cpbyuthub4jxase for the whole discussion.