Skip to content

Commit

Permalink
Merge pull request #578 from gradle/maven/use-wrapper
Browse files Browse the repository at this point in the history
Use Maven wrapper
  • Loading branch information
lptr committed Sep 24, 2024
2 parents 45107dd + 3fdea4a commit d391e20
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.gradle.profiler;

import javax.annotation.Nullable;
import javax.annotation.OverridingMethodsMustInvokeSuper;
import java.io.File;
import java.io.PrintStream;
import java.util.List;
Expand Down Expand Up @@ -33,9 +34,14 @@ protected void printDetail(PrintStream out) {
out.println(" Targets: " + getTargets());
}

public String getExecutablePath() {
public String getExecutablePath(File projectDir) {
String toolHomePath = getToolHome() == null ? System.getenv(getToolHomeEnvName()) : getToolHome().getAbsolutePath();
return toolHomePath == null ? getExecutableName() : toolHomePath + "/bin/" + getExecutableName();
return toolHomePath == null ? getExecutablePathWithoutToolHome(projectDir) : toolHomePath + "/bin/" + getExecutableName();
}

@OverridingMethodsMustInvokeSuper
protected String getExecutablePathWithoutToolHome(File projectDir) {
return getExecutableName();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public void run(BazelScenarioDefinition scenario, InvocationSettings settings, C
List<String> targets = scenario.getTargets();

List<String> commandLine = new ArrayList<>();
commandLine.add(scenario.getExecutablePath());
commandLine.add(scenario.getExecutablePath(settings.getProjectDir()));
commandLine.addAll(targets);

doRun(scenario, settings, resultConsumer, commandLine);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,19 @@ protected String getExecutableName() {
}
}

@Override
protected String getExecutablePathWithoutToolHome(File projectDir) {
String wrapperName = OperatingSystem.isWindows()
? "mvnw.cmd"
: "mvnw";
File wrapper = new File(projectDir, wrapperName);
if (wrapper.isFile()) {
return wrapper.getAbsolutePath();
} else {
return super.getExecutablePathWithoutToolHome(projectDir);
}
}

@Override
protected String getToolHomeEnvName() {
return "MAVEN_HOME";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public class MavenScenarioInvoker extends BuildToolCommandLineInvoker<MavenScena
@Override
public void run(MavenScenarioDefinition scenario, InvocationSettings settings, Consumer<BuildInvocationResult> resultConsumer) {
List<String> commandLine = new ArrayList<>();
commandLine.add(scenario.getExecutablePath());
commandLine.add(scenario.getExecutablePath(settings.getProjectDir()));
commandLine.addAll(scenario.getTargets());
scenario.getSystemProperties().forEach((key, value) ->
commandLine.add(String.format("-D%s=%s", key, value)));
Expand Down

0 comments on commit d391e20

Please sign in to comment.