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

hboutemy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-artifact-plugin.git


The following commit(s) were added to refs/heads/master by this push:
     new c3bbf3c  [MARTIFACT-12] configure ignored artifacts
c3bbf3c is described below

commit c3bbf3cf2e09551db68ff5f6ce7863bdd40d38f1
Author: HervĂ© Boutemy <[email protected]>
AuthorDate: Sun Feb 14 22:44:17 2021 +0100

    [MARTIFACT-12] configure ignored artifacts
---
 .../plugins/artifact/buildinfo/BuildInfoWriter.java   | 19 +++++++++++++++++++
 .../plugins/artifact/buildinfo/BuildinfoMojo.java     |  8 ++++++++
 2 files changed, 27 insertions(+)

diff --git 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/BuildInfoWriter.java
 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/BuildInfoWriter.java
index 837e7c6..3de2930 100644
--- 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/BuildInfoWriter.java
+++ 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/BuildInfoWriter.java
@@ -24,6 +24,7 @@ import java.io.PrintWriter;
 import java.util.LinkedHashMap;
 import java.util.Map;
 import java.util.Properties;
+import java.util.Set;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.handler.ArtifactHandler;
@@ -44,6 +45,7 @@ class BuildInfoWriter
     private final Map<Artifact, String> artifacts = new LinkedHashMap<>();
     private int projectCount = -1;
     private boolean ignoreJavadoc = true;
+    private Set<String> ignore;
     private Toolchain toolchain;
 
     BuildInfoWriter( Log log, PrintWriter p, boolean mono )
@@ -160,6 +162,10 @@ class BuildInfoWriter
                 // TEMPORARY ignore javadoc, waiting for MJAVADOC-627 in 
m-javadoc-p 3.2.0
                 continue;
             }
+            if ( isIgnore( attached ) )
+            {
+                continue;
+            }
             printArtifact( prefix, n++, attached );
         }
     }
@@ -251,6 +257,19 @@ class BuildInfoWriter
         this.ignoreJavadoc = ignoreJavadoc;
     }
 
+    void setIgnore( Set<String> ignore )
+    {
+        this.ignore = ignore;
+    }
+
+    private boolean isIgnore( Artifact attached )
+    {
+        String classifier = attached.getClassifier();
+        String extension = attached.getType();
+        String search = ( classifier == null ) ? "" : ( classifier + '.' ) + 
extension;
+        return ignore.contains( search );
+    }
+
     public void setToolchain( Toolchain toolchain )
     {
         this.toolchain = toolchain;
diff --git 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/BuildinfoMojo.java 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/BuildinfoMojo.java
index d095947..d233fda 100644
--- 
a/src/main/java/org/apache/maven/plugins/artifact/buildinfo/BuildinfoMojo.java
+++ 
b/src/main/java/org/apache/maven/plugins/artifact/buildinfo/BuildinfoMojo.java
@@ -52,6 +52,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
+import java.util.Set;
 
 /**
  * Creates a buildinfo file recording build environment and output, as 
specified in
@@ -89,6 +90,12 @@ public class BuildinfoMojo
     private boolean ignoreJavadoc;
 
     /**
+     * Artifacts to ignore, specified as <code>extension</code> or 
<code>classifier.extension</code>.
+     */
+    @Parameter( property = "buildinfo.ignore", defaultValue = "" )
+    private Set<String> ignore;
+
+    /**
      * Specifies whether to attach the generated buildinfo file to the project.
      */
     @Parameter( property = "buildinfo.attach", defaultValue = "true" )
@@ -264,6 +271,7 @@ public class BuildinfoMojo
         {
             BuildInfoWriter bi = new BuildInfoWriter( getLog(), p, mono );
             bi.setIgnoreJavadoc( ignoreJavadoc );
+            bi.setIgnore( ignore );
             bi.setToolchain( getToolchain() );
 
             bi.printHeader( root, mono ? null : project );

Reply via email to