Skip to content

Commit 54db3fa

Browse files
vsevelphillip-kruger
authored andcommitted
Resolve Maven Command using option property agent-mcp.process.mvn-cmd
1 parent 91c7986 commit 54db3fa

2 files changed

Lines changed: 14 additions & 11 deletions

File tree

src/main/java/io/quarkus/agent/mcp/ProcessUtils.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,11 @@
88
import java.io.InputStreamReader;
99
import java.nio.charset.StandardCharsets;
1010
import java.nio.file.Path;
11+
import java.util.Optional;
1112
import java.util.concurrent.CompletableFuture;
1213
import java.util.concurrent.TimeUnit;
14+
15+
import org.eclipse.microprofile.config.ConfigProvider;
1316
import org.jboss.logging.Logger;
1417

1518
final class ProcessUtils {
@@ -24,12 +27,15 @@ static boolean isCommandAvailable(String command) {
2427
}
2528

2629
static String resolveMavenCommand(File projectDir) {
27-
boolean win = OS.WINDOWS.isCurrent();
28-
File wrapper = win ? new File(projectDir, "mvnw.cmd") : new File(projectDir, "mvnw");
29-
if (wrapper.exists()) {
30-
return win ? "mvnw.cmd" : "./mvnw";
31-
}
32-
return win ? "mvn.cmd" : "mvn";
30+
Optional<String> mvnCmd = ConfigProvider.getConfig().getOptionalValue("agent-mcp.process.mvn-cmd", String.class);
31+
return mvnCmd.orElseGet(() -> {
32+
boolean win = OS.WINDOWS.isCurrent();
33+
File wrapper = win ? new File(projectDir, "mvnw.cmd") : new File(projectDir, "mvnw");
34+
if (wrapper.exists()) {
35+
return win ? "mvnw.cmd" : "./mvnw";
36+
}
37+
return win ? "mvn.cmd" : "mvn";
38+
});
3339
}
3440

3541
static String resolveGradleCommand(File projectDir) {

src/main/java/io/quarkus/agent/mcp/QuarkusProcessManager.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,6 @@ public class QuarkusProcessManager {
3232
@Inject
3333
ManagedExecutor executor;
3434

35-
@ConfigProperty(name = "agent-mcp.process.mvn-cmd")
36-
Optional<String> mvnCmd;
37-
3835
@ConfigProperty(name = "agent-mcp.process.gradle-cmd")
3936
Optional<String> gradleCmd;
4037

@@ -192,8 +189,8 @@ private ProcessBuilder createProcessBuilder(String projectDir, String buildTool,
192189
}
193190

194191
private ProcessBuilder createMavenProcessBuilder(File projectDir, String mavenProfiles) {
195-
String cmd = mvnCmd.orElseGet(() -> ProcessUtils.resolveMavenCommand(projectDir));
196-
var command = new ArrayList<>(List.of(cmd, "quarkus:dev",
192+
String mvnCmd = ProcessUtils.resolveMavenCommand(projectDir);
193+
var command = new ArrayList<>(List.of(mvnCmd, "quarkus:dev",
197194
"-Dquarkus.console.basic=true", "-Dquarkus.dev-mcp.enabled=true"));
198195
if (mavenProfiles != null && !mavenProfiles.isBlank()) {
199196
command.add("-P" + mavenProfiles.trim());

0 commit comments

Comments
 (0)