[
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)