Hi

Am 10.06.2013 um 19:21 schrieb Carsten Ziegeler:

> Hi,
> 
> the current version of the scr tooling (maven scr plugin, ant task) has
> grown over time. We already had a major refactoring due to the drop of
> support the javadoc tags.
> 
> Now, looking at the code and the features, I would like to discuss to drop
> some more and create a new 2.0 release:
> 
> a) Current we support inheritance between components, this allows to
> inherit properties, references etc. from a super class or interface. While
> this sounds nice, the problem is that the base class might be different at
> runtime than at build time. So the only situation where inhertiance works
> reliable is by inheriting properties from an interface (due to semantic
> versioning) or if the base class is in the same bundle. However the latter
> can't be ensured by the SCR tooling as at the point the scr tools run, the
> final artifact has not been build yet.
> The DS annoations from the spec don't allow inheritance for this reason. So
> I think we can think about dropping thsi.

Actually versioning is not the only problem: The other problem is that for 
inheritance to work across bundle boundaries, the (abstract) base class has to 
be exported which is less of a problem if the base class is abstract (yet there 
might be arguments against exporting abstract classes, too).

In any case, annotation inheritance creates strong coupling between bundles, 
which is what we don't want.

Regards
Felix


> 
> b) In order to support incremental builds we switched some time ago from
> generating a single large descriptor to separate descriptor files. This is
> now the default. I'm wondering whether we need the support for a single
> large xml descriptor file at all. If we drop this feature we could clean up
> a lot of code which is currently related to distinguishing between the two
> modes.
> 
> WDYT?
> 
> Regards
> Carsten
> 
> -- 
> Carsten Ziegeler
> cziege...@apache.org

Reply via email to