This is an automated email from the ASF dual-hosted git repository.

michaelo pushed a commit to branch MNG-7556
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 0a8d246046bc1e01e65bebd0dda9f1749a3900d2
Author: Michael Osipov <[email protected]>
AuthorDate: Mon Oct 3 21:00:50 2022 +0200

    [MNG-7556] Clean up notion between user properties and system properties
---
 apache-maven/src/assembly/maven/conf/settings.xml  |  9 +++---
 api/maven-api-model/src/main/mdo/maven.mdo         |  4 +--
 api/maven-api-settings/src/main/mdo/settings.mdo   |  2 +-
 maven-compat/src/main/mdo/profiles.mdo             |  2 +-
 .../java/org/apache/maven/eventspy/EventSpy.java   |  2 +-
 .../DefaultRepositorySystemSessionFactory.java     |  9 +++---
 .../plugin/PluginParameterExpressionEvaluator.java | 13 ++++----
 .../PluginParameterExpressionEvaluatorV4.java      | 11 ++++---
 .../project/artifact/MavenMetadataSource.java      | 13 ++++++--
 .../apt/getting-to-container-configured-mojos.apt  |  2 +-
 .../main/java/org/apache/maven/cli/CLIManager.java | 10 ++++--
 .../main/java/org/apache/maven/cli/MavenCli.java   |  8 ++---
 .../java/org/apache/maven/cli/MavenCliTest.java    |  6 ++--
 .../maven/model/building/DefaultModelBuilder.java  | 36 +++++++++++-----------
 .../DefaultModelVersionProcessor.java              |  1 +
 .../profile/activation/FileProfileActivator.java   |  2 +-
 maven-model-builder/src/site/apt/index.apt         |  8 +++--
 maven-plugin-api/src/main/mdo/plugin.mdo           |  2 +-
 .../internal/MavenRepositorySystemUtils.java       | 15 ---------
 19 files changed, 81 insertions(+), 74 deletions(-)

diff --git a/apache-maven/src/assembly/maven/conf/settings.xml 
b/apache-maven/src/assembly/maven/conf/settings.xml
index 2f18af34c..770656bb6 100644
--- a/apache-maven/src/assembly/maven/conf/settings.xml
+++ b/apache-maven/src/assembly/maven/conf/settings.xml
@@ -82,6 +82,7 @@ under the License.
     -->
   </pluginGroups>
 
+  <!-- TODO Since when can proxies be selected as depicted? -->
   <!-- proxies
    | This is a list of proxies which can be used on this machine to connect to 
the network.
    | Unless otherwise specified (by system property or command-line switch), 
the first proxy
@@ -176,7 +177,7 @@ under the License.
    |
    | As noted above, profiles can be activated in a variety of ways. One way - 
the activeProfiles
    | section of this document (settings.xml) - will be discussed later. 
Another way essentially
-   | relies on the detection of a system property, either matching a 
particular value for the property,
+   | relies on the detection of a property, either matching a particular value 
for the property,
    | or merely testing its existence. Profiles can also be activated by JDK 
version prefix, where a
    | value of '1.4' might activate a profile when the build is executed on a 
JDK version of '1.4.2_07'.
    | Finally, the list of active profiles can be specified directly from the 
command line.
@@ -218,9 +219,9 @@ under the License.
     -->
 
     <!--
-     | Here is another profile, activated by the system property 'target-env' 
with a value of 'dev',
-     | which provides a specific path to the Tomcat instance. To use this, 
your plugin configuration
-     | might hypothetically look like:
+     | Here is another profile, activated by the property 'target-env' with a 
value of 'dev', which
+     | provides a specific path to the Tomcat instance. To use this, your 
plugin configuration might
+     | hypothetically look like:
      |
      | ...
      | <plugin>
diff --git a/api/maven-api-model/src/main/mdo/maven.mdo 
b/api/maven-api-model/src/main/mdo/maven.mdo
index 933c89f22..c461b2ae9 100644
--- a/api/maven-api-model/src/main/mdo/maven.mdo
+++ b/api/maven-api-model/src/main/mdo/maven.mdo
@@ -2672,7 +2672,7 @@
         <field>
           <name>property</name>
           <version>4.0.0+</version>
