You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ad...@apache.org on 2021/09/05 18:25:52 UTC

[maven-pmd-plugin] 02/02: [MPMD-308] Set Maven 3.1.0 as minimum version

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

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

commit 3ffd4d3762028b1b0a8f714297a21de37d0c5649
Author: Andreas Dangel <ad...@apache.org>
AuthorDate: Sun Sep 5 20:04:16 2021 +0200

    [MPMD-308] Set Maven 3.1.0 as minimum version
    
    Remove now unnecessary maven-compat, fix test
    Downgrade wiremock, to use a with maven compatible
    guava version.
    
    Closes #46
---
 pom.xml                                            | 26 +++++++++++++---------
 .../plugins/pmd/CpdViolationCheckMojoTest.java     | 15 ++++++++++---
 .../apache/maven/plugins/pmd/PmdReportTest.java    | 10 +++++----
 .../maven/plugins/pmd/exec/ExecutorTest.java       |  2 +-
 4 files changed, 34 insertions(+), 19 deletions(-)

diff --git a/pom.xml b/pom.xml
index c5ccdee..657f4ee 100644
--- a/pom.xml
+++ b/pom.xml
@@ -85,7 +85,7 @@ under the License.
   </distributionManagement>
 
   <properties>
-    <mavenVersion>3.0</mavenVersion>
+    <mavenVersion>3.1.0</mavenVersion>
     <doxiaVersion>1.9.1</doxiaVersion>
     <doxiaSitetoolsVersion>1.9.2</doxiaSitetoolsVersion>
     <javaVersion>8</javaVersion><!-- Because PMD 6.35.0+ requires Java 8 -->
@@ -131,12 +131,18 @@ under the License.
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
       <artifactId>maven-common-artifact-filters</artifactId>
-      <version>3.1.0</version>
+      <version>${mavenVersion}</version>
+      <exclusions>
+          <exclusion>
+              <groupId>org.sonatype.sisu</groupId>
+              <artifactId>sisu-guice</artifactId>
+          </exclusion>
+      </exclusions>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-embedder</artifactId>
-      <version>3.1.0</version>
+      <version>${mavenVersion}</version>
       <scope>provided</scope>
       <exclusions>
         <!-- exclude old asm:asm, as pmd brings in a newer version (org.ow2.asm:asm) -->
@@ -239,21 +245,19 @@ under the License.
 
     <!-- test -->
     <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-compat</artifactId>
-      <version>${mavenVersion}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>org.apache.maven.plugin-testing</groupId>
       <artifactId>maven-plugin-testing-harness</artifactId>
-      <version>2.1</version>
+      <version>${mavenVersion}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>com.github.tomakehurst</groupId>
       <artifactId>wiremock</artifactId>
-      <version>2.9.0</version>
+      <!-- that's a very old version, but it's the newest one that brings in
+           a old guava version, that is compatible with maven 3.1.0.
+           maven 3.1.0 uses guava 10, wiremock 1.49 uses guava 13.0.1
+      -->
+      <version>1.49</version>
       <scope>test</scope>
     </dependency>
     <dependency>
