Hi guys,

I have implemented an AbstractMavenLifecycleParticipant to customize the 
standard build behavior a bit.
The declaration of the participant looks like this:

@Component(role = AbstractMavenLifecycleParticipant.class, hint = 
"testParticipant")
public class TestParticipant extends AbstractMavenLifecycleParticipant
        implements Initializable { 
…
}

I have noticed, however, that the afterSessionStart method is never invoked. I 
debugged the getLifecycleParticipants method in the DefaultMaven.java class and 
it looks like an class-loading issue.
Container.lookupList( AbstractMavenLifecycleParticipant.class ) method fetches 
my participant only when the context class loader is set to project realm's 
class loader, basically after this stuff is executed:
ClassLoader projectRealm = project.getClassRealm();
Thread.currentThread().setContextClassLoader( projectRealm );

afterSessionStart() method, however, is invoked before the projects are read, 
so in general, it look like it is impossible to use the "afterSessionStart" 
method from a plugin defined in a project...
Am I right, or maybe I am missing something? I am willing to provide a patch if 
you explain what the default behavior should be.

Thanks in advance,
Tom Bujok




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to