You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2022/04/24 11:49:31 UTC

[maven] branch maven-3.9.x updated: [MNG-7457] Warn about deprecated plugin Mojo

This is an automated email from the ASF dual-hosted git repository.

sjaranowski pushed a commit to branch maven-3.9.x
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/maven-3.9.x by this push:
     new dd0ddef8f [MNG-7457] Warn about deprecated plugin Mojo
dd0ddef8f is described below

commit dd0ddef8f6d4c998472dff91d2a2153959a6049f
Author: Slawomir Jaranowski <s....@gmail.com>
AuthorDate: Sat Apr 23 21:55:29 2022 +0200

    [MNG-7457] Warn about deprecated plugin Mojo
    
    (cherry picked from commit 702f52d0ea7c5e90b495bc05f079ca3e952766a8)
---
 .../plugin/internal/DeprecatedPluginValidator.java | 48 ++++++++++++++++------
 1 file changed, 35 insertions(+), 13 deletions(-)

diff --git a/maven-core/src/main/java/org/apache/maven/plugin/internal/DeprecatedPluginValidator.java b/maven-core/src/main/java/org/apache/maven/plugin/internal/DeprecatedPluginValidator.java
index 48e16c60c..4c21f80e3 100644
--- a/maven-core/src/main/java/org/apache/maven/plugin/internal/DeprecatedPluginValidator.java
+++ b/maven-core/src/main/java/org/apache/maven/plugin/internal/DeprecatedPluginValidator.java
@@ -21,6 +21,7 @@ package org.apache.maven.plugin.internal;
 
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
 import org.apache.maven.plugin.descriptor.Parameter;
+import org.apache.maven.shared.utils.logging.MessageBuilder;
 import org.apache.maven.shared.utils.logging.MessageUtils;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
@@ -30,7 +31,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Print warnings if deprecated params of plugin are used in configuration.
+ * Print warnings if deprecated mojo or parameters of plugin are used in configuration.
  *
  * @author Slawomir Jaranowski
  */
@@ -50,6 +51,11 @@ class DeprecatedPluginValidator implements MavenPluginConfigurationValidator
             return;
         }
 
+        if ( mojoDescriptor.getDeprecated() != null )
+        {
+            logDeprecatedMojo( mojoDescriptor );
+        }
+
         if ( mojoDescriptor.getParameters() == null )
         {
             return;
@@ -69,7 +75,7 @@ class DeprecatedPluginValidator implements MavenPluginConfigurationValidator
 
         if ( isValueSet( config, expressionEvaluator ) )
         {
-            logDeprecateWarn( parameter );
+            logDeprecatedParameter( parameter );
         }
     }
 
@@ -110,22 +116,38 @@ class DeprecatedPluginValidator implements MavenPluginConfigurationValidator
         return false;
     }
 
-    private static void logDeprecateWarn( Parameter parameter )
+    private void logDeprecatedMojo( MojoDescriptor mojoDescriptor )
+    {
+        String message = MessageUtils.buffer()
+            .warning( "Goal '" )
+            .warning( mojoDescriptor.getGoal() )
+            .warning( "' is deprecated: " )
+            .warning( mojoDescriptor.getDeprecated() )
+            .toString();
+
+        LOGGER.warn( message );
+    }
+
+    private static void logDeprecatedParameter( Parameter parameter )
     {
-        StringBuilder sb = new StringBuilder();
-        sb.append( "Parameter '" );
-        sb.append( parameter.getName() );
-        sb.append( '\'' );
+        MessageBuilder messageBuilder = MessageUtils.buffer()
+            .warning( "Parameter '" )
+            .warning( parameter.getName() )
+            .warning( '\'' );
+
         if ( parameter.getExpression() != null )
         {
             String userProperty = parameter.getExpression().replace( "${", "'" ).replace( '}', '\'' );
-            sb.append( " (user property " );
-            sb.append( userProperty );
-            sb.append( ")" );
+            messageBuilder
+                .warning( " (user property " )
+                .warning( userProperty )
+                .warning( ")" );
         }
-        sb.append( " is deprecated: " );
-        sb.append( parameter.getDeprecated() );
 
-        LOGGER.warn( MessageUtils.buffer().warning( sb.toString() ).toString() );
+        messageBuilder
+            .warning( " is deprecated: " )
+            .warning( parameter.getDeprecated() );
+
+        LOGGER.warn( messageBuilder.toString() );
     }
 }