You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kh...@apache.org on 2018/02/17 12:32:37 UTC

[maven-enforcer] branch MENFORCER-288 updated: Removed the need for powermock. - Changed the implementation

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

khmarbaise pushed a commit to branch MENFORCER-288
in repository https://gitbox.apache.org/repos/asf/maven-enforcer.git


The following commit(s) were added to refs/heads/MENFORCER-288 by this push:
     new 2c060fd  Removed the need for powermock.  - Changed the implementation
2c060fd is described below

commit 2c060fdb5dff44c035966c7086d6f9b7cc9fa10d
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Mon Feb 12 22:43:14 2018 +0100

    Removed the need for powermock.
     - Changed the implementation
---
 enforcer-rules/pom.xml                                 | 10 ----------
 .../maven/plugins/enforcer/RequireJavaVersion.java     | 10 ++++++++--
 .../maven/plugins/enforcer/RequireJavaVesionTest.java  | 18 +++++-------------
 pom.xml                                                | 16 +---------------
 4 files changed, 14 insertions(+), 40 deletions(-)

diff --git a/enforcer-rules/pom.xml b/enforcer-rules/pom.xml
index 7e92e2b..41e59c8 100644
--- a/enforcer-rules/pom.xml
+++ b/enforcer-rules/pom.xml
@@ -99,16 +99,6 @@
       <artifactId>assertj-core</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>org.powermock</groupId>
-      <artifactId>powermock-module-junit4</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.powermock</groupId>
-      <artifactId>powermock-api-mockito2</artifactId>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
 
   <build>
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireJavaVersion.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireJavaVersion.java
index 4ef046d..be9d6b3 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireJavaVersion.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireJavaVersion.java
@@ -23,7 +23,6 @@ import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 
-import org.apache.commons.lang3.SystemUtils;
 import org.apache.maven.artifact.versioning.ArtifactVersion;
 import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
@@ -40,11 +39,13 @@ import org.codehaus.plexus.util.StringUtils;
 public class RequireJavaVersion
     extends AbstractVersionEnforcer
 {
+    private boolean jep322Version = false;
+    
     @Override
     public void execute( EnforcerRuleHelper helper )
         throws EnforcerRuleException
     {
-        String javaVersion = SystemUtils.JAVA_VERSION;
+        String javaVersion = System.getProperty("java.version");
         Log log = helper.getLog();
 
         log.debug( "Detected Java String: '" + javaVersion + "'" );
@@ -60,6 +61,11 @@ public class RequireJavaVersion
         enforceVersion( helper.getLog(), "JDK", getVersion(), detectedJdkVersion );
     }
 
+    // http://openjdk.java.net/jeps/322
+    // RegEx from JEP322: [1-9][0-9]*((\.0)*\.[1-9][0-9]*)*
+    // $FEATURE.$INTERIM.$UPDATE.$PATCH
+    // 
+
     /**
      * Converts a jdk string from 1.5.0-11b12 to a single 3 digit version like 1.5.0-11
      *
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireJavaVesionTest.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireJavaVesionTest.java
index 4439744..bc11d9d 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireJavaVesionTest.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireJavaVesionTest.java
@@ -22,7 +22,6 @@ package org.apache.maven.plugins.enforcer;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
-import org.apache.commons.lang3.SystemUtils;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
 import org.apache.maven.plugin.logging.Log;
@@ -30,18 +29,12 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
-import org.junit.runner.RunWith;
-import org.powermock.core.classloader.annotations.PrepareForTest;
-import org.powermock.modules.junit4.PowerMockRunner;
-import org.powermock.reflect.Whitebox;
 
 /**
  * The Class RequireJavaVersionTest
  *
  * @author Karl Heinz Marbaise <a href="mailto:khmarbaise@apache.org">khmarbaise@apache.org</a>
  */
-@RunWith( PowerMockRunner.class )
-@PrepareForTest( { SystemUtils.class } )
 public class RequireJavaVesionTest
 {
 
@@ -52,9 +45,9 @@ public class RequireJavaVesionTest
     @Before
     public void before()
     {
+        System.clearProperty( "java.version" );
 
         helper = mock( EnforcerRuleHelper.class );
-
         Log log = mock( Log.class );
         when( helper.getLog() ).thenReturn( log );
 
@@ -67,8 +60,7 @@ public class RequireJavaVesionTest
     public void first()
         throws EnforcerRuleException
     {
-        Whitebox.setInternalState( SystemUtils.class, "JAVA_VERSION", "1.4" );
-
+        System.setProperty( "java.version", "1.4" );
         rule = new RequireJavaVersion();
         rule.setVersion( "1.5" );
 
@@ -81,7 +73,7 @@ public class RequireJavaVesionTest
     public void second()
         throws EnforcerRuleException
     {
-        Whitebox.setInternalState( SystemUtils.class, "JAVA_VERSION", "1.8" );
+        System.setProperty( "java.version", "1.8" );
 
         rule = new RequireJavaVersion();
         rule.setVersion( "1.9" );
@@ -94,7 +86,7 @@ public class RequireJavaVesionTest
     public void third()
         throws EnforcerRuleException
     {
-        Whitebox.setInternalState( SystemUtils.class, "JAVA_VERSION", "9.0.4" );
+        System.setProperty( "java.version", "9.0.4" );
 
         rule = new RequireJavaVersion();
         rule.setVersion( "9.0.5" );
@@ -107,7 +99,7 @@ public class RequireJavaVesionTest
     public void forth()
         throws EnforcerRuleException
     {
-        Whitebox.setInternalState( SystemUtils.class, "JAVA_VERSION", "1.8.0_b192" );
+        System.setProperty( "java.version", "1.8.0_b192" );
 
         rule = new RequireJavaVersion();
         rule.setVersion( "8" );
diff --git a/pom.xml b/pom.xml
index 92f314f..b02a1a7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -66,7 +66,6 @@
   <properties>
     <maven.version>3.0</maven.version>
     <maven.site.path>enforcer-archives/enforcer-LATEST</maven.site.path>
-    <powermock.version>1.7.1</powermock.version>
   </properties>
 
   <dependencyManagement>
@@ -131,22 +130,9 @@
         <scope>test</scope>
       </dependency>
       <dependency>
-        <groupId>org.powermock</groupId>
-        <artifactId>powermock-module-junit4</artifactId>
-        <version>${powermock.version}</version>
-        <scope>test</scope>
-      </dependency>
-      <dependency>
-        <groupId>org.powermock</groupId>
-        <artifactId>powermock-api-mockito2</artifactId>
-        <version>${powermock.version}</version>
-        <scope>test</scope>
-      </dependency>
-
-      <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-lang3</artifactId>
-        <version>3.7</version> <!-- commons-lang3 >= 3.6 require at least Java 7 -->
+        <version>3.5</version> <!-- commons-lang3 >= 3.6 require at least Java 7 -->
       </dependency>
       <dependency>
         <groupId>commons-codec</groupId>

-- 
To stop receiving notification emails like this one, please contact
khmarbaise@apache.org.