[ 
https://issues.apache.org/jira/browse/OAK-3842?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15090565#comment-15090565
 ] 

Konrad Windszus commented on OAK-3842:
--------------------------------------

Sling depends on {{org/apache/jackrabbit/oak/plugins/observation.Node}} as well 
as on several classes in {{org.apache.jackrabbit.oak.spi.commit}} in 
https://github.com/apache/sling/blob/trunk/bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/internal/OakResourceListener.java
 for supporting a better observation mechanism (SLING-3279 and OAK-1120). Would 
you consider those classes part of the Oak API as well? The major increase in 
the versioning leads to the fact already that the Sling JCR Resource bundle is 
no longer compatible with Oak 1.2 and below 
(http://www.mail-archive.com/dev%40sling.apache.org/msg49385.html).
Since I guess the improved observation is interesting for other consumers as 
well, I would suggest to make that part of the official API if possible.

> Adjust package export declarations 
> -----------------------------------
>
>                 Key: OAK-3842
>                 URL: https://issues.apache.org/jira/browse/OAK-3842
>             Project: Jackrabbit Oak
>          Issue Type: Task
>            Reporter: Michael Dürig
>            Assignee: Michael Dürig
>            Priority: Critical
>              Labels: api, modularization, technical_debt
>             Fix For: 1.4
>
>
> 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. 
> /cc [~frm], [~chetanm], [~mmarth]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to