michael-o commented on code in PR #762:
URL: https://github.com/apache/maven-surefire/pull/762#discussion_r1697297878
##########
maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java:
##########
@@ -319,25 +320,44 @@ public abstract class AbstractSurefireMojo extends
AbstractMojo implements Suref
*/
@Deprecated
@Parameter
- private Properties systemProperties;
+ Properties systemProperties;
/**
* List of System properties to pass to a provider.
* The effective system properties given to a provider are contributed
from several sources:
* <ol>
+ * <li>properties set via {@link #argLine} with {@code -D} (only for
forked executions)</li>
* <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>
+ * <li>User properties from {@link MavenSession#getUserProperties()},
usually set via CLI options given with {@code -D} on the current Maven process
(only used as source if {@link #promoteUserPropertiesToSystemProperties} is
{@code true})</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}.
+ * {@link #systemProperties}, {@link #getSystemPropertiesFile()} or {@link
#systemPropertyVariables}.
+ * <p>
+ * Certain properties may only be overwritten via {@link #argLine}
(applicable only for forked executions) because their values are cached and
only evaluated at the start of the JRE.
+ * Those include:
+ * <ul>
+ * <li>{@code java.library.path}</li>
+ * <li>{@code file.encoding}</li>
+ * <li>{@code jdk.map.althashing.threshold}</li>
+ * <li>{@code line.separator}</li>
+ * </ul>
*
* @since 2.5
* @see #systemProperties
*/
@Parameter
- private Map<String, String> systemPropertyVariables;
+ Map<String, String> systemPropertyVariables;
+
+ /**
+ * If set to {@code true} will also pass all user properties exposed via
{@link MavenSession#getUserProperties()} as system properties to a provider.
+ * Those always take precedence over same named system properties set via
any other means.
Review Comment:
Please add a new line between the text and `@since` like th rest does.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]