[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[tycho-dev] Invoke maven project extension before TychoMavenLifecycleParticipant - patch question

Hi guys,

In this thread I described why it is impossible to invoke any processing logic before TychoMavenLifecycleParticipant:
http://dev.eclipse.org/mhonarc/lists/tycho-user/msg02103.html
It is also connected to this problem: http://www.mail-archive.com/users@xxxxxxxxxxxxxxxx/msg123753.html

Such limitation breaks the maven processing principle - since normally the order of plugins' in the pom.xml file defines in which order they are executed. Right now with tycho - there is now way to invoke anything before the tycho project setup finishes.  In order to add some more flexibility to a tycho build I think it would be perfect if there was some kind of a callback mechanism included in the TychoMavenLifecycleParticipant.

let's say that we could have such interface:

public interface TychoLifecycleParticipant {

	void beforeProjectSetup(MavenSession session);
	void afterProjectSetup(MavenSession session);

}

and then in the TychoMavenLifecycleParticipant we could add:

public class TychoMavenLifecycleParticipant extends AbstractMavenLifecycleParticipant {  
    @Override
    public void afterProjectsRead(MavenSession session) throws MavenExecutionException {
   	Collection<TychoLifecycleParticipant> tychoParticipants = plexus.lookupList(TychoMavenLifecycleParticipant.class);

	for (TychoLifecycleParticipant p : tychoParticipants) { 
		p. beforeProjectSetup(session);
	 }

	(…)	

	for (TychoLifecycleParticipant p : tychoParticipants) { 
		p. afterProjectSetup(session);
	 }
    }
}


Do you agree with that and would you accept such patch?

Cheers,
Tom Bujok