I opened https://github.com/bndtools/bnd/issues/1292 
<https://github.com/bndtools/bnd/issues/1292> about that.

> On 24 Jan 2016, at 18:33, Konrad Windszus <[email protected]> wrote:
> 
> In SLING-5013 the according provider type/consumer type annotations have been 
> added to all interfaces except for the annotation types.
> In older versions of the maven-bundle-plugin the provider type has been the 
> default but now it is consumer type 
> (https://github.com/bndtools/bnd/commit/5935e70ba990e40a95e14fb932158ebf8d2225fe).
> But testing it out it actually doesn’t make any difference for baselining 
> whether any annotation type is marked consumer or provider type. In case I 
> add a new element to the type (independent on whether this has a default or 
> not), the suggested version upgrade is only minor. The output of the 
> baselining is always 
> 
> org.apache.sling.models.annotations.injectorspecific minor      1.1.0      
> 1.1.0      1.2.0      Version increase required
> [INFO]      < annotation 
> org.apache.sling.models.annotations.injectorspecific.ResourcePath
> [INFO]          + method newField()
> [INFO]              + access abstract
> [INFO]              + return boolean
> 
> This is probably because adding a method to an interface does not break 
> compatibility 
> (https://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html#jls-13.5.3, 
> and 
> https://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html#jls-13.5.7), 
> but in reality all the clients will fail at runtime if the element does not 
> have a default value. Is this some corner case, which is just not covered by 
> the baselining plugin or have I discovered a bug?
> Thanks for your comments on that.
> Konrad

Reply via email to