You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2023/01/09 18:09:33 UTC
[maven-enforcer] branch MENFORCER-458-RequireOS created (now 7b5a3d2)
This is an automated email from the ASF dual-hosted git repository.
sjaranowski pushed a change to branch MENFORCER-458-RequireOS
in repository https://gitbox.apache.org/repos/asf/maven-enforcer.git
at 7b5a3d2 [MENFORCER-458] Move RequireOS to new API
This branch includes the following new commits:
new 7b5a3d2 [MENFORCER-458] Move RequireOS to new API
The 1 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.
[maven-enforcer] 01/01: [MENFORCER-458] Move RequireOS to new API
Posted by sj...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
sjaranowski pushed a commit to branch MENFORCER-458-RequireOS
in repository https://gitbox.apache.org/repos/asf/maven-enforcer.git
commit 7b5a3d246decede08d6283ffa5c7e335bd4fcb62
Author: Slawomir Jaranowski <s....@gmail.com>
AuthorDate: Sat Jan 7 12:37:20 2023 +0100
[MENFORCER-458] Move RequireOS to new API
---
.../enforcer => enforcer/rules}/RequireOS.java | 135 ++++-----------------
.../apache/maven/enforcer/rules/utils/OSUtil.java | 42 +++++++
enforcer-rules/src/site/apt/requireOS.apt.vm | 33 +++--
.../enforcer => enforcer/rules}/TestRequireOS.java | 64 +++++-----
.../src/it/projects/require-os/pom.xml | 54 +++++++++
.../src/it/projects/require-os/verify.groovy | 21 ++++
.../maven/plugins/enforcer/DisplayInfoMojo.java | 6 +-
7 files changed, 188 insertions(+), 167 deletions(-)
diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireOS.java b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireOS.java
similarity index 68%
rename from enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireOS.java
rename to enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireOS.java
index 7f620db..7317cab 100644
--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireOS.java
+++ b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/RequireOS.java
@@ -16,19 +16,20 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.maven.plugins.enforcer;
+package org.apache.maven.enforcer.rules;
-import java.util.Iterator;
+import javax.inject.Inject;
+import javax.inject.Named;
-import org.apache.maven.enforcer.rule.api.EnforcerRule;
+import java.util.Objects;
+
+import org.apache.maven.enforcer.rule.api.EnforcerRuleError;
import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
-import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
+import org.apache.maven.enforcer.rules.utils.OSUtil;
import org.apache.maven.model.Activation;
import org.apache.maven.model.ActivationOS;
import org.apache.maven.model.Profile;
import org.apache.maven.model.profile.activation.ProfileActivator;
-import org.apache.maven.plugin.logging.Log;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.util.Os;
import org.codehaus.plexus.util.StringUtils;
@@ -38,8 +39,9 @@ import org.codehaus.plexus.util.StringUtils;
*
* @author <a href="mailto:brianf@apache.org">Brian Fox</a>
*/
+@Named("requireOS")
public class RequireOS extends AbstractStandardEnforcerRule {
- private ProfileActivator activator;
+ private final ProfileActivator activator;
/**
* The OS family type desired<br />
@@ -56,69 +58,46 @@ public class RequireOS extends AbstractStandardEnforcerRule {
* <li>z/os</li>
* <li>os/400</li>
* </ul>
- *
- * @see {@link #setFamily(String)}
- * @see {@link #getFamily()}
*/
private String family = null;
/**
* The OS name desired.
- *
- * @see {@link #setName(String)}
- * @see {@link #getName()}
*/
private String name = null;
/**
* The OS version desired.
- *
- * @see {@link #setVersion(String)}
- * @see {@link #getVersion()}
*/
private String version = null;
/**
* The OS architecture desired.
- *
- * @see {@link #setArch(String)}
- * @see {@link #getArch()}
*/
private String arch = null;
/**
* Display detected OS information.
- *
- * @see {@link #setDisplay(boolean)}
- * @see {@link #isDisplay()}
*/
private boolean display = false;
/**
* Instantiates a new RequireOS.
*/
- public RequireOS() {}
-
- // For testing
- RequireOS(ProfileActivator activator) {
- this.activator = activator;
+ @Inject
+ RequireOS(@Named("os") ProfileActivator activator) {
+ this.activator = Objects.requireNonNull(activator);
}
@Override
- public void execute(EnforcerRuleHelper helper) throws EnforcerRuleException {
+ public void execute() throws EnforcerRuleException {
- displayOSInfo(helper.getLog(), display);
+ displayOSInfo();
if (allParamsEmpty()) {
- throw new EnforcerRuleException("All parameters can not be empty. "
- + "You must pick at least one of (family, name, version, arch) "
- + "or use -Denforcer.os.display=true to see the current OS information.");
- }
-
- try {
- activator = helper.getComponent(ProfileActivator.class, "os");
- } catch (ComponentLookupException e) {
- throw new EnforcerRuleException(e.getMessage());
+ 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.");
}
if (isValidFamily(this.family)) {
@@ -139,32 +118,21 @@ public class RequireOS extends AbstractStandardEnforcerRule {
throw new EnforcerRuleException(message);
}
} else {
- final int minimumBufferSize = 50;
- StringBuilder buffer = new StringBuilder(minimumBufferSize);
- Iterator<?> iter = Os.getValidFamilies().iterator();
- while (iter.hasNext()) {
- buffer.append(iter.next());
- buffer.append(", ");
- }
- String help = StringUtils.stripEnd(buffer.toString().trim(), ".");
- throw new EnforcerRuleException("Invalid Family type used. Valid family types are: " + help);
+ String validFamilies = String.join(",", Os.getValidFamilies());
+ throw new EnforcerRuleError("Invalid Family type used. Valid family types are: " + validFamilies);
}
}
/**
* Log the current OS information.
- *
- * @param log the log
- * @param info the info
*/
- public void displayOSInfo(Log log, boolean info) {
- String string = "OS Info: Arch: " + Os.OS_ARCH + " Family: " + Os.OS_FAMILY + " Name: " + Os.OS_NAME
- + " Version: " + Os.OS_VERSION;
+ private void displayOSInfo() {
+ String string = OSUtil.getOSInfo();
- if (!info) {
- log.debug(string);
+ if (!display) {
+ getLog().debug(string);
} else {
- log.info(string);
+ getLog().info(string);
}
}
@@ -184,12 +152,10 @@ public class RequireOS extends AbstractStandardEnforcerRule {
* @return true if all parameters are empty.
*/
public boolean allParamsEmpty() {
- // CHECKSTYLE_OFF: LineLength
return (StringUtils.isEmpty(family)
&& StringUtils.isEmpty(arch)
&& StringUtils.isEmpty(name)
&& StringUtils.isEmpty(version));
- // CHECKSTYLE_ON: LineLength
}
/**
@@ -258,15 +224,6 @@ public class RequireOS extends AbstractStandardEnforcerRule {
return (StringUtils.isEmpty(theFamily) || Os.getValidFamilies().contains(theFamily));
}
- /**
- * Gets the arch.
- *
- * @return the arch
- */
- public String getArch() {
- return this.arch;
- }
-
/**
* Sets the arch.
*
@@ -276,15 +233,6 @@ public class RequireOS extends AbstractStandardEnforcerRule {
this.arch = theArch;
}
- /**
- * Gets the family.
- *
- * @return the family
- */
- public String getFamily() {
- return this.family;
- }
-
/**
* Sets the family.
*
@@ -294,15 +242,6 @@ public class RequireOS extends AbstractStandardEnforcerRule {
this.family = theFamily;
}
- /**
- * Gets the name.
- *
- * @return the name
- */
- public String getName() {
- return this.name;
- }
-
/**
* Sets the name.
*
@@ -312,15 +251,6 @@ public class RequireOS extends AbstractStandardEnforcerRule {
this.name = theName;
}
- /**
- * Gets the version.
- *
- * @return the version
- */
- public String getVersion() {
- return this.version;
- }
-
/**
* Sets the version.
*
@@ -337,10 +267,6 @@ public class RequireOS extends AbstractStandardEnforcerRule {
this.display = display;
}
- public final boolean isDisplay() {
- return display;
- }
-
@Override
public String getCacheId() {
// return the hashcodes of all the parameters
@@ -359,17 +285,4 @@ public class RequireOS extends AbstractStandardEnforcerRule {
}
return b.toString();
}
-
- @Override
- public boolean isCacheable() {
- // the os is not going to change between projects in the same build.
- return true;
- }
-
- @Override
- public boolean isResultValid(EnforcerRule theCachedRule) {
- // i will always return the hash of the parameters as my id. If my parameters are the same, this
- // rule must always have the same result.
- return true;
- }
}
diff --git a/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/utils/OSUtil.java b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/utils/OSUtil.java
new file mode 100644
index 0000000..ee9b7c0
--- /dev/null
+++ b/enforcer-rules/src/main/java/org/apache/maven/enforcer/rules/utils/OSUtil.java
@@ -0,0 +1,42 @@
+/*
+ * 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.
+ */
+package org.apache.maven.enforcer.rules.utils;
+
+import org.codehaus.plexus.util.Os;
+
+/**
+ * Common os utility.
+ *
+ * @author Slawomir Jaranowski
+ * @since 3.2.0
+ */
+public class OSUtil {
+
+ /**
+ * OS Information used by Enforcer rules and display Mojo.
+ *
+ * @return an on information
+ */
+ public static String getOSInfo() {
+
+ return String.format(
+ "OS Info - Arch: %s, Family: %s, Name: %s, Version: %s",
+ Os.OS_ARCH, Os.OS_FAMILY, Os.OS_NAME, Os.OS_VERSION);
+ }
+}
diff --git a/enforcer-rules/src/site/apt/requireOS.apt.vm b/enforcer-rules/src/site/apt/requireOS.apt.vm
index cc6804a..85e6dda 100644
--- a/enforcer-rules/src/site/apt/requireOS.apt.vm
+++ b/enforcer-rules/src/site/apt/requireOS.apt.vm
@@ -31,11 +31,11 @@ Require OS Version
The following parameters are supported by this rule:
- * message - an optional message to the user if the rule fails.
+ * <<message>> - an optional message to the user if the rule fails.
- * {{{../apidocs/org/apache/maven/plugins/enforcer/RequireOS.html#arch}arch}} - the cpu architecture.
+ * <<arch>> - the cpu architecture.
- * {{{../apidocs/org/apache/maven/plugins/enforcer/RequireOS.html#family}family}} - the family of OS. Possible families are:
+ * <<family>> - the family of OS. Possible families are:
* dos
@@ -60,16 +60,17 @@ Require OS Version
[]
- * {{{../apidocs/org/apache/maven/plugins/enforcer/RequireOS.html#name}name}} - the name of the OS.
+ * <<name>> - the name of the OS.
- * {{{../apidocs/org/apache/maven/plugins/enforcer/RequireOS.html#version}version}} - the version of the OS.
+ * <<version>> - the version of the OS.
- * {{{../apidocs/org/apache/maven/plugins/enforcer/RequireOS.html#display}display}} - flag to display the detected OS information.
+ * <<display>> - flag to display the detected OS information.
[]
- Family is calculated based on testing against the name string retrieved from the JDK. The name, arch and version values are retrieved from the JDK using the following code:
+ Family is calculated based on testing against the name string retrieved from the JDK.
+ The name, arch and version values are retrieved from the JDK using the following code:
+---+
public static final String OS_NAME = System.getProperty( "os.name" ).toLowerCase( Locale.US );
@@ -78,17 +79,11 @@ Require OS Version
public static final String OS_VERSION = System.getProperty( "os.version" ).toLowerCase( Locale.US );
+---+
-
- Possible arch, name, and version values can be found here:
-
- * {{{http://lopica.sourceforge.net/os.html}lopica.sourceforge.net}}
-
- []
-
+
The various options are considered to be "and'd" together but any number can be specified.
(ie family = windows means windows, but family = windows and arch = x86 means only windows on x86 processors)
- Any parameter may also be used in the negative by prepending a "!" in front of it. For example !dos means everything but dos. (who uses dos anyway?)
+ Any parameter may also be used in the negative by prepending a <<<!>>> in front of it. For example <<<!windows>>> means everything but windows.
Since the various names, versions and architecture values cannot be listed exhaustively, there is an easy way to display the
information for the current system:
@@ -96,10 +91,10 @@ Require OS Version
+---+
mvn enforcer:display-info
...
-[enforcer:display-info]
-Maven Version: 2.0.6
-JDK Version: 1.5.0_11 normalized as: 1.5.0
-OS Info: Arch: x86 Family: windows Name: windows xp Version: 5.1
+[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
+---+
Sample Plugin Configuration:
diff --git a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireOS.java b/enforcer-rules/src/test/java/org/apache/maven/enforcer/rules/TestRequireOS.java
similarity index 62%
rename from enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireOS.java
rename to enforcer-rules/src/test/java/org/apache/maven/enforcer/rules/TestRequireOS.java
index e2ef7f0..e7cfdb7 100644
--- a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireOS.java
+++ b/enforcer-rules/src/test/java/org/apache/maven/enforcer/rules/TestRequireOS.java
@@ -16,28 +16,28 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.maven.plugins.enforcer;
+package org.apache.maven.enforcer.rules;
import java.util.Iterator;
-import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
-import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
+import org.apache.maven.enforcer.rule.api.EnforcerLogger;
+import org.apache.maven.enforcer.rule.api.EnforcerRuleError;
import org.apache.maven.model.profile.activation.OperatingSystemProfileActivator;
import org.apache.maven.plugin.logging.Log;
import org.apache.maven.plugin.logging.SystemStreamLog;
import org.codehaus.plexus.util.Os;
import org.junit.jupiter.api.Test;
+import org.mockito.Mockito;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.startsWith;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatCode;
/**
* Exhaustively check the OS mojo.
*
* @author <a href="mailto:brianf@apache.org">Brian Fox</a>
*/
-public class TestRequireOS {
+class TestRequireOS {
/**
* Test os.
@@ -48,8 +48,6 @@ public class TestRequireOS {
RequireOS rule = new RequireOS(new OperatingSystemProfileActivator());
- rule.displayOSInfo(log, true);
-
Iterator<String> iter = Os.getValidFamilies().iterator();
String validFamily;
String invalidFamily = null;
@@ -66,66 +64,62 @@ public class TestRequireOS {
log.info("Testing Mojo Using Valid Family: " + validFamily + " Invalid Family: " + invalidFamily);
rule.setFamily(validFamily);
- assertTrue(rule.isAllowed());
+ assertThat(rule.isAllowed()).isTrue();
rule.setFamily(invalidFamily);
- assertFalse(rule.isAllowed());
+ assertThat(rule.isAllowed()).isFalse();
rule.setFamily("!" + invalidFamily);
- assertTrue(rule.isAllowed());
+ assertThat(rule.isAllowed()).isTrue();
rule.setFamily(null);
rule.setArch(Os.OS_ARCH);
- assertTrue(rule.isAllowed());
+ assertThat(rule.isAllowed()).isTrue();
rule.setArch("somecrazyarch");
- assertFalse(rule.isAllowed());
+ assertThat(rule.isAllowed()).isFalse();
rule.setArch("!somecrazyarch");
- assertTrue(rule.isAllowed());
+ assertThat(rule.isAllowed()).isTrue();
rule.setArch(null);
rule.setName(Os.OS_NAME);
- assertTrue(rule.isAllowed());
+ assertThat(rule.isAllowed()).isTrue();
rule.setName("somecrazyname");
- assertFalse(rule.isAllowed());
+ assertThat(rule.isAllowed()).isFalse();
rule.setName("!somecrazyname");
- assertTrue(rule.isAllowed());
+ assertThat(rule.isAllowed()).isTrue();
rule.setName(null);
rule.setVersion(Os.OS_VERSION);
- assertTrue(rule.isAllowed());
+ assertThat(rule.isAllowed()).isTrue();
rule.setVersion("somecrazyversion");
- assertFalse(rule.isAllowed());
+ assertThat(rule.isAllowed()).isFalse();
rule.setVersion("!somecrazyversion");
- assertTrue(rule.isAllowed());
+ assertThat(rule.isAllowed()).isTrue();
}
@Test
- public void testInvalidFamily() {
- RequireOS rule = new RequireOS();
-
- EnforcerRuleHelper helper = EnforcerTestUtils.getHelper();
- helper.getContainer().addComponent(new OperatingSystemProfileActivator(), "os");
+ void testInvalidFamily() {
+ RequireOS rule = new RequireOS(new OperatingSystemProfileActivator());
+ rule.setLog(Mockito.mock(EnforcerLogger.class));
rule.setFamily("junk");
- try {
- rule.execute(helper);
- fail("Expected MojoExecution Exception because of invalid family type");
- } catch (EnforcerRuleException e) {
- assertThat(e.getMessage(), startsWith("Invalid Family type used. Valid family types are: "));
- }
+ assertThatCode(rule::execute)
+ .isInstanceOf(EnforcerRuleError.class)
+ .hasMessageStartingWith("Invalid Family type used. Valid family types are: ");
}
@Test
- public void testId() {
- RequireOS rule = new RequireOS();
- rule.getCacheId();
+ void testId() {
+ RequireOS rule = new RequireOS(new OperatingSystemProfileActivator());
+ rule.setVersion("1.2");
+ assertThat(rule.getCacheId()).isNotEmpty();
}
}
diff --git a/maven-enforcer-plugin/src/it/projects/require-os/pom.xml b/maven-enforcer-plugin/src/it/projects/require-os/pom.xml
new file mode 100644
index 0000000..a0b3f22
--- /dev/null
+++ b/maven-enforcer-plugin/src/it/projects/require-os/pom.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.maven.its.enforcer</groupId>
+ <artifactId>require-os-test</artifactId>
+ <version>1.0</version>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>@project.version@</version>
+ <executions>
+ <execution>
+ <id>require-os</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <requireOS>
+ <display>true</display>
+ <name>!XXX-Test-Name</name>
+ </requireOS>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
diff --git a/maven-enforcer-plugin/src/it/projects/require-os/verify.groovy b/maven-enforcer-plugin/src/it/projects/require-os/verify.groovy
new file mode 100644
index 0000000..d030b54
--- /dev/null
+++ b/maven-enforcer-plugin/src/it/projects/require-os/verify.groovy
@@ -0,0 +1,21 @@
+/*
+ * 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.
+ */
+File buildLog = new File(basedir, 'build.log')
+assert buildLog.text.contains('OS Info - Arch')
+assert buildLog.text.contains('[INFO] Rule 0: org.apache.maven.enforcer.rules.RequireOS executed')
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 5e77260..d9ffddd 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
@@ -18,6 +18,7 @@
*/
package org.apache.maven.plugins.enforcer;
+import org.apache.maven.enforcer.rules.utils.OSUtil;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugins.annotations.Mojo;
@@ -44,11 +45,12 @@ public class DisplayInfoMojo extends AbstractMojo {
String mavenVersion = session.getSystemProperties().getProperty("maven.version");
String javaVersion = System.getProperty("java.version");
String javaVendor = System.getProperty("java.vendor");
+
getLog().info("Maven Version: " + mavenVersion);
getLog().info("JDK Version: " + javaVersion + " normalized as: "
+ RequireJavaVersion.normalizeJDKVersion(javaVersion));
getLog().info("Java Vendor: " + javaVendor);
- RequireOS os = new RequireOS();
- os.displayOSInfo(getLog(), true);
+
+ getLog().info(OSUtil.getOSInfo());
}
}