[ https://issues.apache.org/jira/browse/MNG-7914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17864754#comment-17864754 ]
ASF GitHub Bot commented on MNG-7914: ------------------------------------- gnodet commented on code in PR #1595: URL: https://github.com/apache/maven/pull/1595#discussion_r1672705329 ########## apache-maven/src/assembly/maven/conf/maven.properties: ########## @@ -0,0 +1,40 @@ +# +# Maven user properties +# + +maven.installation.conf = ${maven.home}/conf +maven.user.conf = ${user.home}/.m2 +maven.project.conf = ${session.rootDirectory}/.mvn + +# Comma-separated list of files to include. +# Each item may be enclosed in quotes to gracefully include spaces. Items are trimmed before being loaded. +# If the first character of an item is a question mark, the load will silently fail if the file does not exist. +${includes} = "?${maven.user.conf}/maven.properties", \ Review Comment: I'm not sure quotes are mandatory, but they certainly avoid any problem with spaces inside path. About the location of the '?', I fear that putting it at end will be less prominent. It's also the same syntax than for optional profiles, see https://maven.apache.org/guides/introduction/introduction-to-profiles.html#explicit-profile-activation > 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)