Pass the arguments list instead of the add method only

This commit is contained in:
Guillaume Nodet
2020-12-09 14:21:23 +01:00
parent e638f74c4e
commit 37da2361a1
5 changed files with 17 additions and 19 deletions

View File

@@ -327,13 +327,13 @@ public class DaemonConnector {
args.add("-Xmx" + maxHeapSize);
}
Environment.MVND_HOME.appendAsCommandLineOption(args::add, mvndHome.toString());
Environment.MVND_HOME.appendAsCommandLineOption(args, mvndHome.toString());
Environment.LOGBACK_CONFIGURATION_FILE
.appendAsCommandLineOption(args::add, parameters.logbackConfigurationPath().toString());
Environment.MVND_UID.appendAsCommandLineOption(args::add, uid);
Environment.MVND_DAEMON_STORAGE.appendAsCommandLineOption(args::add, parameters.daemonStorage().toString());
Environment.MVND_REGISTRY.appendAsCommandLineOption(args::add, parameters.registry().toString());
parameters.discriminatingCommandLineOptions(args::add);
.appendAsCommandLineOption(args, parameters.logbackConfigurationPath().toString());
Environment.MVND_UID.appendAsCommandLineOption(args, uid);
Environment.MVND_DAEMON_STORAGE.appendAsCommandLineOption(args, parameters.daemonStorage().toString());
Environment.MVND_REGISTRY.appendAsCommandLineOption(args, parameters.registry().toString());
parameters.discriminatingCommandLineOptions(args);
args.add(MavenDaemon.class.getName());
command = String.join(" ", args);

View File

@@ -31,7 +31,6 @@ import java.util.Map;
import java.util.Optional;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.IntUnaryOperator;
import java.util.function.Supplier;
@@ -92,7 +91,7 @@ public class DaemonParameters {
.filter(EnvValue::isSet);
}
public void discriminatingCommandLineOptions(Consumer<String> args) {
public void discriminatingCommandLineOptions(List<String> args) {
discriminatingValues()
.forEach(envValue -> envValue.envKey.appendAsCommandLineOption(args, envValue.asString()));
}

View File

@@ -242,7 +242,7 @@ public class DefaultClient implements Client {
if (localMavenRepository != null && args.stream().noneMatch(arg -> arg.startsWith("-Dmaven.repo.local="))) {
args.add("-Dmaven.repo.local=" + localMavenRepository.toString());
}
Environment.MVND_TERMINAL_WIDTH.appendAsCommandLineOption(args::add, Integer.toString(output.getTerminalWidth()));
Environment.MVND_TERMINAL_WIDTH.appendAsCommandLineOption(args, Integer.toString(output.getTerminalWidth()));
final DaemonConnector connector = new DaemonConnector(parameters, registry);
try (DaemonClientConnection daemon = connector.connect(output)) {

View File

@@ -28,7 +28,6 @@ import java.util.List;
import java.util.Locale;
import java.util.Optional;
import java.util.Properties;
import java.util.function.Consumer;
import java.util.stream.Stream;
/**
@@ -314,12 +313,12 @@ public enum Environment {
return property + "=" + type.normalize(value);
}
public void appendAsCommandLineOption(Consumer<String> args, String value) {
public void appendAsCommandLineOption(List<String> args, String value) {
if (!options.isEmpty()) {
args.accept(options.get(0));
args.accept(type.normalize(value));
args.add(options.get(0));
args.add(type.normalize(value));
} else {
args.accept("-D" + property + "=" + type.normalize(value));
args.add("-D" + property + "=" + type.normalize(value));
}
}

View File

@@ -54,23 +54,23 @@ public class NativeTestClient implements Client {
cmd.addAll(args);
if (!Environment.MVND_DAEMON_STORAGE.hasCommandOption(args)) {
Path daemonStorage = parameters.daemonStorage();
Environment.MVND_DAEMON_STORAGE.appendAsCommandLineOption(cmd::add, daemonStorage.toString());
Environment.MVND_DAEMON_STORAGE.appendAsCommandLineOption(cmd, daemonStorage.toString());
}
if (!Environment.MAVEN_REPO_LOCAL.hasCommandOption(args)) {
Path mavenRepoLocal = parameters.mavenRepoLocal();
Environment.MAVEN_REPO_LOCAL.appendAsCommandLineOption(cmd::add, mavenRepoLocal.toString());
Environment.MAVEN_REPO_LOCAL.appendAsCommandLineOption(cmd, mavenRepoLocal.toString());
}
if (!Environment.MAVEN_SETTINGS.hasCommandOption(args)) {
final Path settings = parameters.settings();
if (settings != null) {
Environment.MAVEN_SETTINGS.appendAsCommandLineOption(cmd::add, settings.toString());
Environment.MAVEN_SETTINGS.appendAsCommandLineOption(cmd, settings.toString());
}
}
if (!Environment.MVND_THREADS.hasCommandOption(args)) {
final String threads = parameters.threads();
Environment.MVND_THREADS.appendAsCommandLineOption(cmd::add, threads);
Environment.MVND_THREADS.appendAsCommandLineOption(cmd, threads);
}
Environment.MVND_TERMINAL_WIDTH.appendAsCommandLineOption(cmd::add, Integer.toString(output.getTerminalWidth()));
Environment.MVND_TERMINAL_WIDTH.appendAsCommandLineOption(cmd, Integer.toString(output.getTerminalWidth()));
final ProcessBuilder builder = new ProcessBuilder(cmd.toArray(new String[0]))
.directory(parameters.userDir().toFile()) //