Hello!
I think I have seen an answer to this question before, but I can't seem to
find it in the mailinligs. Anyway, first question:
If an abstract class implements the Serviceable interface and there exists
an @avalon.dependency type="xxx" in the
abstract class, the .xinfo file is generated only for a class which extends
the abstract class.
More correctly - the xinfo is generated if the class is non-abstract. During generation the supertypes are recursively checked for dependency declarations.
The .xinfo file is not generated for an additional class that extends the abstract class, but is placed in another package.
Not following you here. Basically the classes in avalon/meta/tools/..../builder/tags is where the action is. The class DependencyTag requests all of the "service" methods - and the abstract class AbstractTag iterates through supertypes grabbing all of the service method tags. DependencyTag then writes out the full set of dependencies for that concrete class instance.
Is it a bug or a feature that the .xinfo file is not generated for the abstract class, but for the class that implements it?
We cannot instantiate an abstract component and we don't have a notion of type extending type - so - lets call it a feature.
If it is a feature, shouldn't all classes that extends from the abstract class get generated .xinfo files?
Yes - all "concrete" classes should have xinfos generated.
The second question is about lifecycle extensions: Is there a way to define the "execution" order of the lifecycles, e.g. via dependencies or configuration?
The execution order is defined by the order in which lifecycle "stage" dependencies are declared in the xinfo.
Cheers, Stephen.
Yep, that's it for now :)
/Tobias
------------------------------------------------------------------------
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--
|------------------------------------------------| | Magic by Merlin | | Production by Avalon | | | | http://avalon.apache.org/merlin | | http://dpml.net/merlin/distributions/latest | |------------------------------------------------|
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
