Merge pull request #63 from bbranan/patch-1

Corrects the recommended plugin version in the README (update from 3.0.0-M2 to 3.0.0-M3)
diff --git a/.asf.yaml b/.asf.yaml
new file mode 100644
index 0000000..21fb03a
--- /dev/null
+++ b/.asf.yaml
@@ -0,0 +1,26 @@
+# 
+#  Licensed to the Apache Software Foundation (ASF) under one or more
+#  contributor license agreements.  See the NOTICE file distributed with
+#  this work for additional information regarding copyright ownership.
+#  The ASF licenses this file to You under the Apache License, Version 2.0
+#  (the "License"); you may not use this file except in compliance with
+#  the License.  You may obtain a copy of the License at
+# 
+#       http://www.apache.org/licenses/LICENSE-2.0
+# 
+#  Unless required by applicable law or agreed to in writing, software
+#  distributed under the License is distributed on an "AS IS" BASIS,
+#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#  See the License for the specific language governing permissions and
+#  limitations under the License.
+#
+# see https://s.apache.org/asfyaml
+github:
+  description: "Apache Maven Enforcer (Plugin)"
+  homepage: https://maven.apache.org/enforcer/
+  labels:
+    - java
+    - build-management
+    - maven-plugins
+    - maven-enforcer-plugin
+    - maven
diff --git a/.gitignore b/.gitignore
index 6e0a5c5..907eb16 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,5 @@
 .settings
 .classpath
 .project
+.checkstyle
+
diff --git a/README.md b/README.md
index ebddcc8..e285ee1 100644
--- a/README.md
+++ b/README.md
@@ -17,10 +17,11 @@
 Maven Enforcer Plugin - The Loving Iron Fist of Maven™
 ======================================================
 
