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/06/17 17:16:10 UTC

[maven-enforcer] branch MENFORCER-288 updated (969fdd2 -> 1aca5f2)

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

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


 discard 969fdd2  Removed the need for powermock.  - Changed the implementation
 discard dfc7973  Updated.
     add f388633  [MNGSITE-328] use sha1 checksum instead of md5
     add 8b7c40a  Set surefire to 2.21.0 to support java 10 Normalize LICENSE file for Windows in IT to get same checksums
     add eac2712  Upgrade mockito to support Java 10
     add 84f2c66  Fix Javadoc errors
     add 62e3682  [maven-release-plugin] prepare release enforcer-3.0.0-M2
     add 7a98f2b  [maven-release-plugin] prepare for next development iteration
     add 9c4ab3e  [MENFORCER-142] - Specify enforcer rule in command line without modifying any pom  o Merged initial PoC implementation  o Added some basic integration tests.
     add ae18153  [MENFORCER-305] - Add documentation information for GitHub
     add 8269426  Updated version.
     new e5511e9  Updated.
     new 1aca5f2  Removed the need for powermock.  - Changed the implementation

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (969fdd2)
            \
             N -- N -- N   refs/heads/MENFORCER-288 (1aca5f2)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/pull_request_template.md                   | 28 +++++++
 CONTRIBUTING.md                                    | 80 ++++++++++++++++++
 README.TXT                                         | 24 ------
 README.md                                          | 96 ++++++++++++++++++++++
 .../utils/MockEnforcerExpressionEvaluator.java     | 11 +--
 .../invoker.properties                             |  2 +-
 .../{display-info => cli-always-fail}/pom.xml      | 17 ++--
 .../invoker.properties                             |  2 +-
 .../{always-pass => cli-always-pass}/pom.xml       |  0
 .../it/projects/require-file-checksum/setup.groovy |  8 +-
 .../apache/maven/plugins/enforcer/EnforceMojo.java | 42 +++++++++-
 pom.xml                                            |  3 +-
 src/site/xdoc/download.xml.vm                      |  2 +-
 13 files changed, 262 insertions(+), 53 deletions(-)
 create mode 100644 .github/pull_request_template.md
 create mode 100644 CONTRIBUTING.md
 delete mode 100644 README.TXT
 create mode 100644 README.md
 copy maven-enforcer-plugin/src/it/projects/{ban-transitive-dependencies-fail => cli-always-fail}/invoker.properties (88%)
 copy maven-enforcer-plugin/src/it/projects/{display-info => cli-always-fail}/pom.xml (80%)
 copy maven-enforcer-plugin/src/it/projects/{always-fail-warn => cli-always-pass}/invoker.properties (88%)
 copy maven-enforcer-plugin/src/it/projects/{always-pass => cli-always-pass}/pom.xml (100%)
 copy Jenkinsfile => maven-enforcer-plugin/src/it/projects/require-file-checksum/setup.groovy (90%)

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

[maven-enforcer] 01/02: Updated.

Posted by kh...@apache.org.
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

commit e5511e9bda47ad5ff3aaa66badca971f0ad88aca
Author: Karl Heinz Marbaise <kh...@apache.org>
AuthorDate: Sat Feb 10 16:04:47 2018 +0100

    Updated.
---
 enforcer-rules/pom.xml                             |  14 ++-
 .../plugins/enforcer/RequireJavaVesionTest.java    | 119 +++++++++++++++++++++
 pom.xml                                            |  21 +++-
 3 files changed, 149 insertions(+), 5 deletions(-)

diff --git a/enforcer-rules/pom.xml b/enforcer-rules/pom.xml
index abfd146..7e92e2b 100644
--- a/enforcer-rules/pom.xml
+++ b/enforcer-rules/pom.xml
@@ -18,7 +18,8 @@
   * under the License.
   *
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
@@ -98,7 +99,16 @@
       <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/test/java/org/apache/maven/plugins/enforcer/RequireJavaVesionTest.java b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireJavaVesionTest.java
