You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2009/08/04 21:06:05 UTC

svn commit: r800923 - in /maven/enforcer/trunk: enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/ enforcer-rules/src/site/apt/ maven-enforcer-plugin/src/it/

Author: brianf
Date: Tue Aug  4 19:06:05 2009
New Revision: 800923

URL: http://svn.apache.org/viewvc?rev=800923&view=rev
Log:
MENFORCER-81 banned plugins, patch from Marvin Froeder

Added:
    maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedPlugins.java
Modified:
    maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
    maven/enforcer/trunk/enforcer-rules/src/site/apt/index.apt
    maven/enforcer/trunk/maven-enforcer-plugin/src/it/pom.xml

Modified: maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java?rev=800923&r1=800922&r2=800923&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java (original)
+++ maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java Tue Aug  4 19:06:05 2009
@@ -31,7 +31,7 @@
 // TODO: Auto-generated Javadoc
 /**
  * Abstract Rule for banning dependencies.
- * 
+ *
  * @author <a href="mailto:brianf@apache.org">Brian Fox</a>
  * @version $Id$
  */
@@ -44,7 +44,7 @@
 
     /**
      * Execute the rule.
-     * 
+     *
      * @param helper the helper
      * @throws EnforcerRuleException the enforcer rule exception
      */
@@ -64,15 +64,7 @@
         }
 
         // get the correct list of dependencies
-        Set dependencies = null;
-        if ( searchTransitive )
-        {
-            dependencies = project.getArtifacts();
-        }
-        else
-        {
-            dependencies = project.getDependencyArtifacts();
-        }
+        Set dependencies = getDependenciesToCheck( project );
 
         // look for banned dependencies
         Set foundExcludes = checkDependencies( dependencies, helper.getLog() );
@@ -88,7 +80,8 @@
             Iterator iter = foundExcludes.iterator();
             while ( iter.hasNext() )
             {
-                buf.append( "Found Banned Dependency: " + ( (Artifact) iter.next() ).getId() + "\n" );
+                Artifact artifact = (Artifact) iter.next();
+                buf.append( getErrorMessage( artifact ) );
             }
             message = buf.toString();
 
@@ -97,9 +90,28 @@
 
     }
 
+    protected CharSequence getErrorMessage( Artifact artifact )
+    {
+        return "Found Banned Dependency: " + artifact.getId() + "\n";
+    }
+
+    protected Set getDependenciesToCheck( MavenProject project )
+    {
+        Set dependencies = null;
+        if ( searchTransitive )
+        {
+            dependencies = project.getArtifacts();
+        }
+        else
+        {
+            dependencies = project.getDependencyArtifacts();
+        }
+        return dependencies;
+    }
+
     /**
      * Checks the set of dependencies against the list of excludes.
-     * 
+     *
      * @param dependencies the dependencies
      * @param log the log
      * @return the sets the
@@ -110,7 +122,7 @@
 
     /**
      * Gets the message.
-     * 
+     *
      * @return the message
      */
     public String getMessage()
@@ -120,7 +132,7 @@
 
     /**
      * Sets the message.
-     * 
+     *
      * @param theMessage the message to set
      */
     public void setMessage( String theMessage )
@@ -130,7 +142,7 @@
 
     /**
      * Checks if is search transitive.
-     * 
+     *
      * @return the searchTransitive
      */
     public boolean isSearchTransitive()
@@ -140,7 +152,7 @@
 
     /**
      * Sets the search transitive.
-     * 
+     *
      * @param theSearchTransitive the searchTransitive to set
      */
     public void setSearchTransitive( boolean theSearchTransitive )

Added: maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedPlugins.java
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedPlugins.java?rev=800923&view=auto
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedPlugins.java (added)
+++ maven/enforcer/trunk/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BannedPlugins.java Tue Aug  4 19:06:05 2009
@@ -0,0 +1,27 @@
+package org.apache.maven.plugins.enforcer;
+
+import java.util.Set;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.project.MavenProject;
+
+/**
+ * This rule checks that lists of plguins are not included.
+ *
+ * @author <a href="mailto:velo.br@gmail.com">Marvin Froeder</a>
+ */
+public class BannedPlugins
+    extends BannedDependencies
+{
+
+    protected Set getDependenciesToCheck( MavenProject project )
+    {
+        return project.getPluginArtifacts();
+    }
+
+    protected CharSequence getErrorMessage( Artifact artifact )
+    {
+        return "Found Banned Plugin: " + artifact.getId() + "\n";
+    }
+
+}

Modified: maven/enforcer/trunk/enforcer-rules/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/enforcer-rules/src/site/apt/index.apt?rev=800923&r1=800922&r2=800923&view=diff
==============================================================================
--- maven/enforcer/trunk/enforcer-rules/src/site/apt/index.apt (original)
+++ maven/enforcer/trunk/enforcer-rules/src/site/apt/index.apt Tue Aug  4 19:06:05 2009
@@ -33,6 +33,8 @@
  
   * {{{./bannedDependencies.html}bannedDependencies}} - enforces that excluded dependencies aren't included.
 
+  * bannedPlugins - enforces that excluded plugins aren't included.
+
   * {{{./evaluateBeanshell.html}evaluateBeanshell}} - evaluates a beanshell script.
 
   * {{{./requireReleaseDeps.html}requireReleaseDeps}} - enforces that no snapshots are included as dependencies.
@@ -57,4 +59,4 @@
 
   []
 
-  You may also create and inject your own custom rules by following the {{{http://maven.apache.org/enforcer/enforcer-api/writing-a-custom-rule.html}maven-enforcer-rule-api}} instructions.
\ No newline at end of file
+  You may also create and inject your own custom rules by following the {{{http://maven.apache.org/enforcer/enforcer-api/writing-a-custom-rule.html}maven-enforcer-rule-api}} instructions.

Modified: maven/enforcer/trunk/maven-enforcer-plugin/src/it/pom.xml
URL: http://svn.apache.org/viewvc/maven/enforcer/trunk/maven-enforcer-plugin/src/it/pom.xml?rev=800923&r1=800922&r2=800923&view=diff
==============================================================================
--- maven/enforcer/trunk/maven-enforcer-plugin/src/it/pom.xml (original)
+++ maven/enforcer/trunk/maven-enforcer-plugin/src/it/pom.xml Tue Aug  4 19:06:05 2009
@@ -74,6 +74,11 @@
 								<exclude>org.apache.maven</exclude>
 								</excludes>
 								</bannedDependencies>
+								<bannedPlugins>
+								<excludes>
+								<exclude>com.acme</exclude>
+								</excludes>
+								</bannedPlugins>
 								<requirePluginVersions/>
 							</rules>
 						</configuration>