[ https://issues.apache.org/jira/browse/MNG-7914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17863173#comment-17863173 ]
ASF GitHub Bot commented on MNG-7914: ------------------------------------- gnodet commented on PR #1595: URL: https://github.com/apache/maven/pull/1595#issuecomment-2210494765 > > > There is one conceptual problem I have here: How does this relate to `maven.config` doesn't it cause confusion? Add even more complexity? > > > > > > It's imho, a much better way to provide configuration properties. `maven.config` can be used to provide _command line arguments_, but it has a few problems: it does not have the usual multi-level that we have for settings or toolchains (global, user, project). In addition, the syntax is not user friendly, does not support inclusions of other files and does not support substitutions. Imho, we should keep `maven.config` for actual CLI arguments and users should use `maven.properties` to define properties such as https://maven.apache.org/resolver/configuration.html (we should have a similar one for maven). > > I see, then we also should educate users when to use what. Agreed. I suppose enhancing https://maven.apache.org/configure.html would be a first step. > 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)