[ https://issues.apache.org/jira/browse/OAK-3842?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Dürig updated OAK-3842: ------------------------------- Attachment: OAK-3842.patch In summary we will thus remove the package export versions of {code} org.apache.jackrabbit.oak.security.authentication.ldap org.apache.jackrabbit.oak.spi.blob org.apache.jackrabbit.oak.spi.blob.stats org.apache.jackrabbit.oak.commons.benchmark org.apache.jackrabbit.oak.commons.cache org.apache.jackrabbit.oak.commons.concurrent org.apache.jackrabbit.oak.commons.io org.apache.jackrabbit.oak.commons.jmx org.apache.jackrabbit.oak.commons.json org.apache.jackrabbit.oak.commons org.apache.jackrabbit.oak.commons.sort org.apache.jackrabbit.oak.json org.apache.jackrabbit.oak.management org.apache.jackrabbit.oak.namepath org.apache.jackrabbit.oak.osgi org.apache.jackrabbit.oak org.apache.jackrabbit.oak.plugins.atomic org.apache.jackrabbit.oak.plugins.backup org.apache.jackrabbit.oak.plugins.commit org.apache.jackrabbit.oak.plugins.identifier org.apache.jackrabbit.oak.plugins.index.aggregate org.apache.jackrabbit.oak.plugins.index.counter.jmx org.apache.jackrabbit.oak.plugins.index.counter org.apache.jackrabbit.oak.plugins.index.fulltext org.apache.jackrabbit.oak.plugins.index.nodetype org.apache.jackrabbit.oak.plugins.index org.apache.jackrabbit.oak.plugins.index.property.jmx org.apache.jackrabbit.oak.plugins.index.property org.apache.jackrabbit.oak.plugins.index.reference org.apache.jackrabbit.oak.plugins.itemsave org.apache.jackrabbit.oak.plugins.lock org.apache.jackrabbit.oak.plugins.memory org.apache.jackrabbit.oak.plugins.name org.apache.jackrabbit.oak.plugins.nodetype org.apache.jackrabbit.oak.plugins.nodetype.write org.apache.jackrabbit.oak.plugins.observation.filter org.apache.jackrabbit.oak.plugins.observation org.apache.jackrabbit.oak.plugins.segment.file org.apache.jackrabbit.oak.plugins.segment.http org.apache.jackrabbit.oak.plugins.segment org.apache.jackrabbit.oak.plugins.value org.apache.jackrabbit.oak.plugins.version org.apache.jackrabbit.oak.query.fulltext org.apache.jackrabbit.oak.query org.apache.jackrabbit.oak.security org.apache.jackrabbit.oak.spi.commit org.apache.jackrabbit.oak.spi.gc org.apache.jackrabbit.oak.spi.lifecycle org.apache.jackrabbit.oak.spi.query org.apache.jackrabbit.oak.spi.state org.apache.jackrabbit.oak.spi.whiteboard org.apache.jackrabbit.oak.spi.xml org.apache.jackrabbit.oak.stats org.apache.jackrabbit.oak.util org.apache.jackrabbit.oak.jcr org.apache.jackrabbit.oak.plugins.index.lucene org.apache.jackrabbit.oak.plugins.index.lucene.util org.apache.jackrabbit.oak.plugins.index.solr.configuration org.apache.jackrabbit.oak.plugins.index.solr.index org.apache.jackrabbit.oak.plugins.index.solr.query org.apache.jackrabbit.oak.plugins.index.solr.server org.apache.jackrabbit.oak.plugins.index.solr.util {code} and keep the package export versions of {code} org.apache.jackrabbit.oak.spi.security.authentication.external org.apache.jackrabbit.oak.spi.security.authentication.external.basic org.apache.jackrabbit.oak.spi.security.authorization.cug org.apache.jackrabbit.oak.api org.apache.jackrabbit.oak.api.jmx org.apache.jackrabbit.oak.plugins.tree org.apache.jackrabbit.oak.query.facet org.apache.jackrabbit.oak.spi.security org.apache.jackrabbit.oak.spi.security.authentication org.apache.jackrabbit.oak.spi.security.authentication.callback org.apache.jackrabbit.oak.spi.security.authentication.token org.apache.jackrabbit.oak.spi.security.authorization org.apache.jackrabbit.oak.spi.security.authorization.accesscontrol org.apache.jackrabbit.oak.spi.security.authorization.permission org.apache.jackrabbit.oak.spi.security.authorization.restriction org.apache.jackrabbit.oak.spi.security.principal org.apache.jackrabbit.oak.spi.security.privilege org.apache.jackrabbit.oak.spi.security.user org.apache.jackrabbit.oak.spi.security.user.action org.apache.jackrabbit.oak.spi.security.user.util org.apache.jackrabbit.oak.plugins.index.lucene.score org.apache.jackrabbit.oak.plugins.index.lucene.spi {code} Please review attached patch [^OAK-3842.patch]. I'll plan to go forward with this early next week. > 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: Blocker > Labels: api, modularization, technical_debt > Fix For: 1.4 > > Attachments: OAK-3842.patch > > > 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)