diff --git a/subprojects/gradle-testkit-fixtures/src/main/groovy/dev/gradleplugins/integtests/fixtures/executer/AbstractGradleExecuter.java b/subprojects/gradle-testkit-fixtures/src/main/groovy/dev/gradleplugins/integtests/fixtures/executer/AbstractGradleExecuter.java index 5b9c5757..0f79859d 100644 --- a/subprojects/gradle-testkit-fixtures/src/main/groovy/dev/gradleplugins/integtests/fixtures/executer/AbstractGradleExecuter.java +++ b/subprojects/gradle-testkit-fixtures/src/main/groovy/dev/gradleplugins/integtests/fixtures/executer/AbstractGradleExecuter.java @@ -5,6 +5,7 @@ import java.io.File; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; public abstract class AbstractGradleExecuter implements GradleExecuter { @@ -80,7 +81,31 @@ private boolean hasSettingsFile(TestFile directory) { } //endregion + //region Process arguments + private final List arguments = new ArrayList<>(); + + @Override + public GradleExecuter withArguments(String... args) { + return withArguments(Arrays.asList(args)); + } + + @Override + public GradleExecuter withArguments(List args) { + arguments.clear(); + arguments.addAll(args); + return this; + } + + @Override + public GradleExecuter withArgument(String arg) { + arguments.add(arg); + return this; + } + //endregion + protected void reset() { + arguments.clear(); + workingDirectory = null; userHomeDirectory = null; settingsFile = null; @@ -110,6 +135,8 @@ protected List getAllArguments() { ensureSettingsFileAvailable(); } + allArguments.addAll(arguments); + return allArguments; } } diff --git a/subprojects/gradle-testkit-fixtures/src/main/groovy/dev/gradleplugins/integtests/fixtures/executer/GradleRunnerExecuter.java b/subprojects/gradle-testkit-fixtures/src/main/groovy/dev/gradleplugins/integtests/fixtures/executer/GradleRunnerExecuter.java index 871f3b50..0e1bccaa 100644 --- a/subprojects/gradle-testkit-fixtures/src/main/groovy/dev/gradleplugins/integtests/fixtures/executer/GradleRunnerExecuter.java +++ b/subprojects/gradle-testkit-fixtures/src/main/groovy/dev/gradleplugins/integtests/fixtures/executer/GradleRunnerExecuter.java @@ -32,7 +32,6 @@ public class GradleRunnerExecuter extends AbstractGradleExecuter { private final List tasks = new ArrayList<>(); - private final List arguments = new ArrayList<>(); private final List> beforeExecute = new ArrayList<>(); private final List> afterExecute = new ArrayList<>(); private boolean debuggerAttached = false; @@ -69,24 +68,6 @@ public GradleExecuter withTasks(List tasks) { return this; } - @Override - public GradleExecuter withArguments(String... args) { - return withArguments(Arrays.asList(args)); - } - - @Override - public GradleExecuter withArguments(List args) { - arguments.clear(); - arguments.addAll(args); - return this; - } - - @Override - public GradleExecuter withArgument(String arg) { - arguments.add(arg); - return this; - } - @Override public GradleExecuter withBuildCacheEnabled() { return withArgument("--build-cache"); @@ -136,7 +117,6 @@ private void finished() { protected void reset() { super.reset(); tasks.clear(); - arguments.clear(); debuggerAttached = false; gradleVersion = null; projectDirectory = null; @@ -172,7 +152,6 @@ private GradleRunner configureExecuter() { allArguments.add(projectDirectory.getAbsolutePath()); } - allArguments.addAll(arguments); allArguments.addAll(tasks); runner.withArguments(allArguments);