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

kwin pushed a commit to branch feature/improve-system-properties-javadoc
in repository https://gitbox.apache.org/repos/asf/maven-surefire.git

commit 7fc9e58fe20d66dc5a34d05b08a2cc6a06b5e9b1
Author: Konrad Windszus <k...@apache.org>
AuthorDate: Tue Jul 9 11:22:04 2024 +0200

    javadoc: improve description of systemPropertyVariables
    
    clarify order of precedence
---
 .../apache/maven/plugin/surefire/AbstractSurefireMojo.java  | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
index 4c98873fe..47d691a13 100644
--- 
a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
+++ 
b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
@@ -314,7 +314,8 @@ public abstract class AbstractSurefireMojo extends 
AbstractMojo implements Suref
     /**
      * List of System properties to pass to a provider.
      *
-     * @deprecated Use systemPropertyVariables instead.
+     * @deprecated Use {@link #systemPropertyVariables} instead.
+     * @see #systemPropertyVariables {@code systemPropertyVariables} for how 
the effective provider properties are calculated
      */
     @Deprecated
     @Parameter
@@ -322,8 +323,18 @@ public abstract class AbstractSurefireMojo extends 
AbstractMojo implements Suref
 
     /**
      * List of System properties to pass to a provider.
+     * The effective system properties given to a provider are contributed 
from several sources:
+     * <ol>
+     * <li>{@link #systemProperties}</li>
+     * <li>{@link AbstractSurefireMojo#getSystemPropertiesFile()} (set via 
parameter {@code systemPropertiesFile} on some goals)</li>
+     * <li>{@link #systemPropertyVariables}</li>
+     * <li>User properties from {@link MavenSession#getUserProperties()}, 
usually set via CLI options given with {@code -D}</li>
+     * </ol>
+     * Later sources may overwrite same named properties from earlier sources, 
that means for example that one cannot overwrite user properties with either
+     * {@link #systemProperties}, {@link 
AbstractSurefireMojo#getSystemPropertiesFile()} or {@link 
#systemPropertyVariables}.
      *
      * @since 2.5
+     * @see #systemProperties
      */
     @Parameter
     private Map<String, String> systemPropertyVariables;

Reply via email to