slawekjaranowski commented on code in PR #741:
URL: https://github.com/apache/maven/pull/741#discussion_r882879288
##########
maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultMojoExecutionConfigurator.java:
##########
@@ -108,4 +122,75 @@ private PluginExecution findPluginExecution( String
executionId, Collection<Plug
return null;
}
+ private void checkUnKnownMojoConfigurationParameters( MojoExecution
mojoExecution )
+ {
+ if ( mojoExecution.getConfiguration() == null ||
mojoExecution.getConfiguration().getChildCount() == 0 )
+ {
+ return;
+ }
+
+ MojoDescriptor mojoDescriptor = mojoExecution.getMojoDescriptor();
+
+ // in first step get parameter names of current goal
+ Set<String> parametersNamesGoal =
mojoDescriptor.getParameters().stream()
+ .flatMap( this::getParameterNames )
+ .collect( Collectors.toSet() );
+
+ Set<String> unknownParameters = getUnknownParameters( mojoExecution,
parametersNamesGoal );
+
+ if ( unknownParameters.isEmpty() )
+ {
+ return;
+ }
+
+ // second step get parameter names of all plugin goals
+ Set<String> parametersNamesAll =
mojoDescriptor.getPluginDescriptor().getMojos().stream()
+ .flatMap( m -> m.getParameters().stream() )
+ .flatMap( this::getParameterNames )
+ .collect( Collectors.toSet() );
Review Comment:
One plugin can have many goals with different parameters list.
This checking is done in context with specific goal, but configuration can
have parameters for other goals.
I simply check if given parameters is valid for any goal in plugin.
Even parameters can be provided for goal which will be executed only be cli.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]