felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felix Meschberger <fmesc...@adobe.com>
Subject Re: Future of the Maven SCR Plugin
Date Mon, 07 Nov 2011 17:58:58 GMT
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
> Carsten
> 2011/11/7 Felix Meschberger <fmeschbe@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
> cziegeler@apache.org

View raw message