Hi,
Am 07.11.2011 um 18:48 schrieb Carsten Ziegeler:

> +1 these were exactly my plans :) especially changing the retention
> level to class file will allow us better tooling support (like using
> an annotation processor which could be triggered from an ide as well)
> and we can finally drop qdox.
> 
> If noone beats me, I'll create issues for these things and work on
> them in the near future.

Go, Carsten, go ! ;-)

Regards
Felix

> 
> Regards
> Carsten
> 
> 2011/11/7 Felix Meschberger <fmesc...@adobe.com>:
>> Hi all,
>> 
>> The OSGi Compendium specification is taking shape and it will include a 
>> specification for Declarative Services annotations for build-tools. This is 
>> the same turf as we operate on with the SCR maven plugin (and ant task).
>> 
>> Going forward I see the following changes, we might want to apply to the SCR 
>> plugin:
>> 
>> * drop support for JavaDoc Tags. These have been deprecated for some time 
>> now and I think going forward we should drop them. Not the least to make the 
>> plugin code simpler.
>> 
>> * change the retention level of our own annotations from source level to 
>> class file. This would bring the retention level in line with the upcoming 
>> OSGi annotations and would allow us ot uniformely read the annotations from 
>> the class files.
>> 
>> * Add support for the new OSGi standard annotations, of course.
>> 
>> * Consider supportig mixing Felix and standard annotations in the same class 
>> (not a requirement but might be helpful -- or confusing ;-) )
>> 
>> * Replace the use of QDox for reading annotations by a class file annotation 
>> reader, such as the BND library.
>> 
>> * For backwards compatibility keep the support for the intermediate XML 
>> files (OSGI-INF/scr-plugin/scrinfo.xml) we used for inheritance support. But 
>> in the future these files will not be generated any longer and be replaced 
>> by direct class file reading of extended classes.
>> 
>> As a consequence of these changes, of course, the SCR maven plugin etc. 
>> would be released with an increased major version number due to broken 
>> backwards compatibilty (dropping JavaDoc tag support). Existing Java 
>> annotation use and existing compiled and bundled code keeps being supported.
>> 
>> We also, at the moment, keep our own annotations because they have a number 
>> of advantages IMHO over the standard annotations:
>>  - support class inheritance and abstract components
>>  - have separate @Service annotations (with a different default for service 
>> exposure)
>>  - have separate @Property annotations with simpler and less cluttering 
>> syntax
>>  - integrated Metatype descriptor support
>> 
>> WDYT ?
>> 
>> Regards
>> Felix
> 
> 
> 
> -- 
> Carsten Ziegeler
> cziege...@apache.org

Reply via email to