-          <description>Specifies that this profile will be activated when this 
system property is
+          <description>Specifies that this profile will be activated when this 
property is
             specified.</description>
           <association>
             <type>ActivationProperty</type>
@@ -2774,7 +2774,7 @@
         activated. On the other hand, {@code exists} will test for the 
existence of the file and if it is
         there, the profile will be activated.<br>
         Variable interpolation for these file specifications is limited to 
{@code ${basedir}},
-        System properties and request properties.]]></description>
+        system properties and user properties.]]></description>
       <fields>
         <field>
           <name>missing</name>
diff --git a/api/maven-api-settings/src/main/mdo/settings.mdo 
b/api/maven-api-settings/src/main/mdo/settings.mdo
index a70d8886d..93fa6034a 100644
--- a/api/maven-api-settings/src/main/mdo/settings.mdo
+++ b/api/maven-api-settings/src/main/mdo/settings.mdo
@@ -789,7 +789,7 @@
           <version>1.0.0+</version>
           <description>
             <![CDATA[
-            Specifies that this profile will be activated when this System 
property is specified.
+            Specifies that this profile will be activated when this property 
is specified.
             ]]>
           </description>
           <association>
diff --git a/maven-compat/src/main/mdo/profiles.mdo 
b/maven-compat/src/main/mdo/profiles.mdo
index 5132490d9..e3e102991 100644
--- a/maven-compat/src/main/mdo/profiles.mdo
+++ b/maven-compat/src/main/mdo/profiles.mdo
@@ -162,7 +162,7 @@ under the License.
           <name>property</name>
           <version>1.0.0</version>
           <description><![CDATA[
-            Specifies that this profile will be activated when this System 
property is specified.
+            Specifies that this profile will be activated when this property 
is specified.
           ]]></description>
           <association>
             <type>ActivationProperty</type>
