diff --git a/project/pom.xml b/project/pom.xml
index ec91ce1..4b2ef37 100644
--- a/project/pom.xml
+++ b/project/pom.xml
@@ -472,198 +472,10 @@
             </goals>
           </execution>
         </executions>
-        <configuration>
-          <excludes>
-            <!-- expectation files for unit tests -->
-            <exclude>**/src/test/resources/**/*.sh</exclude>
-            <exclude>**/src/test/resources/**/*.bat</exclude>
-            <exclude>**/src/test/resources/**/*.cmd</exclude>
-            <exclude>**/src/test/resources/**/*.txt</exclude>
-            <exclude>**/src/test/resources/**/*.gz</exclude>
-            <exclude>**/src/test/resources/**/*.xml</exclude>
-            <exclude>**/src/test/resources/**/*.crt</exclude>
-            <exclude>src/test/resources/html/*.html</exclude>
-
-            <!-- META-INF/services files -->
-            <exclude>**/services/*LoggingModule</exclude>
-            <exclude>**/services/*ApiMetadata</exclude>
-            <exclude>**/services/*ProviderMetadata</exclude>
-
-            <!-- prevent duplicating license -->
-            <exclude>**/LICENSE.txt</exclude>
-            <exclude>**/header.txt</exclude>
-
-            <!-- high-level project metadata -->
-            <exclude>**/NOTICE.txt</exclude>
-            <exclude>**/DISCLAIMER</exclude>
-            <exclude>**/BUILD.txt</exclude>
-            <exclude>**/CHANGES.txt</exclude>
-            <exclude>**/README.md</exclude>
-            <exclude>**/README.txt</exclude>
-            <exclude>**/DEPENDENCIES</exclude>
-            <exclude>**/CONTRIBUTING.md</exclude>
-
-            <!-- reference data lists -->
-            <exclude>**/*json</exclude>
-            <exclude>**/*readme</exclude>
-
-            <!-- SSH keys -->
-            <exclude>**/test</exclude>
-            <exclude>**/test.pub</exclude>
-            <exclude>**/src/test/resources/**/ssh-*.pub</exclude>
-
-            <!-- temporary files or those generated by IDE or SCM -->
-            <exclude>**/target/**</exclude>
-            <exclude>**/test-output/**</exclude>
-            <exclude>**/bin/**</exclude>
-            <exclude>**/.settings/**</exclude>
-            <exclude>**/.classpath</exclude>
-            <exclude>**/.dir-locals.el</exclude>
-            <exclude>**/.project</exclude>
-            <exclude>**/.idea/**</exclude>
-            <exclude>**/*.iml</exclude>
-            <exclude>**/*.eml</exclude>
-            <exclude>**/*.ipr</exclude>
-            <exclude>**/*.iws</exclude>
-            <exclude>**/*.DS_STORE</exclude>
-            <exclude>**/TAGS</exclude>
-            <exclude>**/.metadata/**</exclude>
-            <exclude>**/atlassian-ide-plugin.xml</exclude>
-            <exclude>**/.DS_Store</exclude>
-            <exclude>.mailmap</exclude>
-            <exclude>.git/**</exclude>
-            <exclude>**/.gitignore</exclude>
-            <exclude>**/.gitattributes</exclude>
-            <exclude>**/.java-version</exclude>
-            <exclude>**/modernizer_exclusions.txt</exclude>
-            <exclude>**/.factorypath</exclude>
-            <exclude>**/.apt_generated/**</exclude>
-            <exclude>**/.apt_generated_tests/**</exclude>
-            <exclude>**/.checkstyle</exclude>
-            <exclude>nb-configuration.xml</exclude>
-            <exclude>nbactions.xml</exclude>
-            <exclude>dependency-reduced-pom.xml</exclude>
-
-            <!-- Temporary files generated on CloudBees slaves -->
-            <exclude>.repository/**</exclude>
-            <exclude>gc.log</exclude>
-          </excludes>
-        </configuration>
       </plugin>
       <plugin>
         <groupId>org.basepom.maven</groupId>
         <artifactId>duplicate-finder-maven-plugin</artifactId>
-        <version>1.1.2</version>
-        <configuration>
-          <exceptions>
-            <exception>
-              <!-- CloudSigma bundles conflict between api and providers-->
-              <conflictingDependencies>
-                <dependency>
-                  <groupId>org.apache.jclouds.api</groupId>
-                  <artifactId>cloudsigma</artifactId>
-                  <version>${project.version}</version>
-                </dependency>
-                <dependency>
-                  <groupId>org.apache.jclouds.provider</groupId>
-                  <artifactId>cloudsigma-lvs</artifactId>
-                  <version>${project.version}</version>
-                </dependency>
-                <dependency>
-                  <groupId>org.apache.jclouds.provider</groupId>
-                  <artifactId>cloudsigma-zrh</artifactId>
-                  <version>${project.version}</version>
-                </dependency>
-              </conflictingDependencies>
-              <packages>
-                <package>org.jclouds.cloudsigma</package>
-              </packages>
-            </exception>
-            <exception>
-              <!-- Google App Engine Deps, some google classes are duplicated between packages -->
-              <conflictingDependencies>
-                <dependency>
-                  <groupId>com.google.appengine</groupId>
-                  <artifactId>appengine-api-1.0-sdk</artifactId>
-                  <version>1.6.5</version>
-                </dependency>
-                <dependency>
-                  <groupId>com.google.appengine</groupId>
-                  <artifactId>appengine-testing</artifactId>
-                  <version>1.6.5</version>
-                  <scope>test</scope>
-                </dependency>
-              </conflictingDependencies>
-              <packages>
-                <package>com.google</package>
-              </packages>
-            </exception>
-            <exception>
-              <conflictingDependencies>
-                <dependency>
-                  <groupId>com.jcraft</groupId>
-                  <artifactId>jsch.agentproxy.core</artifactId>
-                  <version>0.0.9</version>
-                </dependency>
-                <dependency>
-                  <groupId>com.jcraft</groupId>
-                  <artifactId>jsch.agentproxy.connector-factory</artifactId>
-                  <version>0.0.9</version>
-                </dependency>
-              </conflictingDependencies>
-              <packages>
-                <package>com.jcraft.jsch.agentproxy</package>
-              </packages>
-            </exception>
-            <!--
-              TODO: Remove this when the issues are fixed or we have completely moved away from
-                    gson.internal
-              Due to the following issues:
-                https://issues.apache.org/jira/browse/MSHADE-206
-                https://issues.apache.org/jira/browse/MNG-5899
-              The contents of the shaded gson jar are directly included as part of jclouds-core.
-              The classes are exactly the same, so it is safe to exclude them here.
-            -->
-            <exception>
-              <conflictingDependencies>
-                <dependency>
-                  <groupId>org.apache.jclouds</groupId>
-                  <artifactId>jclouds-core</artifactId>
-                  <version>${project.version}</version>
-                </dependency>
-                <dependency>
-                  <groupId>org.apache.jclouds</groupId>
-                  <artifactId>jclouds-gson</artifactId>
-                  <version>${project.version}</version>
-                </dependency>
-              </conflictingDependencies>
-              <packages>
-                <package>org.jclouds.json.gson.internal</package>
-              </packages>
-            </exception>
-          </exceptions>
-          <ignoredResourcePatterns>
-            <!-- For all the jetty packages -->
-            <ignoredResourcePattern>about\.html</ignoredResourcePattern>
-            <!-- There are several situations where a test-jar and another test-jar or a bundle conflict on these artifacts -->
-            <ignoredResourcePattern>log4j.xml</ignoredResourcePattern>
-            <ignoredResourcePattern>os.xml</ignoredResourcePattern>
-            <ignoredResourcePattern>virtualhardwaresection.xml</ignoredResourcePattern>
-            <ignoredResourcePattern>logback.xml</ignoredResourcePattern>
-            <ignoredResourcePattern>amzn_images.xml</ignoredResourcePattern>
-            <ignoredResourcePattern>test.jks</ignoredResourcePattern>
-            <ignoredResourcePattern>test</ignoredResourcePattern>
-            <ignoredResourcePattern>CreateInternetService-options-test.xml</ignoredResourcePattern>
-            <ignoredResourcePattern>.gitattributes</ignoredResourcePattern>
-            <ignoredResourcePattern>functions/.gitattributes</ignoredResourcePattern>
-            <ignoredResourcePattern>OSGI-OPT/bnd.bnd</ignoredResourcePattern>
-            <!-- For bouncycastle -->
-            <ignoredResourcePattern>META-INF/BCKEY.DSA</ignoredResourcePattern>
-            <ignoredResourcePattern>META-INF/BCKEY.SF</ignoredResourcePattern>
-          </ignoredResourcePatterns>
-          <failBuildInCaseOfConflict>true</failBuildInCaseOfConflict>
-          <skip>${skipDuplicateFinder}</skip>
-        </configuration>
         <executions>
           <execution>
             <phase>verify</phase>
@@ -1180,6 +992,202 @@
             </links>
           </configuration>
         </plugin>
+        <plugin>
+          <groupId>org.apache.rat</groupId>
+          <artifactId>apache-rat-plugin</artifactId>
+          <configuration>
+            <excludes>
+              <!-- expectation files for unit tests -->
+              <exclude>**/src/test/resources/**/*.sh</exclude>
+              <exclude>**/src/test/resources/**/*.bat</exclude>
+              <exclude>**/src/test/resources/**/*.cmd</exclude>
+              <exclude>**/src/test/resources/**/*.txt</exclude>
+              <exclude>**/src/test/resources/**/*.gz</exclude>
+              <exclude>**/src/test/resources/**/*.xml</exclude>
+              <exclude>**/src/test/resources/**/*.crt</exclude>
+              <exclude>src/test/resources/html/*.html</exclude>
+
+              <!-- META-INF/services files -->
+              <exclude>**/services/*LoggingModule</exclude>
+              <exclude>**/services/*ApiMetadata</exclude>
+              <exclude>**/services/*ProviderMetadata</exclude>
+
+              <!-- prevent duplicating license -->
+              <exclude>**/LICENSE.txt</exclude>
+              <exclude>**/header.txt</exclude>
+
+              <!-- high-level project metadata -->
+              <exclude>**/NOTICE.txt</exclude>
+              <exclude>**/DISCLAIMER</exclude>
+              <exclude>**/BUILD.txt</exclude>
+              <exclude>**/CHANGES.txt</exclude>
+              <exclude>**/README.md</exclude>
+              <exclude>**/README.txt</exclude>
+              <exclude>**/DEPENDENCIES</exclude>
+              <exclude>**/CONTRIBUTING.md</exclude>
+
+              <!-- reference data lists -->
+              <exclude>**/*json</exclude>
+              <exclude>**/*readme</exclude>
+
+              <!-- SSH keys -->
+              <exclude>**/test</exclude>
+              <exclude>**/test.pub</exclude>
+              <exclude>**/src/test/resources/**/ssh-*.pub</exclude>
+
+              <!-- temporary files or those generated by IDE or SCM -->
+              <exclude>**/target/**</exclude>
+              <exclude>**/test-output/**</exclude>
+              <exclude>**/bin/**</exclude>
+              <exclude>**/.settings/**</exclude>
+              <exclude>**/.classpath</exclude>
+              <exclude>**/.dir-locals.el</exclude>
+              <exclude>**/.project</exclude>
+              <exclude>**/.idea/**</exclude>
+              <exclude>**/*.iml</exclude>
+              <exclude>**/*.eml</exclude>
+              <exclude>**/*.ipr</exclude>
+              <exclude>**/*.iws</exclude>
+              <exclude>**/*.DS_STORE</exclude>
+              <exclude>**/TAGS</exclude>
+              <exclude>**/.metadata/**</exclude>
+              <exclude>**/atlassian-ide-plugin.xml</exclude>
+              <exclude>**/.DS_Store</exclude>
+              <exclude>.mailmap</exclude>
+              <exclude>.git/**</exclude>
+              <exclude>**/.gitignore</exclude>
+              <exclude>**/.gitattributes</exclude>
+              <exclude>**/.java-version</exclude>
+              <exclude>**/modernizer_exclusions.txt</exclude>
+              <exclude>**/.factorypath</exclude>
+              <exclude>**/.apt_generated/**</exclude>
+              <exclude>**/.apt_generated_tests/**</exclude>
+              <exclude>**/.checkstyle</exclude>
+              <exclude>nb-configuration.xml</exclude>
+              <exclude>nbactions.xml</exclude>
+              <exclude>dependency-reduced-pom.xml</exclude>
+
+              <!-- Temporary files generated on CloudBees slaves -->
+              <exclude>.repository/**</exclude>
+              <exclude>gc.log</exclude>
+            </excludes>
+          </configuration>
+        </plugin>
+        <plugin>
+          <groupId>org.basepom.maven</groupId>
+          <artifactId>duplicate-finder-maven-plugin</artifactId>
+          <version>1.1.2</version>
+          <configuration>
+            <exceptions>
+              <exception>
+                <!-- CloudSigma bundles conflict between api and providers-->
+                <conflictingDependencies>
+                  <dependency>
+                    <groupId>org.apache.jclouds.api</groupId>
+                    <artifactId>cloudsigma</artifactId>
+                    <version>${project.version}</version>
+                  </dependency>
+                  <dependency>
+                    <groupId>org.apache.jclouds.provider</groupId>
+                    <artifactId>cloudsigma-lvs</artifactId>
+                    <version>${project.version}</version>
+                  </dependency>
+                  <dependency>
+                    <groupId>org.apache.jclouds.provider</groupId>
+                    <artifactId>cloudsigma-zrh</artifactId>
+                    <version>${project.version}</version>
+                  </dependency>
+                </conflictingDependencies>
+                <packages>
+                  <package>org.jclouds.cloudsigma</package>
+                </packages>
+              </exception>
+              <exception>
+                <!-- Google App Engine Deps, some google classes are duplicated between packages -->
+                <conflictingDependencies>
+                  <dependency>
+                    <groupId>com.google.appengine</groupId>
+                    <artifactId>appengine-api-1.0-sdk</artifactId>
+                    <version>1.6.5</version>
+                  </dependency>
+                  <dependency>
+                    <groupId>com.google.appengine</groupId>
+                    <artifactId>appengine-testing</artifactId>
+                    <version>1.6.5</version>
+                    <scope>test</scope>
+                  </dependency>
+                </conflictingDependencies>
+                <packages>
+                  <package>com.google</package>
+                </packages>
+              </exception>
+              <exception>
+                <conflictingDependencies>
+                  <dependency>
+                    <groupId>com.jcraft</groupId>
+                    <artifactId>jsch.agentproxy.core</artifactId>
+                    <version>0.0.9</version>
+                  </dependency>
+                  <dependency>
+                    <groupId>com.jcraft</groupId>
+                    <artifactId>jsch.agentproxy.connector-factory</artifactId>
+                    <version>0.0.9</version>
+                  </dependency>
+                </conflictingDependencies>
+                <packages>
+                  <package>com.jcraft.jsch.agentproxy</package>
+                </packages>
+              </exception>
+              <!--
+                TODO: Remove this when the issues are fixed or we have completely moved away from
+                      gson.internal
+                Due to the following issues:
+                  https://issues.apache.org/jira/browse/MSHADE-206
+                  https://issues.apache.org/jira/browse/MNG-5899
+                The contents of the shaded gson jar are directly included as part of jclouds-core.
+                The classes are exactly the same, so it is safe to exclude them here.
+              -->
+              <exception>
+                <conflictingDependencies>
+                  <dependency>
+                    <groupId>org.apache.jclouds</groupId>
+                    <artifactId>jclouds-core</artifactId>
+                    <version>${project.version}</version>
+                  </dependency>
+                  <dependency>
+                    <groupId>org.apache.jclouds</groupId>
+                    <artifactId>jclouds-gson</artifactId>
+                    <version>${project.version}</version>
+                  </dependency>
+                </conflictingDependencies>
+                <packages>
+                  <package>org.jclouds.json.gson.internal</package>
+                </packages>
+              </exception>
+            </exceptions>
+            <ignoredResourcePatterns>
+              <!-- For all the jetty packages -->
+              <ignoredResourcePattern>about\.html</ignoredResourcePattern>
+              <!-- There are several situations where a test-jar and another test-jar or a bundle conflict on these artifacts -->
+              <ignoredResourcePattern>log4j.xml</ignoredResourcePattern>
+              <ignoredResourcePattern>os.xml</ignoredResourcePattern>
+              <ignoredResourcePattern>virtualhardwaresection.xml</ignoredResourcePattern>
+              <ignoredResourcePattern>logback.xml</ignoredResourcePattern>
+              <ignoredResourcePattern>amzn_images.xml</ignoredResourcePattern>
+              <ignoredResourcePattern>test.jks</ignoredResourcePattern>
+              <ignoredResourcePattern>test</ignoredResourcePattern>
+              <ignoredResourcePattern>CreateInternetService-options-test.xml</ignoredResourcePattern>
+              <ignoredResourcePattern>.gitattributes</ignoredResourcePattern>
+              <ignoredResourcePattern>functions/.gitattributes</ignoredResourcePattern>
+              <ignoredResourcePattern>OSGI-OPT/bnd.bnd</ignoredResourcePattern>
+              <!-- For bouncycastle -->
+              <ignoredResourcePattern>META-INF/BCKEY.DSA</ignoredResourcePattern>
+              <ignoredResourcePattern>META-INF/BCKEY.SF</ignoredResourcePattern>
+            </ignoredResourcePatterns>
+            <failBuildInCaseOfConflict>true</failBuildInCaseOfConflict>
+            <skip>${skipDuplicateFinder}</skip>
+          </configuration>
+        </plugin>
       </plugins>
     </pluginManagement>
   </build>