+[![ASF Jira](https://img.shields.io/endpoint?url=https%3A%2F%2Fmaven.apache.org%2Fbadges%2Fasf_jira-MENFORCER.json)][jira]
 [![Apache License, Version 2.0, January 2004](https://img.shields.io/github/license/apache/maven-enforcer.svg?label=License)][license]
-[![Maven Central](https://img.shields.io/maven-central/v/org.apache.maven.plugins/maven-enforcer-plugin.svg?label=Maven%20Central)](https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.maven.plugins%22%20a%3A%22maven-enforcer-plugin%22)
-[![Jenkins Status](https://img.shields.io/jenkins/s/https/builds.apache.org/job/maven-box/job/maven-enforcer/job/master.svg?style=flat-square)][build]
-[![Jenkins tests](https://img.shields.io/jenkins/t/https/builds.apache.org/job/maven-box/job/maven-enforcer/job/master.svg?style=flat-square)][test-results]
+[![Maven Central](https://img.shields.io/maven-central/v/org.apache.maven.plugins/maven-enforcer-plugin.svg?label=Maven%20Central)](https://search.maven.org/artifact/org.apache.maven.plugins/maven-enforcer-plugin)
+[![Jenkins Status](https://img.shields.io/jenkins/s/https/builds.apache.org/job/maven-box/job/maven-enforcer/job/master.svg?)][build]
+[![Jenkins tests](https://img.shields.io/jenkins/t/https/builds.apache.org/job/maven-box/job/maven-enforcer/job/master.svg?)][test-results]
 
 The Enforcer plugin provides goals to control certain environmental constraints
 such as Maven version, JDK version and OS family along with many more built-in
@@ -84,11 +85,12 @@
 
 
 [home]: https://maven.apache.org/enforcer/maven-enforcer-plugin
+[jira]: https://issues.apache.org/jira/projects/MENFORCER/
 [license]: https://www.apache.org/licenses/LICENSE-2.0
 [build]: https://builds.apache.org/job/maven-box/job/maven-enforcer/
 [test-results]: https://builds.apache.org/job/maven-box/job/maven-enforcer/job/master/lastCompletedBuild/testReport/
-[build-status]: https://img.shields.io/jenkins/s/https/builds.apache.org/job/maven-box/job/maven-enforcer/job/master.svg?style=flat-square
-[build-tests]: https://img.shields.io/jenkins/t/https/builds.apache.org/job/maven-box/job/maven-enforcer/job/master.svg?style=flat-square
+[build-status]: https://img.shields.io/jenkins/s/https/builds.apache.org/job/maven-box/job/maven-enforcer/job/master.svg?
+[build-tests]: https://img.shields.io/jenkins/t/https/builds.apache.org/job/maven-box/job/maven-enforcer/job/master.svg?
 [enforcer-home]: https://maven.apache.org/enforcer/maven-enforcer-plugin/
 [enforcer-download]: https://maven.apache.org/enforcer/download.cgi
 [users-list]: https://maven.apache.org/mailing-lists.html
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
index 34f0f20..1570adc 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequirePluginVersions.java
@@ -647,7 +647,7 @@
 
                 if ( isValidVersion( version ) )
                 {
-                    helper.getLog().debug( "checking for notEmpty and notIsWhiespace(): " + version );
+                    helper.getLog().debug( "checking for notEmpty and notIsWhitespace(): " + version );
                     if ( banRelease && version.equals( "RELEASE" ) )
                     {
                         return false;
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
index c122e10..ef6a38c 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/EnforcerRuleUtils.java
@@ -40,9 +40,6 @@
 public class EnforcerRuleUtils
 {
 
-    /** The factory. */
-    ArtifactFactory factory;
-
     /** The resolver. */
     ArtifactResolver resolver;
 
@@ -63,7 +60,7 @@
     /**
      * Instantiates a new enforcer rule utils.
      *
-     * @param theFactory the the factory
+     * @param theFactory unused
      * @param theResolver the the resolver
      * @param theLocal the the local
      * @param theRemoteRepositories the the remote repositories
@@ -74,7 +71,6 @@
                               List<ArtifactRepository> theRemoteRepositories, MavenProject project, Log theLog )
     {
         super();
-        this.factory = theFactory;
         this.resolver = theResolver;
         this.local = theLocal;
         this.remoteRepositories = theRemoteRepositories;
@@ -95,7 +91,6 @@
         // helper.
         try
         {
-            factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
             resolver = (ArtifactResolver) helper.getComponent( ArtifactResolver.class );
             local = (ArtifactRepository) helper.evaluate( "${localRepository}" );
             project = (MavenProject) helper.evaluate( "${project}" );
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java
index 64290af..48974cd 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequirePluginVersions.java
@@ -51,10 +51,10 @@
 
         // setup the plugins. I'm setting up the foo group
         // with a few bogus entries and then a real one.
-        // this is to test that the list is exhaustively
+        // to test that the list is exhaustively
         // searched for versions before giving up.
         // banLatest/Release will fail if it is found
-        // anywhere in the list
+        // anywhere in the list.
         List<Plugin> plugins = new ArrayList<Plugin>();
         plugins.add( EnforcerTestUtils.newPlugin( "group", "a-artifact", "1.0" ) );
         plugins.add( EnforcerTestUtils.newPlugin( "group", "foo", null ) );
@@ -93,7 +93,7 @@
         rule.setBanLatest( true );
         assertFalse( rule.hasValidVersionSpecified( helper, source, pluginWrappers ) );
 
-        // check that LATEST is exhausively checked
+        // check that LATEST is exhaustively checked
         rule.setBanSnapshots( false );
         source.setArtifactId( "f-artifact" );
         assertFalse( rule.hasValidVersionSpecified( helper, source, pluginWrappers ) );
diff --git a/maven-enforcer-plugin/src/site/apt/index.apt b/maven-enforcer-plugin/src/site/apt/index.apt
index 5d7fd64..1c5cf97 100644
--- a/maven-enforcer-plugin/src/site/apt/index.apt
+++ b/maven-enforcer-plugin/src/site/apt/index.apt
@@ -41,14 +41,14 @@
   General instructions on how to use the Enforcer Plugin can be found on the {{{./usage.html}usage page}}.
   
   In case you still have questions regarding the plugin's usage, please have a look at the {{{./faq.html}FAQ}} and feel
-  free to contact the {{{./mail-lists.html}user mailing list}}. The posts to the mailing list are archived and could
+  free to contact the {{{./mailing-lists.html}user mailing list}}. The posts to the mailing list are archived and could
   already contain the answer to your question as part of an older thread. Hence, it is also worth browsing/searching
-  the {{{./mail-lists.html}mail archive}}.
+  the {{{./mailing-lists.html}mail archive}}.
 
   If you feel like the plugin is missing a feature or has a defect, you can fill a feature request or bug report in our
-  {{{./issue-tracking.html}issue tracker}}. When creating a new issue, please provide a comprehensive description of your
+  {{{./issue-management.html}issue tracker}}. When creating a new issue, please provide a comprehensive description of your
   concern. Especially for fixing bugs it is crucial that the developers can reproduce your problem. For this reason,
   entire debug logs, POMs or most preferably little demo projects attached to the issue are very much appreciated.
   Of course, patches are welcome, too. Contributors can check out the project from our
-  {{{./source-repository.html}source repository}} and will find supplementary information in the
+  {{{./scm.html}source repository}} and will find supplementary information in the
   {{{/guides/development/guide-helping.html}guide to helping with Maven}}.
diff --git a/pom.xml b/pom.xml
index f6c9ea8..ca8ad33 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
   <parent>
     <artifactId>maven-parent</artifactId>
     <groupId>org.apache.maven</groupId>
-    <version>33</version>
+    <version>34</version>
     <relativePath>../pom/maven/pom.xml</relativePath>
   </parent>
   <groupId>org.apache.maven.enforcer</groupId>
@@ -62,10 +62,12 @@
       <url>scm:svn:https://svn.apache.org/repos/asf/maven/website/components/${maven.site.path}</url>
     </site>
   </distributionManagement>
+
   <properties>
     <maven.version>3.0</maven.version>
     <maven.site.path>enforcer-archives/enforcer-LATEST</maven.site.path>
     <javaVersion>7</javaVersion>
+    <project.build.outputTimestamp>2020-04-17T21:04:00Z</project.build.outputTimestamp>
   </properties>
 
   <dependencyManagement>
@@ -121,7 +123,7 @@
       <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
-        <version>4.11</version>
+        <version>4.13</version>
       </dependency>
       <dependency>
         <groupId>org.mockito</groupId>
@@ -137,7 +139,7 @@
       <dependency>
         <groupId>commons-codec</groupId>
         <artifactId>commons-codec</artifactId>
-        <version>1.12</version>
+        <version>1.14</version>
       </dependency>
       <dependency>
         <groupId>org.apache.maven.plugin-testing</groupId>