From 5093ced94bac93034e457830df86ae3bfe31b0cb Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Thu, 6 Apr 2023 10:52:45 +0200 Subject: [PATCH] Remove plexus-utils and commons-xxx references (#833) --- .../mvnd/client/DaemonParameters.java | 5 +- .../org/apache/maven/cli/DaemonMavenCli.java | 21 ++------ .../DefaultBuildResumptionDataRepository.java | 6 +-- .../org/apache/maven/cli/DaemonMavenCli.java | 52 ++++++------------- .../mvnd/interactivity/DaemonPrompter.java | 3 +- .../mvnd/timing/BuildTimeEventSpy.java | 15 ++++-- 6 files changed, 39 insertions(+), 63 deletions(-) diff --git a/client/src/main/java/org/mvndaemon/mvnd/client/DaemonParameters.java b/client/src/main/java/org/mvndaemon/mvnd/client/DaemonParameters.java index 738e4afa..e09deaf0 100644 --- a/client/src/main/java/org/mvndaemon/mvnd/client/DaemonParameters.java +++ b/client/src/main/java/org/mvndaemon/mvnd/client/DaemonParameters.java @@ -43,7 +43,6 @@ import java.util.stream.Stream; import org.apache.maven.cli.internal.extension.model.CoreExtension; import org.apache.maven.cli.internal.extension.model.io.xpp3.CoreExtensionsXpp3Reader; -import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; import org.mvndaemon.mvnd.common.Environment; import org.mvndaemon.mvnd.common.InterpolationHelper; @@ -440,8 +439,8 @@ public class DaemonParameters { private static List parseExtClasspath(Path userDir) { String extClassPath = System.getProperty(EXT_CLASS_PATH); List jars = new ArrayList<>(); - if (StringUtils.isNotEmpty(extClassPath)) { - for (String jar : StringUtils.split(extClassPath, File.pathSeparator)) { + if (extClassPath != null) { + for (String jar : extClassPath.split(File.pathSeparator)) { Path path = userDir.resolve(jar).toAbsolutePath(); jars.add(path.toString()); } diff --git a/daemon-m39/src/main/java/org/apache/maven/cli/DaemonMavenCli.java b/daemon-m39/src/main/java/org/apache/maven/cli/DaemonMavenCli.java index ee389a05..90de0749 100644 --- a/daemon-m39/src/main/java/org/apache/maven/cli/DaemonMavenCli.java +++ b/daemon-m39/src/main/java/org/apache/maven/cli/DaemonMavenCli.java @@ -93,7 +93,6 @@ import org.codehaus.plexus.PlexusContainer; import org.codehaus.plexus.classworlds.ClassWorld; import org.codehaus.plexus.classworlds.realm.ClassRealm; import org.codehaus.plexus.component.repository.exception.ComponentLookupException; -import org.codehaus.plexus.util.StringUtils; import org.eclipse.aether.transfer.TransferListener; import org.mvndaemon.mvnd.cache.invalidating.InvalidatingExtensionRealmCache; import org.mvndaemon.mvnd.cache.invalidating.InvalidatingPluginArtifactsCache; @@ -652,12 +651,10 @@ public class DaemonMavenCli implements DaemonCli { List jars = new ArrayList<>(); - if (StringUtils.isNotEmpty(extClassPath)) { - for (String jar : StringUtils.split(extClassPath, File.pathSeparator)) { + if (extClassPath != null) { + for (String jar : extClassPath.split(File.pathSeparator)) { File file = resolveFile(new File(jar), cliRequest.workingDirectory); - slf4jLogger.debug(" Included {}", file); - jars.add(file); } } @@ -819,19 +816,11 @@ public class DaemonMavenCli implements DaemonCli { private void logSummary( ExceptionSummary summary, Map references, String indent, boolean showErrors) { - String referenceKey = ""; - - if (StringUtils.isNotEmpty(summary.getReference())) { - referenceKey = references.get(summary.getReference()); - if (referenceKey == null) { - referenceKey = "[Help " + (references.size() + 1) + "]"; - references.put(summary.getReference(), referenceKey); - } - } - String msg = summary.getMessage(); - if (StringUtils.isNotEmpty(referenceKey)) { + if (!summary.getReference().isEmpty()) { + String referenceKey = + references.computeIfAbsent(summary.getReference(), k -> "[Help " + (references.size() + 1) + "]"); if (msg.indexOf('\n') < 0) { msg += " -> " + buffer().strong(referenceKey); } else { diff --git a/daemon-m39/src/main/java/org/mvndaemon/mvnd/execution/DefaultBuildResumptionDataRepository.java b/daemon-m39/src/main/java/org/mvndaemon/mvnd/execution/DefaultBuildResumptionDataRepository.java index d61c5151..5a4f7c63 100644 --- a/daemon-m39/src/main/java/org/mvndaemon/mvnd/execution/DefaultBuildResumptionDataRepository.java +++ b/daemon-m39/src/main/java/org/mvndaemon/mvnd/execution/DefaultBuildResumptionDataRepository.java @@ -49,7 +49,6 @@ import java.nio.file.Paths; import java.util.Properties; import java.util.stream.Stream; -import org.apache.commons.lang3.StringUtils; import org.apache.maven.execution.MavenExecutionRequest; import org.apache.maven.project.MavenProject; import org.slf4j.Logger; @@ -144,10 +143,11 @@ public class DefaultBuildResumptionDataRepository implements BuildResumptionData // This method is made package-private for testing purposes void applyResumptionProperties(MavenExecutionRequest request, Properties properties) { - if (properties.containsKey(REMAINING_PROJECTS) && StringUtils.isEmpty(request.getResumeFrom())) { + if (properties.containsKey(REMAINING_PROJECTS) + && (request.getResumeFrom() == null || request.getResumeFrom().isEmpty())) { String propertyValue = properties.getProperty(REMAINING_PROJECTS); Stream.of(propertyValue.split(PROPERTY_DELIMITER)) - .filter(StringUtils::isNotEmpty) + .filter(s -> s != null && !s.isEmpty()) .forEach(request.getSelectedProjects()::add); LOGGER.info("Resuming from {} due to the --resume / -r feature.", propertyValue); } diff --git a/daemon-m40/src/main/java/org/apache/maven/cli/DaemonMavenCli.java b/daemon-m40/src/main/java/org/apache/maven/cli/DaemonMavenCli.java index c91e7434..bda30f63 100644 --- a/daemon-m40/src/main/java/org/apache/maven/cli/DaemonMavenCli.java +++ b/daemon-m40/src/main/java/org/apache/maven/cli/DaemonMavenCli.java @@ -45,7 +45,6 @@ import com.google.inject.AbstractModule; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.ParseException; -import org.apache.commons.lang3.math.NumberUtils; import org.apache.maven.InternalErrorException; import org.apache.maven.Maven; import org.apache.maven.building.FileSource; @@ -88,7 +87,6 @@ import org.codehaus.plexus.PlexusContainer; import org.codehaus.plexus.classworlds.ClassWorld; import org.codehaus.plexus.classworlds.realm.ClassRealm; import org.codehaus.plexus.component.repository.exception.ComponentLookupException; -import org.codehaus.plexus.util.StringUtils; import org.eclipse.aether.transfer.TransferListener; import org.mvndaemon.mvnd.cache.invalidating.InvalidatingExtensionRealmCache; import org.mvndaemon.mvnd.cache.invalidating.InvalidatingPluginArtifactsCache; @@ -637,12 +635,10 @@ public class DaemonMavenCli implements DaemonCli { List jars = new ArrayList<>(); - if (StringUtils.isNotEmpty(extClassPath)) { - for (String jar : StringUtils.split(extClassPath, File.pathSeparator)) { + if (extClassPath != null) { + for (String jar : extClassPath.split(File.pathSeparator)) { File file = resolveFile(new File(jar), cliRequest.workingDirectory); - slf4jLogger.debug(" Included {}", file); - jars.add(file); } } @@ -787,19 +783,11 @@ public class DaemonMavenCli implements DaemonCli { private void logSummary( ExceptionSummary summary, Map references, String indent, boolean showErrors) { - String referenceKey = ""; - - if (StringUtils.isNotEmpty(summary.getReference())) { - referenceKey = references.get(summary.getReference()); - if (referenceKey == null) { - referenceKey = "[Help " + (references.size() + 1) + "]"; - references.put(summary.getReference(), referenceKey); - } - } - String msg = summary.getMessage(); - if (StringUtils.isNotEmpty(referenceKey)) { + if (!summary.getReference().isEmpty()) { + String referenceKey = + references.computeIfAbsent(summary.getReference(), k -> "[Help " + (references.size() + 1) + "]"); if (msg.indexOf('\n') < 0) { msg += " -> " + buffer().strong(referenceKey); } else { @@ -1241,29 +1229,23 @@ public class DaemonMavenCli implements DaemonCli { int calculateDegreeOfConcurrency(String threadConfiguration) { if (threadConfiguration.endsWith("C")) { - threadConfiguration = threadConfiguration.substring(0, threadConfiguration.length() - 1); + try { + String str = threadConfiguration.substring(0, threadConfiguration.length() - 1); + float coreMultiplier = Float.parseFloat(str); - if (!NumberUtils.isParsable(threadConfiguration)) { + if (coreMultiplier <= 0.0f) { + throw new IllegalArgumentException("Invalid threads core multiplier value: '" + threadConfiguration + + "C'. Value must be positive."); + } + + int procs = Runtime.getRuntime().availableProcessors(); + int threads = (int) (coreMultiplier * procs); + return threads == 0 ? 1 : threads; + } catch (NumberFormatException e) { throw new IllegalArgumentException("Invalid threads core multiplier value: '" + threadConfiguration + "C'. Supported are int and float values ending with C."); } - - float coreMultiplier = Float.parseFloat(threadConfiguration); - - if (coreMultiplier <= 0.0f) { - throw new IllegalArgumentException("Invalid threads core multiplier value: '" + threadConfiguration - + "C'. Value must be positive."); - } - - int procs = Runtime.getRuntime().availableProcessors(); - int threads = (int) (coreMultiplier * procs); - return threads == 0 ? 1 : threads; } else { - if (!NumberUtils.isParsable(threadConfiguration)) { - throw new IllegalArgumentException( - "Invalid threads value: '" + threadConfiguration + "'. Supported are int values."); - } - try { int threads = Integer.parseInt(threadConfiguration); diff --git a/daemon/src/main/java/org/mvndaemon/mvnd/interactivity/DaemonPrompter.java b/daemon/src/main/java/org/mvndaemon/mvnd/interactivity/DaemonPrompter.java index e716d198..38f5104e 100644 --- a/daemon/src/main/java/org/mvndaemon/mvnd/interactivity/DaemonPrompter.java +++ b/daemon/src/main/java/org/mvndaemon/mvnd/interactivity/DaemonPrompter.java @@ -31,7 +31,6 @@ import org.codehaus.plexus.components.interactivity.InputHandler; import org.codehaus.plexus.components.interactivity.OutputHandler; import org.codehaus.plexus.components.interactivity.Prompter; import org.codehaus.plexus.components.interactivity.PrompterException; -import org.codehaus.plexus.util.StringUtils; import org.eclipse.sisu.Priority; import org.eclipse.sisu.Typed; import org.mvndaemon.mvnd.common.Message; @@ -115,7 +114,7 @@ public class DaemonPrompter extends AbstractInputHandler implements Prompter, In } catch (IOException e) { throw new PrompterException("Failed to prompt user", e); } - if (StringUtils.isEmpty(line)) { + if (line == null || line.isEmpty()) { line = defaultReply; } if (line != null && (possibleValues != null && !possibleValues.contains(line))) { diff --git a/daemon/src/main/java/org/mvndaemon/mvnd/timing/BuildTimeEventSpy.java b/daemon/src/main/java/org/mvndaemon/mvnd/timing/BuildTimeEventSpy.java index 151ae80f..4258f054 100644 --- a/daemon/src/main/java/org/mvndaemon/mvnd/timing/BuildTimeEventSpy.java +++ b/daemon/src/main/java/org/mvndaemon/mvnd/timing/BuildTimeEventSpy.java @@ -36,7 +36,6 @@ import org.apache.maven.eventspy.EventSpy; import org.apache.maven.execution.ExecutionEvent; import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecution; -import org.codehaus.plexus.util.StringUtils; import org.eclipse.sisu.Typed; import org.mvndaemon.mvnd.common.Environment; import org.slf4j.Logger; @@ -196,9 +195,17 @@ public class BuildTimeEventSpy extends AbstractEventSpy { public String name() { String name = mojo.getKey(); - String truncatedName = - name.length() >= MAX_NAME_LENGTH ? StringUtils.substring(name, 0, MAX_NAME_LENGTH) : name + " "; - return StringUtils.rightPad(truncatedName, MAX_NAME_LENGTH, "."); + if (name.length() < MAX_NAME_LENGTH) { + StringBuilder sb = new StringBuilder(MAX_NAME_LENGTH); + sb.append(name); + sb.append(' '); + while (sb.length() < MAX_NAME_LENGTH) { + sb.append('.'); + } + return sb.toString(); + } else { + return name.substring(0, MAX_NAME_LENGTH); + } } public long duration() {