diff --git a/src/test/java/org/apache/maven/plugins/pmd/CpdViolationCheckMojoTest.java b/src/test/java/org/apache/maven/plugins/pmd/CpdViolationCheckMojoTest.java
index 081da74..730a30a 100644
--- a/src/test/java/org/apache/maven/plugins/pmd/CpdViolationCheckMojoTest.java
+++ b/src/test/java/org/apache/maven/plugins/pmd/CpdViolationCheckMojoTest.java
@@ -42,13 +42,22 @@ public class CpdViolationCheckMojoTest
     public void testDefaultConfiguration()
         throws Exception
     {
+        File testPom =
+            new File( getBasedir(),
+                      "src/test/resources/unit/default-configuration/cpd-default-configuration-plugin-config.xml" );
+        final CpdReport mojo = (CpdReport) lookupMojo( "cpd", testPom );
+        mojo.execute();
+
+        // clear the output from previous pmd:cpd execution
+        CapturingPrintStream.init( true );
+
         try
         {
-            final File testPom =
+            testPom =
                 new File( getBasedir(),
                           "src/test/resources/unit/default-configuration/pmd-check-default-configuration-plugin-config.xml" );
-            final CpdViolationCheckMojo mojo = (CpdViolationCheckMojo) lookupMojo( "cpd-check", testPom );
-            mojo.execute();
+            final CpdViolationCheckMojo cpdViolationMojo = (CpdViolationCheckMojo) lookupMojo( "cpd-check", testPom );
+            cpdViolationMojo.execute();
 
             fail( "MojoFailureException should be thrown." );
         }
diff --git a/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java b/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java
index f8e4683..93f9f88 100644
--- a/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java
+++ b/src/test/java/org/apache/maven/plugins/pmd/PmdReportTest.java
@@ -245,10 +245,11 @@ public class PmdReportTest
         final String sonarProfileUrl = sonarBaseUrl + "/export?format=pmd&language=java&name=Sonar%2520way";
         final String sonarExportRulesetUrl = "http://localhost:" + mockServer.port() + sonarProfileUrl;
 
-        mockServer.stubFor( WireMock.get( WireMock.urlEqualTo( sonarBaseUrl ) ).willReturn( WireMock.aResponse().withStatus( 200 ).withHeader( "Content-Type",
+        WireMock.configureFor( "localhost", port );
+        WireMock.stubFor( WireMock.get( WireMock.urlEqualTo( sonarBaseUrl ) ).willReturn( WireMock.aResponse().withStatus( 200 ).withHeader( "Content-Type",
                                                                                                                                                "text/html" ).withBody( sonarMainPageHtml ) ) );
 
-        mockServer.stubFor( WireMock.get( WireMock.urlEqualTo( sonarProfileUrl ) ).willReturn( WireMock.aResponse().withStatus( 200 ).withHeader( "Content-Type",
+        WireMock.stubFor( WireMock.get( WireMock.urlEqualTo( sonarProfileUrl ) ).willReturn( WireMock.aResponse().withStatus( 200 ).withHeader( "Content-Type",
                                                                                                                                                   "text/xml" ).withBody( sonarRuleset ) ) );
 
         URL url = getClass().getClassLoader().getResource( "rulesets/java/basic.xml" );
@@ -719,10 +720,11 @@ public class PmdReportTest
         final String myRulesetBaseUrl = "/config/my-ruleset.xml";
         final String myRulesetUrl = "http://localhost:" + mockServer.port() + myRulesetBaseUrl;
 
-        mockServer.stubFor( WireMock.get( WireMock.urlEqualTo( sonarProfileUrl ) )
+        WireMock.configureFor( "localhost", port );
+        WireMock.stubFor( WireMock.get( WireMock.urlEqualTo( sonarProfileUrl ) )
                 .willReturn( WireMock.aResponse().withStatus( 200 ).withHeader( "Content-Type",
                                                                                 "text/xml" ).withBody( sonarRuleset ) ) );
-        mockServer.stubFor( WireMock.get( WireMock.urlEqualTo( myRulesetBaseUrl ) )
+        WireMock.stubFor( WireMock.get( WireMock.urlEqualTo( myRulesetBaseUrl ) )
                 .willReturn( WireMock.aResponse().withStatus( 200 ).withHeader( "Content-Type",
                                                                                 "text/xml" ).withBody( sonarRuleset ) ) );
 
diff --git a/src/test/java/org/apache/maven/plugins/pmd/exec/ExecutorTest.java b/src/test/java/org/apache/maven/plugins/pmd/exec/ExecutorTest.java
index 67dad92..d63eecb 100644
--- a/src/test/java/org/apache/maven/plugins/pmd/exec/ExecutorTest.java
+++ b/src/test/java/org/apache/maven/plugins/pmd/exec/ExecutorTest.java
@@ -25,8 +25,8 @@ import java.net.URL;
 import java.net.URLClassLoader;
 
 import org.apache.commons.lang3.SystemUtils;
-import org.junit.Assert;
 
+import junit.framework.Assert;
 import junit.framework.TestCase;
 
 public class ExecutorTest extends TestCase