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

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


The following commit(s) were added to refs/heads/master by this push:
     new 8cdd8d0  [MENFORCER-460] Deprecate display-info mojo
8cdd8d0 is described below

commit 8cdd8d079e9bc2d410a4ded4c97144826a5888cb
Author: Slawomir Jaranowski <s.jaranow...@gmail.com>
AuthorDate: Wed Jan 18 18:10:19 2023 +0100

    [MENFORCER-460] Deprecate display-info mojo
---
 .../org/apache/maven/enforcer/rules/RequireOS.java |  2 +-
 .../rules/version/AbstractVersionEnforcer.java     |  5 -----
 .../enforcer/rules/version/RequireJavaVersion.java | 26 +++++++++++++++++-----
 .../rules/version/RequireMavenVersion.java         |  5 +++++
 .../src/site/apt/requireJavaVersion.apt.vm         | 19 ++++++----------
 enforcer-rules/src/site/apt/requireOS.apt.vm       | 13 ++++++-----
 .../maven/plugins/enforcer/DisplayInfoMojo.java    |  2 ++
 maven-enforcer-plugin/src/site/apt/index.apt       |  6 ++---
 maven-enforcer-plugin/src/site/apt/usage.apt.vm    | 13 -----------
 9 files changed, 45 insertions(+), 46 deletions(-)

