Description
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
Attachments
Issue Links
- blocks
-
OAK-8398 Add nullable/notnull annotations for jackrabbit security API extensions
- Resolved
-
JCR-4449 remove jackrabbit-api and use oak-jackrabbit-api instead
- Closed
- breaks
-
OAK-8713 oak-it-osgi: update jackrabbit-api dependency to use new location within Oak
- Closed
- is related to
-
OAK-8400 adjust baseline comparison version for oak-jackrabbit-api after release of 1.16.0
- Closed