jackrabbit-oak-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig <mdue...@apache.org>
Subject Re: Adding ProviderType and ConsumerType annotation to interfaces in exported packages
Date Thu, 24 Apr 2014 12:16:39 GMT

+1, not sure whether we have enough resources to do this in time for 1.0 
though. Maybe we could do it where obvious?


On 24.4.14 10:48 , Chetan Mehrotra wrote:
> As part of OAK-1741 I was changing the Version of exported packages to
> 1.0.0. Looking at the interfaces which are part of exported packages I
> do not see usage of ConsumerType/ProviderType annotations [1]
> In brief and simple terms the interfaces which are expected to be
> implemented by users of Oak api (like
> org.apache.jackrabbit.oak.plugins.observation.EventHandler) should be
> marked with ConsumerType anotation. This enables bnd tool to generate
> package import instructions with stricter range [1.0,1.1)
> For all other interface which are supposed to be provided by Oak we
> should mark them with ProviderType. This enables bnd to generate the
> package import instructions with relaxed range [1.0,2) for our api
> consumers. This would help us evolve the api in future easily.
> Currently we are having following interfaces as part of exported
> packages [2]. Looking at the list I believe most are of ProviderType
> i.e. provided by Oak and not required by Oak API users.
> Some like org.apache.jackrabbit.oak.plugins.observation.EventHandler
> are of ConsumerType as we require the API users to implement them.
> Should we add the required annotations for 1.0 release?
> If yes then can team members look into the list and set the right type
> Chetan Mehrotra
> [1] https://github.com/osgi/design/raw/master/rfcs/rfc0197/rfc-0197-OSGiPackageTypeAnnotations.pdf
> [2] https://issues.apache.org/jira/browse/OAK-1741?focusedCommentId=13979465#comment-13979465

View raw message