diff --git 
a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireOS.java 
b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireOS.java
index 29738da..eae734a 100644
--- 
a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireOS.java
+++ 
b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireOS.java
@@ -97,7 +97,7 @@ public final class RequireOS extends 
AbstractStandardEnforcerRule {
         if (allParamsEmpty()) {
             throw new EnforcerRuleError("All parameters can not be empty. "
                     + "You must pick at least one of (family, name, version, 
arch), "
-                    + "you can use mvn enforcer:display-info to see the 
current OS information.");
+                    + "you can use mvn --version to see the current OS 
information.");
         }
 
         if (isValidFamily(this.family)) {
diff --git 
a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/AbstractVersionEnforcer.java
 
b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/AbstractVersionEnforcer.java
index 042bbc4..946a58d 100644
--- 
a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/AbstractVersionEnforcer.java
+++ 
b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/AbstractVersionEnforcer.java
@@ -138,9 +138,4 @@ abstract class AbstractVersionEnforcer extends 
AbstractStandardEnforcerRule {
     public void setVersion(String theVersion) {
         this.version = theVersion;
     }
-
-    @Override
-    public String toString() {
-        return String.format("%s[message=%s, version=%s]", 
getClass().getSimpleName(), getMessage(), version);
-    }
 }
diff --git 
a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireJavaVersion.java
 
b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireJavaVersion.java
index ad44406..dcaeb68 100644
--- 
a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireJavaVersion.java
+++ 
b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireJavaVersion.java
@@ -44,6 +44,11 @@ public final class RequireJavaVersion extends 
AbstractVersionEnforcer {
 
     private static final Pattern JDK8_VERSION_PATTERN = 
Pattern.compile("([\\[(,]?)(1\\.8|8)([]),]?)");
 
+    /**
+     * Display the normalized JDK version.
+     */
+    private boolean display = false;
+
     @Override
     public void setVersion(String theVersion) {
 
@@ -66,12 +71,16 @@ public final class RequireJavaVersion extends 
AbstractVersionEnforcer {
     @Override
     public void execute() throws EnforcerRuleException {
         String javaVersion = SystemUtils.JAVA_VERSION;
+        String javaVersionNormalized = normalizeJDKVersion(javaVersion);
+        if (display) {
+            getLog().info("Detected Java Version: '" + javaVersion + "'");
+            getLog().info("Normalized Java Version: '" + javaVersionNormalized 
+ "'");
+        } else {
+            getLog().debug("Detected Java Version: '" + javaVersion + "'");
+            getLog().debug("Normalized Java Version: '" + 
javaVersionNormalized + "'");
+        }
 
-        getLog().debug("Detected Java String: '" + javaVersion + "'");
-        javaVersion = normalizeJDKVersion(javaVersion);
-        getLog().debug("Normalized Java String: '" + javaVersion + "'");
-
-        ArtifactVersion detectedJdkVersion = new 
DefaultArtifactVersion(javaVersion);
+        ArtifactVersion detectedJdkVersion = new 
DefaultArtifactVersion(javaVersionNormalized);
 
         getLog().debug("Parsed Version: Major: " + 
detectedJdkVersion.getMajorVersion() + " Minor: "
                 + detectedJdkVersion.getMinorVersion() + " Incremental: " + 
detectedJdkVersion.getIncrementalVersion()
@@ -133,4 +142,11 @@ public final class RequireJavaVersion extends 
AbstractVersionEnforcer {
             super.setMessage(message);
         }
     }
+
+    @Override
+    public String toString() {
+        return String.format(
+                "%s[message=%s, version=%s, display=%b]",
+                getClass().getSimpleName(), getMessage(), getVersion(), 
display);
+    }
 }
diff --git 
a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireMavenVersion.java
 
b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireMavenVersion.java
index 4dfb9e8..144f365 100644
--- 
a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireMavenVersion.java
+++ 
b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/version/RequireMavenVersion.java
@@ -52,4 +52,9 @@ public final class RequireMavenVersion extends 
AbstractVersionEnforcer {
         DefaultArtifactVersion detectedVersion = new 
DefaultArtifactVersion(mavenVersion);
         enforceVersion("Maven", getVersion(), detectedVersion);
     }
+
+    @Override
+    public String toString() {
+        return String.format("%s[message=%s, version=%s]", 
getClass().getSimpleName(), getMessage(), getVersion());
+    }
 }
diff --git a/enforcer-rules/src/site/apt/requireJavaVersion.apt.vm 
b/enforcer-rules/src/site/apt/requireJavaVersion.apt.vm
index 39cd978..f4acb71 100644
--- a/enforcer-rules/src/site/apt/requireJavaVersion.apt.vm
+++ b/enforcer-rules/src/site/apt/requireJavaVersion.apt.vm
@@ -33,6 +33,9 @@ Require Java Version
    
    * <<version>> - {{{./versionRanges.html}range}} of allowed JDKs.
 
+   * <<display>> -  flag to display the normalized JDK version.
+
+
    For JDK 1.8 you can also use simple <<<8>>> as <version> - it will be 
internally changed to <<<1.8>>>
    
    []
@@ -49,18 +52,10 @@ Require Java Version
   
   []
    
-   This preprocessing normalizes various JDK version strings into a standard 
x.y.z-b version number. Your required range should therefore use the x.y.z-b 
format for comparison. 
-   There is an easy way to see how your current JDK string will be normalized:
-     
-+---+
-mvn enforcer:display-info
-...
-[INFO] Maven Version: 3.8.7
-[INFO] JDK Version: 1.8.0_352 normalized as: 1.8.0-352
-[INFO] Java Vendor: Homebrew
-[INFO] OS Info - Arch: x86_64, Family: mac, Name: mac os x, Version: 12.6.1
-+---+
- 
+   This preprocessing normalizes various JDK version strings into a standard 
x.y.z-b version number.
+   Your required range should therefore use the x.y.z-b format for comparison.
+   There is an easy way to see how your current JDK string will be normalized, 
you can enable <<display>> option.
+
    Sample Plugin Configuration:
    
 +---+
diff --git a/enforcer-rules/src/site/apt/requireOS.apt.vm 
b/enforcer-rules/src/site/apt/requireOS.apt.vm
index 85e6dda..8c66d4c 100644
--- a/enforcer-rules/src/site/apt/requireOS.apt.vm
+++ b/enforcer-rules/src/site/apt/requireOS.apt.vm
@@ -89,12 +89,13 @@ Require OS Version
    information for the current system:
    
 +---+
-mvn enforcer:display-info
-...
-[INFO] Maven Version: 3.8.7
-[INFO] JDK Version: 1.8.0_352 normalized as: 1.8.0-352
-[INFO] Java Vendor: Homebrew
-[INFO] OS Info - Arch: x86_64, Family: mac, Name: mac os x, Version: 12.6.1
+mvn --version
+
+Apache Maven 3.8.7 (b89d5959fcde851dcb1c8946a785a163f14e1e29)
+Maven home: /usr/local/Cellar/maven/3.8.7/libexec
+Java version: 1.8.0_352, vendor: Homebrew, runtime: 
/usr/local/Cellar/openjdk@8/1.8.0+352/libexec/openjdk.jdk/Contents/Home/jre
+Default locale: en_GB, platform encoding: UTF-8
+OS name: "mac os x", version: "12.6.1", arch: "x86_64", family: "mac"
 +---+
   
   Sample Plugin Configuration:
diff --git 
a/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/DisplayInfoMojo.java
 
b/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/DisplayInfoMojo.java
index eebb7fb..9311fc2 100644
--- 
a/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/DisplayInfoMojo.java
+++ 
b/maven-enforcer-plugin/src/main/java/org/apache/maven/plugins/enforcer/DisplayInfoMojo.java
@@ -29,7 +29,9 @@ import org.apache.maven.plugins.annotations.Parameter;
  * This goal displays the current platform information.
  *
  * @author <a href="mailto:bri...@apache.org";>Brian Fox</a>
+ * @deprecated please use {@code mvn --version}
  */
+@Deprecated
 @Mojo(name = "display-info", threadSafe = true)
 public class DisplayInfoMojo extends AbstractMojo {
 
diff --git a/maven-enforcer-plugin/src/site/apt/index.apt 
b/maven-enforcer-plugin/src/site/apt/index.apt
index 1c5cf97..c15c17b 100644
--- a/maven-enforcer-plugin/src/site/apt/index.apt
+++ b/maven-enforcer-plugin/src/site/apt/index.apt
@@ -28,14 +28,12 @@ Maven Enforcer Plugin - The Loving Iron Fist of Maven\x99
   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 rules and user created rules.
 
-* Goals Overview
+* Goal Overview
 
-  The Enforcer plugin has two goals:
+  The Enforcer plugin has a goal:
 
   *{{{./enforce-mojo.html}enforcer:enforce}} executes rules for each project 
in a multi-project build.
 
-  *{{{./display-info-mojo.html}enforcer:display-info}} display the current 
information as detected by the built-in rules.
-
 * Usage
 
   General instructions on how to use the Enforcer Plugin can be found on the 
{{{./usage.html}usage page}}.
diff --git a/maven-enforcer-plugin/src/site/apt/usage.apt.vm 
b/maven-enforcer-plugin/src/site/apt/usage.apt.vm
index f4a3790..5d05036 100644
--- a/maven-enforcer-plugin/src/site/apt/usage.apt.vm
+++ b/maven-enforcer-plugin/src/site/apt/usage.apt.vm
@@ -105,17 +105,4 @@ Usage
   [...]
 </project>
 +---+
-  
-* The <<<enforcer:display-info>>> mojo
 
-   This goal is used to determine the current information as detected by the 
standard rules:
-     
-+---+
-   mvn enforcer:display-info
-   ...
-   [enforcer:display-info]
-       Maven Version: 2.0.6
-       JDK Version: 1.5.0_11 normalized as: 1.5.0-11
-       OS Info: Arch: x86 Family: windows Name: windows xp Version: 5.1
-+---+
-  

Reply via email to