Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,13 @@ public interface ExecutorRequest {
*/
Optional<OutputStream> stdErr();

/**
* Indicate if {@code ~/.mavenrc} should be skipped during execution.
* <p>
* Affected only for forked executor by adding MAVEN_SKIP_RC environment variable
*/
boolean skipMavenRc();

/**
* Returns {@link Builder} created from this instance.
*/
Expand All @@ -160,7 +167,8 @@ default Builder toBuilder() {
jvmArguments().orElse(null),
stdIn().orElse(null),
stdOut().orElse(null),
stdErr().orElse(null));
stdErr().orElse(null),
skipMavenRc());
}

/**
Expand All @@ -182,7 +190,8 @@ static Builder mavenBuilder(@Nullable Path installationDirectory) {
null,
null,
null,
null);
null,
false);
}

class Builder {
Expand All @@ -197,6 +206,7 @@ class Builder {
private InputStream stdIn;
private OutputStream stdOut;
private OutputStream stdErr;
private boolean skipMavenRc;

private Builder() {}

Expand All @@ -212,7 +222,8 @@ private Builder(
List<String> jvmArguments,
InputStream stdIn,
OutputStream stdOut,
OutputStream stdErr) {
OutputStream stdErr,
boolean skipMavenRc) {
this.command = command;
this.arguments = arguments;
this.cwd = cwd;
Expand All @@ -224,6 +235,7 @@ private Builder(
this.stdIn = stdIn;
this.stdOut = stdOut;
this.stdErr = stdErr;
this.skipMavenRc = skipMavenRc;
}

@Nonnull
Expand Down Expand Up @@ -333,6 +345,12 @@ public Builder stdErr(OutputStream stdErr) {
return this;
}

@Nonnull
public Builder skipMavenRc(boolean skipMavenRc) {
this.skipMavenRc = skipMavenRc;
return this;
}

@Nonnull
public ExecutorRequest build() {
return new Impl(
Expand All @@ -346,7 +364,8 @@ public ExecutorRequest build() {
jvmArguments,
stdIn,
stdOut,
stdErr);
stdErr,
skipMavenRc);
}

private static class Impl implements ExecutorRequest {
Expand All @@ -361,6 +380,7 @@ private static class Impl implements ExecutorRequest {
private final InputStream stdIn;
private final OutputStream stdOut;
private final OutputStream stdErr;
private final boolean skipMavenRc;

@SuppressWarnings("ParameterNumber")
private Impl(
Expand All @@ -374,7 +394,8 @@ private Impl(
List<String> jvmArguments,
InputStream stdIn,
OutputStream stdOut,
OutputStream stdErr) {
OutputStream stdErr,
boolean skipMavenRc) {
this.command = requireNonNull(command);
this.arguments = arguments == null ? List.of() : List.copyOf(arguments);
this.cwd = getCanonicalPath(requireNonNull(cwd));
Expand All @@ -386,6 +407,7 @@ private Impl(
this.stdIn = stdIn;
this.stdOut = stdOut;
this.stdErr = stdErr;
this.skipMavenRc = skipMavenRc;
}

@Override
Expand Down Expand Up @@ -443,6 +465,11 @@ public Optional<OutputStream> stdErr() {
return Optional.ofNullable(stdErr);
}

@Override
public boolean skipMavenRc() {
return skipMavenRc;
}

@Override
public String toString() {
return getClass().getSimpleName() + "{" + "command='"
Expand All @@ -456,7 +483,8 @@ public String toString() {
+ jvmArguments + ", stdinProvider="
+ stdIn + ", stdoutConsumer="
+ stdOut + ", stderrConsumer="
+ stdErr + '}';
+ stdErr + ", skipMavenRc="
+ skipMavenRc + "}";
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,10 @@ protected int doExecute(ExecutorRequest executorRequest) throws ExecutorExceptio
}
env.remove("MAVEN_ARGS"); // we already used it if configured to do so

if (executorRequest.skipMavenRc()) {
env.put("MAVEN_SKIP_RC", "true");
}

try {
ProcessBuilder pb = new ProcessBuilder()
.directory(executorRequest.cwd().toFile())
Expand Down
4 changes: 4 additions & 0 deletions its/core-it-suite/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -538,6 +538,10 @@ under the License.
<maven.home>${preparedMavenHome}</maven.home>
<maven.it.global-settings.dir>${project.build.testOutputDirectory}</maven.it.global-settings.dir>
</systemPropertyVariables>
<excludedEnvironmentVariables>
<excludedEnvironmentVariable>MAVEN_ARGS</excludedEnvironmentVariable>
<excludedEnvironmentVariable>MAVEN_OPTS</excludedEnvironmentVariable>
</excludedEnvironmentVariables>
</configuration>
</plugin>
<plugin>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import java.util.List;
import java.util.Map;

import org.apache.maven.cling.executor.ExecutorHelper;
import org.junit.jupiter.api.ClassDescriptor;
import org.junit.jupiter.api.ClassOrderer;
import org.junit.jupiter.api.ClassOrdererContext;
Expand Down Expand Up @@ -66,10 +67,11 @@ private static void infoProperty(PrintStream info, String property) {
Verifier verifier = new Verifier("");
String mavenVersion = verifier.getMavenVersion();
String executable = verifier.getExecutable();
ExecutorHelper.Mode defaultMode = verifier.getDefaultMode();

out.println("Running integration tests for Maven " + mavenVersion + System.lineSeparator()
+ "\tusing Maven executable: " + executable + System.lineSeparator()
+ "\twith verifier.forkMode: " + System.getProperty("verifier.forkMode", "not defined == fork"));
+ "\twith verifier.forkMode: " + defaultMode);

System.setProperty("maven.version", mavenVersion);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,8 @@ public class Verifier {

private Path logFile;

private boolean skipMavenRc = true;

public Verifier(String basedir) throws VerificationException {
this(basedir, null);
}
Expand Down Expand Up @@ -170,6 +172,10 @@ public void setExecutable(String executable) {
this.executable = requireNonNull(executable);
}

public ExecutorHelper.Mode getDefaultMode() {
return executorHelper.getDefaultMode();
}

public void execute() throws VerificationException {
List<String> args = new ArrayList<>(defaultCliArguments);
for (String cliArgument : cliArguments) {
Expand Down Expand Up @@ -221,7 +227,8 @@ public void execute() throws VerificationException {
.cwd(basedir)
.userHomeDirectory(userHomeDirectory)
.jvmArguments(jvmArguments)
.arguments(args);
.arguments(args)
.skipMavenRc(skipMavenRc);
if (!systemProperties.isEmpty()) {
builder.jvmSystemProperties(new HashMap(systemProperties));
}
Expand Down Expand Up @@ -337,6 +344,10 @@ public void setForkJvm(boolean forkJvm) {
this.forkJvm = forkJvm;
}

public void setSkipMavenRc(boolean skipMavenRc) {
this.skipMavenRc = skipMavenRc;
}

public void setHandleLocalRepoTail(boolean handleLocalRepoTail) {
this.handleLocalRepoTail = handleLocalRepoTail;
}
Expand Down
Loading