new file mode 100644
index 0000000..4439744
--- /dev/null
+++ b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireJavaVesionTest.java
@@ -0,0 +1,119 @@
+package org.apache.maven.plugins.enforcer;
+
+/*
+ * 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.
+ */
+
+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;
+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
+{
+
+    private EnforcerRuleHelper helper;
+
+    private RequireJavaVersion rule;
+
+    @Before
+    public void before()
+    {
+
+        helper = mock( EnforcerRuleHelper.class );
+
+        Log log = mock( Log.class );
+        when( helper.getLog() ).thenReturn( log );
+
+    }
+
+    @Rule
+    public ExpectedException exception = ExpectedException.none();
+
+    @Test
+    public void first()
+        throws EnforcerRuleException
+    {
+        Whitebox.setInternalState( SystemUtils.class, "JAVA_VERSION", "1.4" );
+
+        rule = new RequireJavaVersion();
+        rule.setVersion( "1.5" );
+
+        exception.expect( EnforcerRuleException.class );
+        exception.expectMessage( "Detected JDK Version: 1.4 is not in the allowed range 1.5." );
+        rule.execute( helper );
+    }
+
+    @Test
+    public void second()
+        throws EnforcerRuleException
+    {
+        Whitebox.setInternalState( SystemUtils.class, "JAVA_VERSION", "1.8" );
+
+        rule = new RequireJavaVersion();
+        rule.setVersion( "1.9" );
+        exception.expect( EnforcerRuleException.class );
+        exception.expectMessage( "Detected JDK Version: 1.8 is not in the allowed range 1.9." );
+        rule.execute( helper );
+    }
+
+    @Test
+    public void third()
+        throws EnforcerRuleException
+    {
+        Whitebox.setInternalState( SystemUtils.class, "JAVA_VERSION", "9.0.4" );
+
+        rule = new RequireJavaVersion();
+        rule.setVersion( "9.0.5" );
+        exception.expect( EnforcerRuleException.class );
+        exception.expectMessage( "Detected JDK Version: 9.0.4 is not in the allowed range 9.0.5." );
+        rule.execute( helper );
+    }
+    
+    @Test
+    public void forth()
+        throws EnforcerRuleException
+    {
+        Whitebox.setInternalState( SystemUtils.class, "JAVA_VERSION", "1.8.0_b192" );
+
+        rule = new RequireJavaVersion();
+        rule.setVersion( "8" );
+        exception.expect( EnforcerRuleException.class );
+        exception.expectMessage( "Detected JDK Version: 9.0.4 is not in the allowed range 9.0.5." );
+        rule.execute( helper );
+    }
+
+}
diff --git a/pom.xml b/pom.xml
index c9c17fe..07d7b65 100644
--- a/pom.xml
+++ b/pom.xml
@@ -17,7 +17,8 @@
   ~ specific language governing permissions and limitations
   ~ under the License.
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
@@ -65,7 +66,8 @@
   <properties>
     <maven.version>3.0</maven.version>
     <maven.site.path>enforcer-archives/enforcer-LATEST</maven.site.path>
-	<surefire.version>2.21.0</surefire.version>
+	  <surefire.version>2.21.0</surefire.version>
+    <powermock.version>1.7.1</powermock.version>
   </properties>
 
   <dependencyManagement>
@@ -130,9 +132,22 @@
         <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.5</version> <!-- commons-lang3 >= 3.6 require at least Java 7 -->
+        <version>3.7</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.

[maven-enforcer] 02/02: Removed the need for powermock. - Changed the implementation

Posted by kh...@apache.org.
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

commit 1aca5f2c75a0a4fabeee718972f9f3bf96e67645
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 ++++++--
 ...VesionTest.java => RequireJavaVersionTest.java} | 27 +++++++---------------
 pom.xml                                            | 16 +------------
 4 files changed, 17 insertions(+), 46 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..1990c3b 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/RequireJavaVersionTest.java
similarity index 76%
rename from enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireJavaVesionTest.java
rename to enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/RequireJavaVersionTest.java
index 4439744..15c62e7 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/RequireJavaVersionTest.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,19 +29,13 @@ 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
+public class RequireJavaVersionTest
 {
 
     private EnforcerRuleHelper helper;
@@ -52,11 +45,12 @@ 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 );
+        rule = new RequireJavaVersion();
 
     }
 
@@ -67,9 +61,7 @@ public class RequireJavaVesionTest
     public void first()
         throws EnforcerRuleException
     {
-        Whitebox.setInternalState( SystemUtils.class, "JAVA_VERSION", "1.4" );
-
-        rule = new RequireJavaVersion();
+        System.setProperty( "java.version", "1.4" );
         rule.setVersion( "1.5" );
 
         exception.expect( EnforcerRuleException.class );
@@ -81,9 +73,8 @@ 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" );
         exception.expect( EnforcerRuleException.class );
         exception.expectMessage( "Detected JDK Version: 1.8 is not in the allowed range 1.9." );
@@ -94,9 +85,8 @@ 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" );
         exception.expect( EnforcerRuleException.class );
         exception.expectMessage( "Detected JDK Version: 9.0.4 is not in the allowed range 9.0.5." );
@@ -107,12 +97,11 @@ 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" );
         exception.expect( EnforcerRuleException.class );
-        exception.expectMessage( "Detected JDK Version: 9.0.4 is not in the allowed range 9.0.5." );
+        exception.expectMessage( "Detected JDK Version: 1.8.0-192 is not in the allowed range 8." );
         rule.execute( helper );
     }
 
diff --git a/pom.xml b/pom.xml
index 07d7b65..1a8cc70 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,7 +67,6 @@
     <maven.version>3.0</maven.version>
     <maven.site.path>enforcer-archives/enforcer-LATEST</maven.site.path>
 	  <surefire.version>2.21.0</surefire.version>
-    <powermock.version>1.7.1</powermock.version>
   </properties>
 
   <dependencyManagement>
@@ -132,22 +131,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.