diff --git a/maven-core/src/main/java/org/apache/maven/eventspy/EventSpy.java 
b/maven-core/src/main/java/org/apache/maven/eventspy/EventSpy.java
index cd7e1cc8b..bdc2dac21 100644
--- a/maven-core/src/main/java/org/apache/maven/eventspy/EventSpy.java
+++ b/maven-core/src/main/java/org/apache/maven/eventspy/EventSpy.java
@@ -23,7 +23,7 @@ import java.util.Map;
 
 /**
  * A core extension to monitor Maven's execution. Typically, such an extension 
gets loaded into Maven by specifying the
- * system property {@code maven.ext.class.path} on the command line. As soon 
as dependency injection is set up, Maven
+ * property {@code maven.ext.class.path} on the command line. As soon as 
dependency injection is set up, Maven
  * looks up all implementers of this interface and calls their {@link 
#init(Context)} method. <em>Note:</em>
  * Implementors are strongly advised to inherit from {@link AbstractEventSpy} 
instead of directly implementing this
  * interface.
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
 
b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
index 38ba573aa..e238e3bf6 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
@@ -150,6 +150,7 @@ public class DefaultRepositorySystemSessionFactory
         configProps.put( ConfigurationProperties.USER_AGENT, getUserAgent() );
         configProps.put( ConfigurationProperties.INTERACTIVE, 
request.isInteractiveMode() );
         configProps.put( "maven.startTime", request.getStartTime() );
+        // Resolver's ConfigUtils solely rely on config properties, that is 
why we need to add both here as well.
         configProps.putAll( request.getSystemProperties() );
         configProps.putAll( request.getUserProperties() );
 
@@ -288,14 +289,14 @@ public class DefaultRepositorySystemSessionFactory
                     + MAVEN_RESOLVER_TRANSPORT_NATIVE + ", " + 
MAVEN_RESOLVER_TRANSPORT_AUTO );
         }
 
-        session.setTransferListener( request.getTransferListener() );
-
-        session.setRepositoryListener( eventSpyDispatcher.chainListener( new 
LoggingRepositoryListener( logger ) ) );
-
         session.setUserProperties( request.getUserProperties() );
         session.setSystemProperties( request.getSystemProperties() );
         session.setConfigProperties( configProps );
 
+        session.setTransferListener( request.getTransferListener() );
+
+        session.setRepositoryListener( eventSpyDispatcher.chainListener( new 
LoggingRepositoryListener( logger ) ) );
+
         mavenRepositorySystem.injectMirror( request.getRemoteRepositories(), 
request.getMirrors() );
         mavenRepositorySystem.injectProxy( session, 
request.getRemoteRepositories() );
         mavenRepositorySystem.injectAuthentication( session, 
request.getRemoteRepositories() );
diff --git 
a/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
 
b/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
index acd2ceeb7..160e2dcae 100644
--- 
a/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
+++ 
b/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
@@ -61,8 +61,9 @@ import 
org.codehaus.plexus.util.introspection.ReflectionValueExtractor;
  *                             <td>{@link 
MojoExecution#getMojoDescriptor()}.{@link MojoDescriptor#getPluginDescriptor()
  *                                 getPluginDescriptor()}</td></tr>
  * <tr><td><code>plugin.*</code></td>          <td></td>               
<td></td></tr>
- * <tr><td><code>*</code></td>                 <td></td>               
<td>system properties</td></tr>
+ * <tr><td><code>*</code></td>                 <td></td>               
<td>user properties</td></tr>
  * <tr><td><code>*</code></td>                 <td></td>               
<td>project properties</td></tr>
+ * <tr><td><code>*</code></td>                 <td></td>               
<td>system properties</td></tr>
  * </table>
  * <i>Notice:</i> <code>reports</code> was supported in Maven 2.x but was 
removed in Maven 3
  *
@@ -368,7 +369,7 @@ public class PluginParameterExpressionEvaluator
         /*
          * MNG-4312: We neither have reserved all of the above magic 
expressions nor is their set fixed/well-known (it
          * gets occasionally extended by newer Maven versions). This imposes 
the risk for existing plugins to
-         * unintentionally use such a magic expression for an ordinary system 
property. So here we check whether we
+         * unintentionally use such a magic expression for an ordinary 
property. So here we check whether we
          * ended up with a magic value that is not compatible with the type of 
the configured mojo parameter (a string
          * could still be converted by the configurator so we leave those 
alone). If so, back off to evaluating the
          * expression from properties only.
@@ -384,10 +385,10 @@ public class PluginParameterExpressionEvaluator
 
             if ( properties != null )
             {
-                // We will attempt to get nab a system property as a way to 
specify a
-                // parameter to a plugins. My particular case here is allowing 
the surefire
-                // plugin to run a single test so I want to specify that class 
on the cli
-                // as a parameter.
+                // We will attempt to get nab a property as a way to specify a 
parameter
+                // to a plugin. My particular case here is allowing the 
surefire plugin
+                // to run a single test so I want to specify that class on the 
cli as
+                // a parameter.
 
                 value = properties.getProperty( expression );
             }
diff --git 
a/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorV4.java
 
b/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorV4.java
index bd54fa086..bab7cd4ae 100644
--- 
a/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorV4.java
+++ 
b/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorV4.java
@@ -64,6 +64,7 @@ import 
org.codehaus.plexus.util.introspection.ReflectionValueExtractor;
  *                             <td>{@link 
MojoExecution#getMojoDescriptor()}.{@link MojoDescriptor#getPluginDescriptor()
  *                                 getPluginDescriptor()}</td></tr>
  * <tr><td><code>plugin.*</code></td>          <td></td>               
<td></td></tr>
+ * <tr><td><code>*</code></td>                 <td></td>               
<td>user properties</td></tr>
  * <tr><td><code>*</code></td>                 <td></td>               
<td>system properties</td></tr>
  * <tr><td><code>*</code></td>                 <td></td>               
<td>project properties</td></tr>
  * </table>
@@ -376,7 +377,7 @@ public class PluginParameterExpressionEvaluatorV4
         /*
          * MNG-4312: We neither have reserved all of the above magic 
expressions nor is their set fixed/well-known (it
          * gets occasionally extended by newer Maven versions). This imposes 
the risk for existing plugins to
-         * unintentionally use such a magic expression for an ordinary system 
property. So here we check whether we
+         * unintentionally use such a magic expression for an ordinary 
property. So here we check whether we
          * ended up with a magic value that is not compatible with the type of 
the configured mojo parameter (a string
          * could still be converted by the configurator so we leave those 
alone). If so, back off to evaluating the
          * expression from properties only.
@@ -392,10 +393,10 @@ public class PluginParameterExpressionEvaluatorV4
 
             if ( properties != null )
             {
-                // We will attempt to get nab a system property as a way to 
specify a
-                // parameter to a plugins. My particular case here is allowing 
the surefire
-                // plugin to run a single test so I want to specify that class 
on the cli
-                // as a parameter.
+                // We will attempt to get nab a property as a way to specify a 
parameter
+                // to a plugin. My particular case here is allowing the 
surefire plugin
+                // to run a single test so I want to specify that class on the 
cli as
+                // a parameter.
 
                 value = properties.getProperty( expression );
             }
diff --git 
a/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
 
b/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
index 54157f9f0..c3cec7348 100644
--- 
a/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
+++ 
b/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java
@@ -576,8 +576,17 @@ public class MavenMetadataSource
                     configuration.setValidationLevel( 
ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL );
                     configuration.setProcessPlugins( false );
                     configuration.setRepositoryMerging( 
ProjectBuildingRequest.RepositoryMerging.REQUEST_DOMINANT );
-                    configuration.setSystemProperties( getSystemProperties() );
-                    configuration.setUserProperties( new Properties() );
+                    MavenSession session = legacySupport.getSession();
+                    if ( session != null )
+                    {
+                        configuration.setSystemProperties( 
session.getSystemProperties() );
+                        configuration.setUserProperties( 
session.getUserProperties() );
+                    }
+                    else
+                    {
+                        configuration.setSystemProperties( 
getSystemProperties() );
+                        configuration.setUserProperties( new Properties() );
+                    }
                     configuration.setRepositorySession( 
legacySupport.getRepositorySession() );
 
                     project = projectBuilder.build( pomArtifact, configuration 
).getProject();
diff --git a/maven-core/src/site/apt/getting-to-container-configured-mojos.apt 
b/maven-core/src/site/apt/getting-to-container-configured-mojos.apt
index 1c4a487d7..167a56909 100644
--- a/maven-core/src/site/apt/getting-to-container-configured-mojos.apt
+++ b/maven-core/src/site/apt/getting-to-container-configured-mojos.apt
@@ -30,7 +30,7 @@ Abstract
 
   In order to really achieve this, we need mojo configurations (which are
   provided both in terms of static expressions that are just looked up, and
-  in terms of user-provided configuration from system properties or the POM).
+  in terms of user-provided configuration from properties or the POM).
   If these mojos are to be first-class components, the configuration from these
   various sources must be consolidated and injected using the container.
 
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java 
b/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java
index 51824ce45..b6005fddf 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/CLIManager.java
@@ -40,7 +40,13 @@ public class CLIManager
 
     public static final char BATCH_MODE = 'B';
 
-    public static final char SET_SYSTEM_PROPERTY = 'D';
+    public static final char SET_USER_PROPERTY = 'D';
+
+    /**
+     * @deprecated Use {@link #SET_USER_PROPERTY}
+     */
+    @Deprecated
+    public static final char SET_SYSTEM_PROPERTY = SET_USER_PROPERTY;
 
     public static final char OFFLINE = 'o';
 
