Details
-
Task
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
None
-
None
Description
We need to adjust the package export declarations such that they become manageable with our branch / release model.
See http://markmail.org/thread/5g3viq5pwtdryapr for discussion.
I propose to remove package export declarations from all packages that we don't consider public API / SPI beyond Oak itself. This would allow us to evolve Oak internal stuff (e.g. things used across Oak modules) freely without having to worry about merges to branches messing up semantic versioning. OTOH it would force us to keep externally facing public API / SPI reasonably stable also across the branches. Furthermore such an approach would send the right signal to Oak API / SPI consumers regarding the stability assumptions they can make.
An external API / SPI having a (transitive) dependency on internals might be troublesome. In doubt I would remove the export version here until we can make reasonable guarantees (either through decoupling the code or stabilising the dependencies).
I would start digging through the export version and prepare an initial proposal for further discussion.
Attachments
Attachments
Issue Links
- breaks
-
SLING-5475 JcrResourceProviderFactory dependency to NodeObserver fails in oak trunk
- Closed
-
OAK-6942 Add package export versions for core-spi
- Closed
- is blocked by
-
FELIX-5172 Better control over default export version
- Resolved
- is related to
-
OAK-3919 Properly manage APIs / SPIs intended for public consumption
- Open
- relates to
-
OAK-3863 [oak-blob-cloud] Incorrect export package
- Closed
-
OAK-3919 Properly manage APIs / SPIs intended for public consumption
- Open
-
OAK-6945 Add package export versions for oak-commons
- Closed