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

khmarbaise pushed a commit to branch MINVOKER-352
in repository https://gitbox.apache.org/repos/asf/maven-invoker-plugin.git

commit 84b2692f66cadfb467166a2650199746eb39f8bb
Author: Karl Heinz Marbaise <khmarba...@apache.org>
AuthorDate: Mon Jan 1 13:58:53 2024 +0100

    [MINVOKER-352] - Remove usage commons-lang3
---
 pom.xml                                            |  5 -----
 .../maven/plugins/invoker/AbstractInvokerMojo.java | 13 ++++++-----
 .../maven/plugins/invoker/InvokerProperties.java   |  9 ++++----
 .../maven/plugins/invoker/SelectorUtils.java       | 25 ++++++++++++++--------
 4 files changed, 28 insertions(+), 24 deletions(-)

diff --git a/pom.xml b/pom.xml
index 65120e4..c40407d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -206,11 +206,6 @@ under the License.
       <scope>runtime</scope>
     </dependency>
 
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-lang3</artifactId>
-      <version>3.12.0</version>
-    </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-utils</artifactId>
diff --git 
a/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java 
b/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java
index 2632020..14ddb73 100644
--- a/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java
+++ b/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java
@@ -43,12 +43,12 @@ import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Properties;
 import java.util.Set;
 import java.util.TreeSet;
 import java.util.stream.Collectors;
 
