[ https://issues.apache.org/jira/browse/MNG-7914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17874573#comment-17874573 ]
ASF GitHub Bot commented on MNG-7914: ------------------------------------- gnodet commented on code in PR #1595: URL: https://github.com/apache/maven/pull/1595#discussion_r1720828085 ########## maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java: ########## @@ -1204,40 +1211,57 @@ void toolchains(CliRequest cliRequest) throws Exception { "The specified user toolchains file does not exist: " + userToolchainsFile); } } else { - userToolchainsFile = DEFAULT_USER_TOOLCHAINS_FILE; + String userToolchainsFileStr = cliRequest.getUserProperties().getProperty(Constants.MAVEN_USER_TOOLCHAINS); + if (userToolchainsFileStr != null) { + userToolchainsFile = new File(userToolchainsFileStr); + } } - File globalToolchainsFile; + File installationToolchainsFile = null; - if (cliRequest.commandLine.hasOption(CLIManager.ALTERNATE_GLOBAL_TOOLCHAINS)) { - globalToolchainsFile = + if (cliRequest.commandLine.hasOption(CLIManager.ALTERNATE_INSTALLATION_TOOLCHAINS)) { + installationToolchainsFile = + new File(cliRequest.commandLine.getOptionValue(CLIManager.ALTERNATE_INSTALLATION_TOOLCHAINS)); + installationToolchainsFile = resolveFile(installationToolchainsFile, cliRequest.workingDirectory); + + if (!installationToolchainsFile.isFile()) { + throw new FileNotFoundException( + "The specified installation toolchains file does not exist: " + installationToolchainsFile); + } + } else if (cliRequest.commandLine.hasOption(CLIManager.ALTERNATE_GLOBAL_TOOLCHAINS)) { + installationToolchainsFile = new File(cliRequest.commandLine.getOptionValue(CLIManager.ALTERNATE_GLOBAL_TOOLCHAINS)); - globalToolchainsFile = resolveFile(globalToolchainsFile, cliRequest.workingDirectory); + installationToolchainsFile = resolveFile(installationToolchainsFile, cliRequest.workingDirectory); - if (!globalToolchainsFile.isFile()) { + if (!installationToolchainsFile.isFile()) { throw new FileNotFoundException( - "The specified global toolchains file does not exist: " + globalToolchainsFile); + "The specified installation toolchains file does not exist: " + installationToolchainsFile); } } else { - globalToolchainsFile = DEFAULT_GLOBAL_TOOLCHAINS_FILE; + String installationToolchainsFileStr = + cliRequest.getUserProperties().getProperty(Constants.MAVEN_INSTALLATION_TOOLCHAINS); + if (installationToolchainsFileStr != null) { + installationToolchainsFile = new File(installationToolchainsFileStr); + installationToolchainsFile = resolveFile(installationToolchainsFile, cliRequest.workingDirectory); + } Review Comment: Then it should be `${session.rootDirectory}` > Provide a single entry point for configuration > ---------------------------------------------- > > Key: MNG-7914 > URL: https://issues.apache.org/jira/browse/MNG-7914 > Project: Maven > Issue Type: New Feature > Reporter: Guillaume Nodet > Priority: Major > Fix For: 4.0.x-candidate > > > Looking at MNG-7772, this should not require any code change, but it's all > about configuration. > I propose to load / interpolate the following files: > * {{${maven.home}/conf/maven.user.properties}} > * {{${maven.home}/conf/maven.system.properties}} > Those files would be used to load additional user properties and system > properties for Maven. In addition to the simple interpolation mechanism, we > should provide two enhancements using special keys {{{}$\{includes{}}}} and > {{{}$\{optionals{}}}} which would be used to load additional referenced > configuration files such as: > {{ ${optionals} = ${user.home}/.m2/maven.user.properties, > ${session.rootDirectory}/.mvn/maven.user.properties}} > Being loaded early when Maven is loaded, those files could reference > directories to load extensions from: > {{{}maven.core.extensions.directories = > ${session.rootDirectory}/.mvn/extensions.xml,{}}}{{{}${user.home}/.m2/extensions.xml,${maven.home}/extensions.xml{}}} > > In various places, the maven code could be simplified and offer more > configuration points at the same time. -- This message was sent by Atlassian Jira (v8.20.10#820010)