in daemon-m40/src/main/java/org/apache/maven/cli/DaemonMavenCli.java [999:1065]
void toolchains(CliRequest cliRequest) throws Exception {
File userToolchainsFile;
if (cliRequest.commandLine.hasOption(CLIManager.ALTERNATE_USER_TOOLCHAINS)) {
userToolchainsFile = new File(cliRequest.commandLine.getOptionValue(CLIManager.ALTERNATE_USER_TOOLCHAINS));
userToolchainsFile = resolveFile(userToolchainsFile, cliRequest.workingDirectory);
if (!userToolchainsFile.isFile()) {
throw new FileNotFoundException(
"The specified user toolchains file does not exist: " + userToolchainsFile);
}
} else {
userToolchainsFile = DEFAULT_USER_TOOLCHAINS_FILE;
}
File globalToolchainsFile;
if (cliRequest.commandLine.hasOption(CLIManager.ALTERNATE_GLOBAL_TOOLCHAINS)) {
globalToolchainsFile =
new File(cliRequest.commandLine.getOptionValue(CLIManager.ALTERNATE_GLOBAL_TOOLCHAINS));
globalToolchainsFile = resolveFile(globalToolchainsFile, cliRequest.workingDirectory);
if (!globalToolchainsFile.isFile()) {
throw new FileNotFoundException(
"The specified global toolchains file does not exist: " + globalToolchainsFile);
}
} else {
globalToolchainsFile = DEFAULT_GLOBAL_TOOLCHAINS_FILE;
}
cliRequest.request.setGlobalToolchainsFile(globalToolchainsFile);
cliRequest.request.setUserToolchainsFile(userToolchainsFile);
DefaultToolchainsBuildingRequest toolchainsRequest = new DefaultToolchainsBuildingRequest();
if (globalToolchainsFile.isFile()) {
toolchainsRequest.setGlobalToolchainsSource(new FileSource(globalToolchainsFile));
}
if (userToolchainsFile.isFile()) {
toolchainsRequest.setUserToolchainsSource(new FileSource(userToolchainsFile));
}
eventSpyDispatcher.onEvent(toolchainsRequest);
slf4jLogger.debug(
"Reading global toolchains from {}",
getLocation(toolchainsRequest.getGlobalToolchainsSource(), globalToolchainsFile));
slf4jLogger.debug(
"Reading user toolchains from {}",
getLocation(toolchainsRequest.getUserToolchainsSource(), userToolchainsFile));
ToolchainsBuildingResult toolchainsResult = toolchainsBuilder.build(toolchainsRequest);
eventSpyDispatcher.onEvent(toolchainsResult);
executionRequestPopulator.populateFromToolchains(cliRequest.request, toolchainsResult.getEffectiveToolchains());
if (!toolchainsResult.getProblems().isEmpty() && slf4jLogger.isWarnEnabled()) {
slf4jLogger.warn("");
slf4jLogger.warn("Some problems were encountered while building the effective toolchains");
for (Problem problem : toolchainsResult.getProblems()) {
slf4jLogger.warn("{} @ {}", problem.getMessage(), problem.getLocation());
}
slf4jLogger.warn("");
}
}