Re: BuildPluginManager NPE

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: BuildPluginManager NPE

Francois Papon
Thanks Romain!

I will try this way.

regards,

François
[hidden email]

Le 22/01/2020 à 07:05, Romain Manni-Bucau a écrit :

> Guess you wanted to call MavenPluginManager#getConfiguredMojo or mimic its
> interpolation support:
>
> ExpressionEvaluator expressionEvaluator = new
> PluginParameterExpressionEvaluator(session, mojoExecution);
> this.populatePluginFields(mojo, mojoDescriptor, pluginRealm,
> pomConfiguration, expressionEvaluator);
>
>
> Romain Manni-Bucau
> @rmannibucau <https://twitter.com/rmannibucau> |  Blog
> <https://rmannibucau.metawerx.net/> | Old Blog
> <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> |
> LinkedIn <https://www.linkedin.com/in/rmannibucau> | Book
> <https://www.packtpub.com/application-development/java-ee-8-high-performance>
>
>
> Le mar. 21 janv. 2020 à 08:13, Francois Papon <[hidden email]>
> a écrit :
>
>> Hi,
>>
>> I found a workaround by adding the parameter in the configuration:
>>
>> <mavenSession>${session}</mavenSession>
>>
>> However, I don't understand why the default values of the external
>> plugin are not used:
>>
>> @Parameter(defaultValue = "${session}", readonly = true)
>>  protected MavenSession mavenSession;
>>
>> regards,
>>
>> François
>> [hidden email]
>>
>> Le 20/01/2020 à 20:34, Francois Papon a écrit :
>>> Hi,
>>>
>>> I'm using the BuildPluginManager in my custom maven-plugin to execute an
>>> external maven plugin but I have a NPE  in the executeMojo because the
>>> maven session in the external maven plugin is null.
>>>
>>> Here an example of the code I'm using:
>>>
>>>             PluginDescriptor toolPluginDescriptor =
>>> pluginManager.loadPlugin(toolPlugin,
>>>                     mavenProject.getRemotePluginRepositories(),
>>>                     mavenSession.getRepositorySession());
>>>             MojoDescriptor toolMojoDescriptor =
>>> toolPluginDescriptor.getMojo("assembly");
>>>             MojoExecution execution = new
>>> MojoExecution(toolMojoDescriptor, configuration);
>>>             pluginManager.executeMojo(mavenSession, execution);
>>> //mavenSession is not null
>>>
>>> Any ideas?
>>>
>>> Thanks!
>>>
>>> regards,
>>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]