jackrabbit-api contains extensions over the base JCR API. Although most work happens in Oak, it still is a subproject of classic Jackrabbit. This complicates evolution, because we need a stable release of Jackrabbit before we can implement new/changed APIs in Oak.
Going forward, we should however try to break this dependency. This will eliminate the top reason why we have been branching Jackrabbit in the past.
To do that, the following should work:
- (svn) cp the subproject over to Oak (oak-jackrabbit-api), align the POM, but do not touch
package name or export versions
- in Oak, use the new artefact instead of jackrabbit-api
- once a new stable Oak is released (1.16, sometime later this year),
drop the jackrabbit-api subproject in Jackrabit, and inside the other Jackrabbit
subprojects reference oak-jackrabbit-api instead
- we probably should try to generate a "tombstone" release of
jackrabbit-api, that would point people to the changed location (needs
research...) before entirely removing the subproject