the most interesting code is probably in maven-reporting-executor http://maven.apache.org/shared/maven-reporting-exec/, which is used by m-site- p
Regards, Hervé Le jeudi 9 août 2012 12:29:44 Olivier Lamy a écrit : > Hi > Have a look at how we solve that in the site plugin sources > That will probably help you. > > -- > Olivier > > Le 9 août 2012 09:29, "Kinai User" <ki...@live.nl> a écrit : > > Hi there, > > > > I have developed a plugin which can execute other Maven plugins depending > > on > > certain properties available in a project. > > > > The process is like this: > > 1. Maven build starts > > 2. Plugin A is triggered which has several executions defined. Depending > > on > > properties in the project on hand a execution is triggered > > 3. Plugin B (or C, D etc) will be triggered. > > > > The problem is I do not have access to the MavenProject and MavenSession > > in > > Plugin B (or C, D) because these are not injected resulting in > > NullPointerExceptions. The BuildPluginManager however is correctly > > injected > > (however not needed in this plugin but added it to test the mechanism). > > > > I'm using the same syntax in Plugin A and there both MavenProject and > > MavenSession are injected. > > > > Some code examples: > > > > Plugin A executing other plugins: > > ---------------------------------------- > > > > private void executePlugin ( Plugin plugin, String executionId, String > > > > goal ) throws MojoExecutionException > > > > { > > > > try > > { > > > > List<RemoteRepository> repositories = > > > > session.getCurrentProject().getRemoteProjectRepositories(); > > > > MojoDescriptor mojoDescriptor = > > > > pluginManager.getMojoDescriptor(plugin, goal, repositories, > > > > session.getRepositorySession()); > > > > MojoExecution mojoExecution = new MojoExecution( mojoDescriptor, > > > > executionId ); > > > > getLog().info( "Executing goal " + goal + " within execution " + > > > > executionId + " for plugin " + plugin ); > > > > pluginManager.executeMojo(session , mojoExecution); > > > > } > > catch ( Exception e ) > > > > { > > > > throw new MojoExecutionException( "Error executing plugin " + > > > > plugin + " with execution id " + > > > > executionId, e ); > > > > } > > > > } > > > > Plugin B > > ---------------- > > /** > > > > * Goal which updates the VersionIF.java with the current version. > > * @goal updateVersion > > * @phase process-sources > > * > > */ > > > > public class VersionIFMojo extends AbstractMojo { > > > > /** > > > > * The Maven project. > > * > > * @parameter expression="${project}" > > */ > > > > private MavenProject project; > > > > /** > > > > * The Maven Session Object > > * > > * @parameter expression="${session}" > > * @readonly > > */ > > > > protected MavenSession session; > > > > /** > > > > * Plugin manager used to invoke plugin executions. > > * > > * @required > > * @component > > > > */ > > > > private BuildPluginManager pManager; > > > > <...> > > > > All worked well when using Maven 2 but after migrating to Maven 3 builds > > stopped working. > > Can somebody help me resolving this issue? > > > > Thank you > > > > Kind regards, > > Richad > > > > > > > > -- > > View this message in context: > > http://maven.40175.n5.nabble.com/MavenProject-MavenSession-not-injected-wh > > en-executing-plugin-from-a-plugin-tp5716570.html Sent from the Maven - > > Users mailing list archive at Nabble.com. > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > > For additional commands, e-mail: users-h...@maven.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org