You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2022/10/03 19:05:24 UTC
[maven] branch MNG-7556 created (now 2254d18e7)
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a change to branch MNG-7556
in repository https://gitbox.apache.org/repos/asf/maven.git
at 2254d18e7 [MNG-7556] Clean up notion between user properties and system properties
This branch includes the following new commits:
new 2254d18e7 [MNG-7556] Clean up notion between user properties and system properties
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[maven] 01/01: [MNG-7556] Clean up notion between user properties and system properties
Posted by mi...@apache.org.
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 2254d18e7091a78a3dd60f183797539f06ee1c6f
Author: Michael Osipov <mi...@apache.org>
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 | 10 +++---
.../plugin/PluginParameterExpressionEvaluator.java | 13 ++++----
.../PluginParameterExpressionEvaluatorV4.java | 11 ++++---
.../project/artifact/MavenMetadataSource.java | 1 +
.../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 | 1 +
19 files changed, 73 insertions(+), 57 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 7bd835d09..993781548 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 6a5757bb8..c828091d4 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 d8e187646..fda9c3e20 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,9 +150,15 @@ public class DefaultRepositorySystemSessionFactory
configProps.put( ConfigurationProperties.USER_AGENT, getUserAgent() );
configProps.put( ConfigurationProperties.INTERACTIVE, request.isInteractiveMode() );
configProps.put( "maven.startTime", request.getStartTime() );
+ // TODO Why is this duplication necessary?
configProps.putAll( request.getSystemProperties() );
configProps.putAll( request.getUserProperties() );
+ // TODO This duplicates org.apache.maven.repository.internal.MavenRepositorySystemUtils.newSession()
+ session.setUserProperties( request.getUserProperties() );
+ session.setSystemProperties( request.getSystemProperties() );
+ session.setConfigProperties( configProps );
+
session.setOffline( request.isOffline() );
session.setChecksumPolicy( request.getGlobalChecksumPolicy() );
session.setUpdatePolicy( request.isNoSnapshotUpdates()
@@ -292,10 +298,6 @@ public class DefaultRepositorySystemSessionFactory
session.setRepositoryListener( eventSpyDispatcher.chainListener( new LoggingRepositoryListener( logger ) ) );
- session.setUserProperties( request.getUserProperties() );
- session.setSystemProperties( request.getSystemProperties() );
- session.setConfigProperties( configProps );
-
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..3adcf4f0a 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 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.
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 e4756e221..391ed5124 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 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.
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 7f7b658c2..9aabd816a 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
@@ -569,6 +569,7 @@ public class MavenMetadataSource
configuration.setValidationLevel( ModelBuildingRequest.VALIDATION_LEVEL_MINIMAL );
configuration.setProcessPlugins( false );
configuration.setRepositoryMerging( ProjectBuildingRequest.RepositoryMerging.REQUEST_DOMINANT );
+ // TODO How to access here Maven's copy of system properties and user properties?
configuration.setSystemProperties( getSystemProperties() );
configuration.setUserProperties( new Properties() );
configuration.setRepositorySession( legacySupport.getRepositorySession() );
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 10cca57da..5809a99a3 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
@@ -478,7 +478,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 );
}
@@ -491,7 +491,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 );
@@ -1746,7 +1746,7 @@ public class MavenCli
}
// ----------------------------------------------------------------------
- // System properties handling
+ // Properties handling
// ----------------------------------------------------------------------
static void populateProperties( CommandLine commandLine, Properties systemProperties, Properties userProperties )
@@ -1760,7 +1760,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 3e21fc72e..0c2e01872 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 ) );
@@ -1345,7 +1345,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.
@@ -1476,7 +1476,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 5156b0f7e..8bff809bc 100644
--- a/maven-plugin-api/src/main/mdo/plugin.mdo
+++ b/maven-plugin-api/src/main/mdo/plugin.mdo
@@ -441,7 +441,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..c80167a81 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
@@ -114,6 +114,7 @@ public final class MavenRepositorySystemUtils
systemProperties.putAll( sysProp );
}
+ // TODO This duplicates org.apache.maven.internal.aether.DefaultRepositorySystemSessionFactory.newRepositorySession(MavenExecutionRequest)
session.setSystemProperties( systemProperties );
session.setConfigProperties( systemProperties );