@@ -123,7 +129,7 @@ public class CLIManager
         options = new Options();
         options.addOption( Option.builder( Character.toString( HELP ) 
).longOpt( "help" ).desc( "Display help information" ).build() );
         options.addOption( Option.builder( Character.toString( 
ALTERNATE_POM_FILE ) ).longOpt( "file" ).hasArg().desc( "Force the use of an 
alternate POM file (or directory with pom.xml)" ).build() );
-        options.addOption( Option.builder( Character.toString( 
SET_SYSTEM_PROPERTY ) ).numberOfArgs( 2 ).valueSeparator( '=' ).desc( "Define a 
system property" ).build() );
+        options.addOption( Option.builder( Character.toString( 
SET_USER_PROPERTY ) ).numberOfArgs( 2 ).valueSeparator( '=' ).desc( "Define a 
user property" ).build() );
         options.addOption( Option.builder( Character.toString( OFFLINE ) 
).longOpt( "offline" ).desc( "Work offline" ).build() );
         options.addOption( Option.builder( Character.toString( VERSION ) 
).longOpt( "version" ).desc( "Display version information" ).build() );
         options.addOption( Option.builder( Character.toString( QUIET ) 
).longOpt( "quiet" ).desc( "Quiet output - only show errors" ).build() );
diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java 
b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
index 6c17028be..ebfb0830b 100644
--- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
+++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
@@ -477,7 +477,7 @@ public class MavenCli
         List<Option> setPropertyOptions = new ArrayList<>();
         for ( Option opt : mavenArgs.getOptions() )
         {
-            if ( String.valueOf( CLIManager.SET_SYSTEM_PROPERTY ).equals( 
opt.getOpt() ) )
+            if ( String.valueOf( CLIManager.SET_USER_PROPERTY ).equals( 
opt.getOpt() ) )
             {
                 setPropertyOptions.add( opt );
             }
@@ -490,7 +490,7 @@ public class MavenCli
         {
             commandLineBuilder.addOption( opt );
         }
-        // finally add the CLI system properties
+        // finally add the CLI user properties
         for ( Option opt : setPropertyOptions )
         {
             commandLineBuilder.addOption( opt );
@@ -1745,7 +1745,7 @@ public class MavenCli
     }
 
     // ----------------------------------------------------------------------
-    // System properties handling
+    // Properties handling
     // ----------------------------------------------------------------------
 
     static void populateProperties( CommandLine commandLine, Properties 
systemProperties, Properties userProperties )
@@ -1759,7 +1759,7 @@ public class MavenCli
         // 
----------------------------------------------------------------------
 
         final Properties userSpecifiedProperties = 
commandLine.getOptionProperties(
-                String.valueOf( CLIManager.SET_SYSTEM_PROPERTY ) );
+                String.valueOf( CLIManager.SET_USER_PROPERTY ) );
         userSpecifiedProperties.forEach(
                 ( prop, value ) -> setCliProperty( (String) prop, (String) 
value, userProperties )
         );
diff --git 
a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java 
b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
index c4ddcb830..c4fb01a91 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
@@ -338,9 +338,9 @@ public class MavenCliTest
         String revision = System.getProperty( "revision" );
         assertEquals( "8.2.0", revision );
 
-        assertEquals( "bar ", request.getSystemProperties().getProperty( "foo" 
) );
-        assertEquals( "bar two", request.getSystemProperties().getProperty( 
"foo2" ) );
-        assertEquals( "Apache Maven", 
request.getSystemProperties().getProperty( "label" ) );
+        assertEquals( "bar ", request.getUserProperties().getProperty( "foo" ) 
);
+        assertEquals( "bar two", request.getUserProperties().getProperty( 
"foo2" ) );
+        assertEquals( "Apache Maven", request.getUserProperties().getProperty( 
"label" ) );
 
         assertEquals( "-Dpom.xml", request.getCommandLine().getOptionValue( 
CLIManager.ALTERNATE_POM_FILE ) );
     }
diff --git 
a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
 
b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
index 0b7fccc4b..6899f0304 100644
--- 
a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
+++ 
b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
@@ -173,7 +173,7 @@ public class DefaultModelBuilder
 
     /**
      * @deprecated since Maven 4
-     * @see DefaultModelBuilderFactory#setModelProcessor(ModelProcessor) 
+     * @see DefaultModelBuilderFactory#setModelProcessor(ModelProcessor)
      */
     @Deprecated
     public DefaultModelBuilder setModelProcessor( ModelProcessor 
modelProcessor )
@@ -187,7 +187,7 @@ public class DefaultModelBuilder
 
     /**
      * @deprecated since Maven 4
-     * @see DefaultModelBuilderFactory#setModelProcessor(ModelProcessor) 
+     * @see DefaultModelBuilderFactory#setModelProcessor(ModelProcessor)
      */
     @Deprecated
     public DefaultModelBuilder setModelValidator( ModelValidator 
modelValidator )
@@ -201,7 +201,7 @@ public class DefaultModelBuilder
 
     /**
      * @deprecated since Maven 4
-     * @see DefaultModelBuilderFactory#setModelNormalizer(ModelNormalizer) 
+     * @see DefaultModelBuilderFactory#setModelNormalizer(ModelNormalizer)
      */
     @Deprecated
     public DefaultModelBuilder setModelNormalizer( ModelNormalizer 
modelNormalizer )
@@ -215,7 +215,7 @@ public class DefaultModelBuilder
 
     /**
      * @deprecated since Maven 4
-     * @see DefaultModelBuilderFactory#setModelInterpolator(ModelInterpolator) 
+     * @see DefaultModelBuilderFactory#setModelInterpolator(ModelInterpolator)
      */
     @Deprecated
     public DefaultModelBuilder setModelInterpolator( ModelInterpolator 
modelInterpolator )
@@ -243,7 +243,7 @@ public class DefaultModelBuilder
 
     /**
      * @deprecated since Maven 4
-     * @see 
DefaultModelBuilderFactory#setModelUrlNormalizer(ModelUrlNormalizer) 
+     * @see 
DefaultModelBuilderFactory#setModelUrlNormalizer(ModelUrlNormalizer)
      */
     @Deprecated
     public DefaultModelBuilder setModelUrlNormalizer( ModelUrlNormalizer 
modelUrlNormalizer )
@@ -257,7 +257,7 @@ public class DefaultModelBuilder
 
     /**
      * @deprecated since Maven 4
-     * @see DefaultModelBuilderFactory#setSuperPomProvider(SuperPomProvider) 
+     * @see DefaultModelBuilderFactory#setSuperPomProvider(SuperPomProvider)
      */
     @Deprecated
     public DefaultModelBuilder setSuperPomProvider( SuperPomProvider 
superPomProvider )
@@ -271,7 +271,7 @@ public class DefaultModelBuilder
 
     /**
      * @deprecated since Maven 4
-     * @see 
DefaultModelBuilderFactory#setInheritanceAssembler(InheritanceAssembler) 
+     * @see 
DefaultModelBuilderFactory#setInheritanceAssembler(InheritanceAssembler)
      */
     @Deprecated
     public DefaultModelBuilder setInheritanceAssembler( InheritanceAssembler 
inheritanceAssembler )
@@ -299,7 +299,7 @@ public class DefaultModelBuilder
 
     /**
      * @deprecated since Maven 4
-     * @see DefaultModelBuilderFactory#setProfileInjector(ProfileInjector) 
+     * @see DefaultModelBuilderFactory#setProfileInjector(ProfileInjector)
      */
     @Deprecated
     public DefaultModelBuilder setProfileInjector( ProfileInjector 
profileInjector )
@@ -313,7 +313,7 @@ public class DefaultModelBuilder
 
     /**
      * @deprecated since Maven 4
-     * @see 
DefaultModelBuilderFactory#setPluginManagementInjector(PluginManagementInjector)
 
+     * @see 
DefaultModelBuilderFactory#setPluginManagementInjector(PluginManagementInjector)
      */
     @Deprecated
     public DefaultModelBuilder setPluginManagementInjector( 
PluginManagementInjector pluginManagementInjector )
@@ -327,7 +327,7 @@ public class DefaultModelBuilder
 
     /**
      * @deprecated since Maven 4
-     * @see 
DefaultModelBuilderFactory#setDependencyManagementInjector(DependencyManagementInjector)
  
+     * @see 
DefaultModelBuilderFactory#setDependencyManagementInjector(DependencyManagementInjector)
      */
     @Deprecated
     public DefaultModelBuilder setDependencyManagementInjector(
@@ -342,7 +342,7 @@ public class DefaultModelBuilder
 
     /**
      * @deprecated since Maven 4
-     * @see 
DefaultModelBuilderFactory#setDependencyManagementImporter(DependencyManagementImporter)
 
+     * @see 
DefaultModelBuilderFactory#setDependencyManagementImporter(DependencyManagementImporter)
      */
     @Deprecated
     public DefaultModelBuilder setDependencyManagementImporter(
@@ -357,7 +357,7 @@ public class DefaultModelBuilder
 
     /**
      * @deprecated since Maven 4
-     * @see 
DefaultModelBuilderFactory#setLifecycleBindingsInjector(LifecycleBindingsInjector)
 
+     * @see 
DefaultModelBuilderFactory#setLifecycleBindingsInjector(LifecycleBindingsInjector)
      */
     @Deprecated
     public DefaultModelBuilder setLifecycleBindingsInjector( 
LifecycleBindingsInjector lifecycleBindingsInjector )
@@ -371,7 +371,7 @@ public class DefaultModelBuilder
 
     /**
      * @deprecated since Maven 4
-     * @see 
DefaultModelBuilderFactory#setPluginConfigurationExpander(PluginConfigurationExpander)
 
+     * @see 
DefaultModelBuilderFactory#setPluginConfigurationExpander(PluginConfigurationExpander)
      */
     @Deprecated
     public DefaultModelBuilder setPluginConfigurationExpander( 
PluginConfigurationExpander pluginConfigurationExpander )
@@ -385,7 +385,7 @@ public class DefaultModelBuilder
 
     /**
      * @deprecated since Maven 4
-     * @see 
DefaultModelBuilderFactory#setReportConfigurationExpander(ReportConfigurationExpander)
  
+     * @see 
DefaultModelBuilderFactory#setReportConfigurationExpander(ReportConfigurationExpander)
      */
     @Deprecated
     public DefaultModelBuilder setReportConfigurationExpander( 
ReportConfigurationExpander reportConfigurationExpander )
@@ -399,7 +399,7 @@ public class DefaultModelBuilder
 
     /**
      * @deprecated since Maven 4
-     * @see 
DefaultModelBuilderFactory#setReportingConverter(ReportingConverter) 
+     * @see 
DefaultModelBuilderFactory#setReportingConverter(ReportingConverter)
      */
     @Deprecated
     public DefaultModelBuilder setReportingConverter( ReportingConverter 
reportingConverter )
@@ -973,7 +973,7 @@ public class DefaultModelBuilder
 
             try
             {
-                // must implement TransformContext, but should use request to 
access system properties/modelcache
+                // must implement TransformContext, but should use request to 
access properties/model cache
                 org.apache.maven.api.model.Model transformedFileModel = 
modelProcessor.read( pomFile,
                         Collections.singletonMap( 
ModelReader.TRANSFORMER_CONTEXT, context ) );
 
@@ -1352,7 +1352,7 @@ public class DefaultModelBuilder
 
                 // Validate versions aren't inherited when using parent ranges 
the same way as when read externally.
                 String rawChildModelVersion = childModel.getVersion();
-                
+
                 if ( rawChildModelVersion == null )
                 {
                     // Message below is checked for in the MNG-2199 core IT.
@@ -1483,7 +1483,7 @@ public class DefaultModelBuilder
         if ( !parent.getVersion().equals( version ) )
         {
             String rawChildModelVersion = childModel.getVersion();
-            
+
             if ( rawChildModelVersion == null )
             {
                 // Message below is checked for in the MNG-2199 core IT.
diff --git 
a/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/DefaultModelVersionProcessor.java
 
b/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/DefaultModelVersionProcessor.java
index 27e3469a3..45b2c6c76 100644
--- 
a/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/DefaultModelVersionProcessor.java
+++ 
b/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/DefaultModelVersionProcessor.java
@@ -49,6 +49,7 @@ public class DefaultModelVersionProcessor
             || SHA1_PROPERTY.equals( property );
     }
 
+    // TODO This class MUST test for user properties and THEN for system 
properties
     @Override
     public void overwriteModelProperties( Properties modelProperties, 
ModelBuildingRequest request )
     {
diff --git 
a/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/FileProfileActivator.java
 
b/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/FileProfileActivator.java
index e45b8839a..0b4992923 100644
--- 
a/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/FileProfileActivator.java
+++ 
b/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/FileProfileActivator.java
@@ -41,7 +41,7 @@ import org.codehaus.plexus.util.StringUtils;
  * Determines profile activation based on the existence/absence of some file.
  * File name interpolation support is limited to <code>${basedir}</code> 
(since Maven 3,
  * see <a href="https://issues.apache.org/jira/browse/MNG-2363";>MNG-2363</a>),
- * System properties and request properties.
+ * system properties and user properties.
  * <code>${project.basedir}</code> is intentionally not supported as this form 
would suggest that other
  * <code>${project.*}</code> expressions can be used, which is however beyond 
the design.
  *
diff --git a/maven-model-builder/src/site/apt/index.apt 
b/maven-model-builder/src/site/apt/index.apt
index 5eb2374fa..b18f0febd 100644
--- a/maven-model-builder/src/site/apt/index.apt
+++ b/maven-model-builder/src/site/apt/index.apt
@@ -41,7 +41,7 @@ Maven Model Builder
 
    ** profile activation: see 
{{{./apidocs/org/apache/maven/model/profile/activation/package-summary.html}available
 activators}}.
    Notice that model interpolation hasn't happened yet, then interpolation for 
file-based activation is limited to
-   <<<$\{basedir}>>> (since Maven 3), System properties and request properties
+   <<<$\{basedir}>>> (since Maven 3), system properties and user properties
 
    ** file model validation: <<<ModelValidator>>> 
({{{./apidocs/org/apache/maven/model/validation/ModelValidator.html}javadoc}}),
    with its <<<DefaultModelValidator>>> implementation
@@ -162,7 +162,7 @@ Maven Model Builder
 
   Notice that model interpolation happens <after> profile activation, then 
profile activation doesn't benefit from every values:
   interpolation for file-based activation is limited to <<<$\{basedir}>>> 
(which was introduced in Maven 3 and is not deprecated
-  in this context), System properties and request properties.
+  in this context), system properties and user properties.
 
   Values are evaluated in sequence from different syntaxes:
 
@@ -198,9 +198,11 @@ Maven Model Builder
 *----+------+------+
 | <<<maven.repo.local>>> | The repository on the local machine Maven shall use 
to store installed and downloaded artifacts (POMs, JARs, etc). | 
<<<$\{user.home\}/.m2/repository>>> |
 *----+------+------+
-| <<<*>>> | Java system properties (see 
{{{http://download.oracle.com/javase/6/docs/api/java/lang/System.html#getProperties()}JDK
 reference}}) | <<<$\{user.home\}>>>\
+| <<<*>>> | Java system properties (see 
{{{https://docs.oracle.com/javase/8/docs/api/java/lang/System.html#getProperties()}JDK
 reference}}) | <<<$\{user.home\}>>>\
  | | <<<$\{java.home\}>>> |
 *----+------+------+
+| <<<*>>> | User properties | <<<$\{foo\}>>> |
+*----+------+------+
 | <<<env.*>>>\
 <<<*>>> | environment variables | <<<$\{env.PATH\}>>> |
 *----+------+------+
diff --git a/maven-plugin-api/src/main/mdo/plugin.mdo 
b/maven-plugin-api/src/main/mdo/plugin.mdo
index 7b4109b82..1c70f5c71 100644
--- a/maven-plugin-api/src/main/mdo/plugin.mdo
+++ b/maven-plugin-api/src/main/mdo/plugin.mdo
@@ -455,7 +455,7 @@ under the License.
           <required>true</required>
           <version>1.0.0+</version>
           <type>String</type>
-          <description>Parameter expression, to let user override default 
value with a system property, pom property or settings property.</description>
+          <description>Parameter expression, to let user override default 
value with a user property, system property or project property.</description>
         </field>
         <field xml.attribute="true" xml.tagName="implementation">
           <name>implementation</name>
diff --git 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java
 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java
index fd420deda..6f1496513 100644
--- 
a/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java
+++ 
b/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemUtils.java
@@ -19,8 +19,6 @@ package org.apache.maven.repository.internal;
  * under the License.
  */
 
-import java.util.Properties;
-
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.artifact.DefaultArtifactType;
 import org.eclipse.aether.collection.DependencyGraphTransformer;
@@ -104,19 +102,6 @@ public final class MavenRepositorySystemUtils
 
         session.setArtifactDescriptorPolicy( new 
SimpleArtifactDescriptorPolicy( true, true ) );
 
-        final Properties systemProperties = new Properties();
-
-        // MNG-5670 guard against ConcurrentModificationException
-        // MNG-6053 guard against key without value
-        Properties sysProp = System.getProperties();
-        synchronized ( sysProp )
-        {
-            systemProperties.putAll( sysProp );
-        }
-
-        session.setSystemProperties( systemProperties );
-        session.setConfigProperties( systemProperties );
-
         return session;
     }
 


Reply via email to