-import org.apache.commons.lang3.StringUtils;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.model.Model;
@@ -1020,8 +1020,7 @@ public abstract class AbstractInvokerMojo extends 
AbstractMojo {
             String projectDir = pomFile.getParent();
 
             String parentPath = "../pom.xml";
-            if (model.getParent() != null
-                    && 
StringUtils.isNotEmpty(model.getParent().getRelativePath())) {
+            if (model.getParent() != null && 
isNotEmpty(model.getParent().getRelativePath())) {
                 parentPath = model.getParent().getRelativePath();
             }
             String parent = relativizePath(new File(projectDir, parentPath), 
projectsRoot);
@@ -1044,6 +1043,10 @@ public abstract class AbstractInvokerMojo extends 
AbstractMojo {
         }
     }
 
+    private boolean isNotEmpty(String s) {
+        return Objects.nonNull(s) && !s.isEmpty();
+    }
+
     /**
      * Copies the specified projects to the directory given by {@link 
#cloneProjectsTo}. A project may either be denoted
      * by a path to a POM file or merely by a path to a base directory. During 
cloning, the POM files will be filtered.
@@ -2031,7 +2034,7 @@ public abstract class AbstractInvokerMojo extends 
AbstractMojo {
 
     private List<String> calculateIncludes() {
         if (invokerTest != null) {
-            String[] testRegexes = StringUtils.split(invokerTest, ",");
+            String[] testRegexes = invokerTest.split(",+");
             return Arrays.stream(testRegexes)
                     .map(String::trim)
                     .filter(s -> !s.isEmpty())
@@ -2049,7 +2052,7 @@ public abstract class AbstractInvokerMojo extends 
AbstractMojo {
         List<String> excludes;
 
         if (invokerTest != null) {
-            String[] testRegexes = StringUtils.split(invokerTest, ",");
+            String[] testRegexes = invokerTest.split(",+");
             excludes = Arrays.stream(testRegexes)
                     .map(String::trim)
                     .filter(s -> !s.isEmpty())
diff --git 
a/src/main/java/org/apache/maven/plugins/invoker/InvokerProperties.java 
b/src/main/java/org/apache/maven/plugins/invoker/InvokerProperties.java
index a315c55..15e246d 100644
--- a/src/main/java/org/apache/maven/plugins/invoker/InvokerProperties.java
+++ b/src/main/java/org/apache/maven/plugins/invoker/InvokerProperties.java
@@ -31,7 +31,6 @@ import java.util.function.Consumer;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.apache.commons.lang3.StringUtils;
 import org.apache.maven.shared.invoker.InvocationRequest;
 
 /**
@@ -43,7 +42,7 @@ class InvokerProperties {
     private static final String SELECTOR_PREFIX = "selector.";
 
     private static final Pattern ENVIRONMENT_VARIABLES_PATTERN =
-            
Pattern.compile("invoker\\.environmentVariables\\.([A-Za-z][^.]+)(\\.([0-9]+))?");
+            
Pattern.compile("invoker\\.environmentVariables\\.([A-Za-z][^.]+)(\\.(\\d+))?");
 
     // default values from Mojo configuration
     private Boolean defaultDebug;
@@ -154,7 +153,7 @@ class InvokerProperties {
      * @param defaultMavenExecutable a default value
      */
     public void setDefaultMavenExecutable(String defaultMavenExecutable) {
-        if (StringUtils.isNotBlank(defaultMavenExecutable)) {
+        if (Objects.nonNull(defaultMavenExecutable) && 
!defaultMavenExecutable.isEmpty()) {
             this.defaultMavenExecutable = new File(defaultMavenExecutable);
         }
     }
@@ -397,7 +396,7 @@ class InvokerProperties {
         setIfNotNull(
                 request::setGoals,
                 get(InvocationProperty.GOALS, index)
-                        .map(s -> StringUtils.split(s, ", \t\n\r\f"))
+                        .map(s -> s.trim().split("\\s*[ ,]+\\s*"))
                         .map(Arrays::asList)
                         .filter(l -> !l.isEmpty())
                         .orElse(defaultGoals));
@@ -405,7 +404,7 @@ class InvokerProperties {
         setIfNotNull(
                 request::setProfiles,
                 get(InvocationProperty.PROFILES, index)
-                        .map(s -> StringUtils.split(s, ", \t\n\r\f"))
+                        .map(s -> s.trim().split("\\s*[ ,]+\\s*"))
                         .map(Arrays::asList)
                         .filter(l -> !l.isEmpty())
                         .orElse(defaultProfiles));
diff --git a/src/main/java/org/apache/maven/plugins/invoker/SelectorUtils.java 
b/src/main/java/org/apache/maven/plugins/invoker/SelectorUtils.java
index 5cba3f4..00b5400 100644
--- a/src/main/java/org/apache/maven/plugins/invoker/SelectorUtils.java
+++ b/src/main/java/org/apache/maven/plugins/invoker/SelectorUtils.java
@@ -29,10 +29,10 @@ import java.util.Arrays;
 import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Objects;
 import java.util.Properties;
 import java.util.stream.Collectors;
 
-import org.apache.commons.lang3.StringUtils;
 import 
org.apache.maven.plugins.invoker.AbstractInvokerMojo.ToolchainPrivateManager;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.toolchain.MisconfiguredToolchainException;
@@ -47,7 +47,11 @@ import org.codehaus.plexus.util.Os;
 class SelectorUtils {
 
     static void parseList(String list, Collection<String> includes, 
Collection<String> excludes) {
-        String[] tokens = (list != null) ? StringUtils.split(list, ",") : new 
String[0];
+        if (Objects.isNull(list)) {
+            return;
+        }
+
+        String[] tokens = list.split(",+");
 
         for (String token1 : tokens) {
             String token = token1.trim();
@@ -99,7 +103,8 @@ class SelectorUtils {
                     .getClassLoader()
                     
.getResourceAsStream("META-INF/maven/org.apache.maven/maven-core/pom.properties"));
             // CHECKSTYLE_ON: LineLength
-            return StringUtils.trim(properties.getProperty("version"));
+            String str = properties.getProperty("version");
+            return str == null ? null : str.trim();
         } catch (Exception e) {
             return null;
         }
@@ -121,7 +126,8 @@ class SelectorUtils {
                 try (InputStream in = url.openStream()) {
                     Properties properties = new Properties();
                     properties.load(in);
-                    String version = 
StringUtils.trim(properties.getProperty("version"));
+                    String str = properties.getProperty("version");
+                    String version = str == null ? null : str.trim();
                     if (version != null) {
                         return version;
                     }
@@ -201,13 +207,14 @@ class SelectorUtils {
     }
 
     static List<Integer> parseVersion(String version) {
-        version = version.replaceAll("[^0-9]", ".");
-
-        String[] tokens = StringUtils.split(version, ".");
+        version = version.replaceAll("\\D", ".");
 
-        List<Integer> numbers = 
Arrays.stream(tokens).map(Integer::valueOf).collect(Collectors.toList());
+        String[] tokens = version.split("\\s*\\.+\\s*");
 
-        return numbers;
+        return Arrays.stream(tokens)
+                .filter(s -> !s.isEmpty())
+                .map(Integer::valueOf)
+                .collect(Collectors.toList());
     }
 
     static int compareVersions(List<Integer> version1, List<Integer> version2) 
{

Reply via email to