This is an automated email from the ASF dual-hosted git repository. cstamas pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven.git
The following commit(s) were added to refs/heads/master by this push: new 65d95f08a [MNG-7717] Maven warns wrongly about deprecated parameter (#1031) 65d95f08a is described below commit 65d95f08a6e86d6ce17edab7e20e741af7e1cc6f Author: Tamas Cservenak <ta...@cservenak.net> AuthorDate: Fri Mar 3 08:52:40 2023 +0100 [MNG-7717] Maven warns wrongly about deprecated parameter (#1031) The implementation for MNG-7706 is wrong: it changes parameter NAME, where it should check type and defaultValue instead. --- https://issues.apache.org/jira/browse/MNG-7717 --- .../internal/DeprecatedCoreExpressionValidator.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/maven-core/src/main/java/org/apache/maven/plugin/internal/DeprecatedCoreExpressionValidator.java b/maven-core/src/main/java/org/apache/maven/plugin/internal/DeprecatedCoreExpressionValidator.java index 0437b6252..0eea6f92a 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/internal/DeprecatedCoreExpressionValidator.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/internal/DeprecatedCoreExpressionValidator.java @@ -22,6 +22,7 @@ import javax.inject.Named; import javax.inject.Singleton; import java.util.HashMap; +import java.util.Objects; import org.apache.maven.plugin.descriptor.MojoDescriptor; import org.apache.maven.plugin.descriptor.Parameter; @@ -43,14 +44,14 @@ class DeprecatedCoreExpressionValidator extends AbstractMavenPluginParametersVal static { HashMap<String, String> deprecatedCoreParameters = new HashMap<>(); - deprecatedCoreParameters.put("localRepository", ARTIFACT_REPOSITORY_REASON); - deprecatedCoreParameters.put("session.localRepository", ARTIFACT_REPOSITORY_REASON); + deprecatedCoreParameters.put("${localRepository}", ARTIFACT_REPOSITORY_REASON); + deprecatedCoreParameters.put("${session.localRepository}", ARTIFACT_REPOSITORY_REASON); DEPRECATED_CORE_PARAMETERS = deprecatedCoreParameters; } @Override protected String getParameterLogReason(Parameter parameter) { - return "is deprecated core expression; " + DEPRECATED_CORE_PARAMETERS.get(parameter.getName()); + return "is deprecated core expression; " + DEPRECATED_CORE_PARAMETERS.get(parameter.getDefaultValue()); } @Override @@ -62,8 +63,12 @@ class DeprecatedCoreExpressionValidator extends AbstractMavenPluginParametersVal return; } - mojoDescriptor.getParameters().stream() - .filter(parameter -> DEPRECATED_CORE_PARAMETERS.containsKey(parameter.getName())) - .forEach(this::logParameter); + mojoDescriptor.getParameters().stream().filter(this::isDeprecated).forEach(this::logParameter); + } + + private boolean isDeprecated(Parameter parameter) { + return Objects.equals( + org.apache.maven.artifact.repository.ArtifactRepository.class.getName(), parameter.getType()) + && DEPRECATED_CORE_PARAMETERS.containsKey(parameter.getDefaultValue()); } }