diff --git a/maven-failsafe-plugin/pom.xml b/maven-failsafe-plugin/pom.xml index 3a464997d5..e83d8d9cf8 100644 --- a/maven-failsafe-plugin/pom.xml +++ b/maven-failsafe-plugin/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT org.apache.maven.plugins diff --git a/maven-surefire-common/pom.xml b/maven-surefire-common/pom.xml index de13d98314..bba8dfddc6 100644 --- a/maven-surefire-common/pom.xml +++ b/maven-surefire-common/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT maven-surefire-common 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 47d691a130..094843123b 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 @@ -24,6 +24,7 @@ import java.io.IOException; import java.math.BigDecimal; import java.nio.file.Files; +import java.text.ChoiceFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -319,25 +320,45 @@ 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: *
    + *
  1. properties set via {@link #argLine} with {@code -D} (only for forked executions)
  2. *
  3. {@link #systemProperties}
  4. *
  5. {@link AbstractSurefireMojo#getSystemPropertiesFile()} (set via parameter {@code systemPropertiesFile} on some goals)
  6. *
  7. {@link #systemPropertyVariables}
  8. - *
  9. User properties from {@link MavenSession#getUserProperties()}, usually set via CLI options given with {@code -D}
  10. + *
  11. 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})
  12. *
* 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}. + *

+ * 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: + *

* * @since 2.5 * @see #systemProperties */ @Parameter - private Map systemPropertyVariables; + Map 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. + * + * @since 3.4.0 + * @see #systemPropertyVariables + */ + @Parameter(defaultValue = "true") + boolean promoteUserPropertiesToSystemProperties; /** * List of properties for configuring the testing provider. This is the preferred method of @@ -425,7 +446,7 @@ public abstract class AbstractSurefireMojo extends AbstractMojo implements Suref private String jvm; /** - * Arbitrary JVM options to set on the command line. + * Arbitrary JVM options to set on the command line. Only effective for forked executions. *
*
* Since the Version 2.17 using an alternate syntax for {@code argLine}, @{...} allows late replacement @@ -438,6 +459,7 @@ public abstract class AbstractSurefireMojo extends AbstractMojo implements Suref * * http://maven.apache.org/surefire/maven-failsafe-plugin/faq.html * + * @see #forkCount * @since 2.1 */ @Parameter(property = "argLine") @@ -543,7 +565,7 @@ public abstract class AbstractSurefireMojo extends AbstractMojo implements Suref * @since 2.14 */ @Parameter(property = "forkCount", defaultValue = "1") - private String forkCount; + String forkCount; /** * Indicates if forked VMs can be reused. If set to "false", a new VM is forked for each test class to be executed. @@ -1139,10 +1161,10 @@ protected List createProviders(TestClassPath testClasspath) throws new JUnit3ProviderInfo()); } - private SurefireProperties setupProperties() { - SurefireProperties sysProps = null; + SurefireProperties setupProperties() { + SurefireProperties sysPropsFromFile = null; try { - sysProps = SurefireProperties.loadProperties(getSystemPropertiesFile()); + sysPropsFromFile = SurefireProperties.loadProperties(getSystemPropertiesFile()); } catch (IOException e) { String msg = "The file '" + getSystemPropertiesFile().getAbsolutePath() + "' can't be read."; if (getConsoleLogger().isDebugEnabled()) { @@ -1152,8 +1174,11 @@ private SurefireProperties setupProperties() { } } - SurefireProperties result = SurefireProperties.calculateEffectiveProperties( - getSystemProperties(), getSystemPropertyVariables(), getUserProperties(), sysProps); + SurefireProperties result = calculateEffectiveProperties( + getSystemProperties(), + getSystemPropertyVariables(), + promoteUserPropertiesToSystemProperties ? getUserProperties() : new Properties(), + sysPropsFromFile); result.setProperty("basedir", getBasedir().getAbsolutePath()); result.setProperty("localRepository", getLocalRepositoryPath()); @@ -1184,6 +1209,38 @@ private SurefireProperties setupProperties() { return result; } + private SurefireProperties calculateEffectiveProperties( + Properties systemProperties, + Map systemPropertyVariables, + Properties userProperties, + SurefireProperties sysPropsFromFile) { + SurefireProperties result = new SurefireProperties(); + result.copyPropertiesFrom(systemProperties); + + Collection overwrittenProperties = result.copyPropertiesFrom(sysPropsFromFile); + if (!overwrittenProperties.isEmpty() && getConsoleLogger().isDebugEnabled()) { + getConsoleLogger().debug(getOverwrittenPropertiesLogMessage(overwrittenProperties, "systemPropertiesFile")); + } + overwrittenProperties = result.copyPropertiesFrom(systemPropertyVariables); + if (!overwrittenProperties.isEmpty() && getConsoleLogger().isDebugEnabled()) { + getConsoleLogger() + .debug(getOverwrittenPropertiesLogMessage(overwrittenProperties, "systemPropertyVariables")); + } + // We used to take all of our system properties and dump them in with the + // user specified properties for SUREFIRE-121, causing SUREFIRE-491. + // Not gonna do THAT any more... instead, we only propagate those system properties + // that have been explicitly specified by the user via -Dkey=value on the CLI + if (!userProperties.isEmpty()) { + overwrittenProperties = result.copyPropertiesFrom(userProperties); + if (!overwrittenProperties.isEmpty()) { + getConsoleLogger() + .warning(getOverwrittenPropertiesLogMessage( + overwrittenProperties, "user properties from Maven session")); + } + } + return result; + } + private Set systemPropertiesMatchingArgLine(SurefireProperties result) { Set intersection = new HashSet<>(); if (isNotBlank(getArgLine())) { @@ -1199,6 +1256,20 @@ private Set systemPropertiesMatchingArgLine(SurefireProperties result) { return intersection; } + private String getOverwrittenPropertiesLogMessage( + Collection overwrittenProperties, String overwrittenBySource) { + if (overwrittenProperties.isEmpty()) { + throw new IllegalArgumentException("overwrittenProperties must not be empty"); + } + // one or multiple? + ChoiceFormat propertyChoice = new ChoiceFormat("1#property|1>properties"); + StringBuilder message = new StringBuilder("System "); + message.append(propertyChoice.format(overwrittenProperties.size())).append(" "); + message.append(overwrittenProperties.stream().collect(Collectors.joining("], [", "[", "]"))); + message.append(" overwritten by ").append(overwrittenBySource); + return message.toString(); + } + private void showToLog(SurefireProperties props, ConsoleLogger log) { for (Object key : props.getStringKeySet()) { String value = props.getProperty((String) key); @@ -2718,7 +2789,7 @@ private Classpath getArtifactClasspath(Artifact surefireArtifact) throws MojoExe return existing; } - private Properties getUserProperties() { + Properties getUserProperties() { return getSession().getUserProperties(); } diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java index 96e3cdaefb..6aeef18f00 100644 --- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java +++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireProperties.java @@ -27,6 +27,7 @@ import java.util.Enumeration; import java.util.HashSet; import java.util.LinkedHashSet; +import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Properties; @@ -40,7 +41,7 @@ import static java.util.Map.Entry; /** - * A properties implementation that preserves insertion order. + * A {@link Properties} implementation that preserves insertion order. */ public class SurefireProperties extends Properties implements KeyValueSource { private static final Collection KEYS_THAT_CANNOT_BE_USED_AS_SYSTEM_PROPERTIES = @@ -64,9 +65,17 @@ public SurefireProperties(KeyValueSource source) { @Override public synchronized void putAll(Map t) { - for (Entry entry : t.entrySet()) { - put(entry.getKey(), entry.getValue()); + putAllInternal(t); + } + + private Collection putAllInternal(Map source) { + Collection overwrittenProperties = new LinkedList<>(); + for (Entry entry : source.entrySet()) { + if (put(entry.getKey(), entry.getValue()) != null) { + overwrittenProperties.add(entry.getKey().toString()); + } } + return overwrittenProperties; } @Override @@ -92,12 +101,28 @@ public synchronized Enumeration keys() { return Collections.enumeration(items); } - public void copyPropertiesFrom(Properties source) { + /** + * Copies all keys and values from source to these properties, overwriting existing properties with same name + * @param source + * @return all overwritten property names (may be empty if there was no property name clash) + */ + public Collection copyPropertiesFrom(Properties source) { if (source != null) { - putAll(source); + return putAllInternal(source); + } else { + return Collections.emptyList(); } } + /** + * Copies all keys and values from source to these properties, overwriting existing properties with same name + * @param source + * @return all overwritten property names (may be empty if there was no property name clash) + */ + public Collection copyPropertiesFrom(Map source) { + return copyProperties(this, source); + } + public Iterable getStringKeySet() { return keySet(); } @@ -121,34 +146,17 @@ public void copyToSystemProperties() { } } - static SurefireProperties calculateEffectiveProperties( - Properties systemProperties, - Map systemPropertyVariables, - Properties userProperties, - SurefireProperties props) { - SurefireProperties result = new SurefireProperties(); - result.copyPropertiesFrom(systemProperties); - - result.copyPropertiesFrom(props); - - copyProperties(result, systemPropertyVariables); - - // We used to take all of our system properties and dump them in with the - // user specified properties for SUREFIRE-121, causing SUREFIRE-491. - // Not gonna do THAT any more... instead, we only propagate those system properties - // that have been explicitly specified by the user via -Dkey=value on the CLI - - result.copyPropertiesFrom(userProperties); - return result; - } - - private static void copyProperties(Properties target, Map source) { + private static Collection copyProperties(Properties target, Map source) { + Collection overwrittenProperties = new LinkedList<>(); if (source != null) { for (String key : source.keySet()) { String value = source.get(key); - target.setProperty(key, value == null ? "" : value); + if (target.setProperty(key, value == null ? "" : value) != null) { + overwrittenProperties.add(key); + } } } + return overwrittenProperties; } @Override diff --git a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java index dee5e39260..1af67c8382 100644 --- a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java +++ b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/AbstractSurefireMojoTest.java @@ -19,7 +19,10 @@ package org.apache.maven.plugin.surefire; import java.io.File; +import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; +import java.io.UncheckedIOException; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; @@ -60,6 +63,7 @@ import org.apache.maven.surefire.extensions.ForkNodeFactory; import org.apache.maven.surefire.providerapi.ProviderInfo; import org.apache.maven.toolchain.Toolchain; +import org.assertj.core.api.Assertions; import org.codehaus.plexus.languages.java.jpms.JavaModuleDescriptor; import org.codehaus.plexus.languages.java.jpms.LocationManager; import org.codehaus.plexus.languages.java.jpms.ResolvePathRequest; @@ -2460,6 +2464,87 @@ public void shouldUseOnlySpecificTests() throws Exception { assertThat(result.getClasses()).isEmpty(); } + @Test + public void testSetupProperties() { + Mojo plugin = new Mojo() { + + @Override + Properties getUserProperties() { + Properties properties = new Properties(); + properties.put("userProperties1", "source4"); + return properties; + } + + @Override + public File getBasedir() { + return new File("target"); + } + + @Override + public String getLocalRepositoryPath() { + return "local/repository/path"; + } + + @Override + public File getSystemPropertiesFile() { + Properties systemProperties = new Properties(); + systemProperties.put("systemProperties2", "source2"); + systemProperties.put("systemProperties3", "source2"); + systemProperties.put("userProperties1", "source2"); + try { + File propertiesFile = tempFolder.newFile(); + try (OutputStream outputStream = new FileOutputStream(propertiesFile)) { + systemProperties.store(outputStream, "comments"); + } + return propertiesFile; + } catch (IOException e) { + throw new UncheckedIOException(e); + } + } + }; + + plugin.setLogger(mock(Logger.class)); + /* expected order of precedence: + * 1. systemProperties + * 2. getSystemPropertiesFile() + * 3. systemPropertyVariables + * 4. getUserProperties() + */ + plugin.forkCount = "1"; + plugin.promoteUserPropertiesToSystemProperties = true; + Properties systemProperties = new Properties(); + systemProperties.put("systemProperties1", "source1"); + systemProperties.put("systemProperties2", "source1"); + systemProperties.put("systemProperties3", "source1"); + systemProperties.put("userProperties1", "source1"); + plugin.systemProperties = systemProperties; + Map systemPropertyVariables = new HashMap<>(); + systemPropertyVariables.put("systemProperties3", "source3"); + systemPropertyVariables.put("userProperties1", "source3"); + plugin.systemPropertyVariables = systemPropertyVariables; + SurefireProperties properties = plugin.setupProperties(); + assertThat(properties) + .containsOnly( + Assertions.entry("systemProperties1", "source1"), + Assertions.entry("systemProperties2", "source2"), + Assertions.entry("systemProperties3", "source3"), + Assertions.entry("userProperties1", "source4"), + Assertions.entry("localRepository", "local/repository/path"), + Assertions.entry("basedir", new File("target").getAbsolutePath())); + + // and without user properties + plugin.promoteUserPropertiesToSystemProperties = false; + properties = plugin.setupProperties(); + assertThat(properties) + .containsOnly( + Assertions.entry("systemProperties1", "source1"), + Assertions.entry("systemProperties2", "source2"), + Assertions.entry("systemProperties3", "source3"), + Assertions.entry("userProperties1", "source3"), + Assertions.entry("localRepository", "local/repository/path"), + Assertions.entry("basedir", new File("target").getAbsolutePath())); + } + private static File mockFile(String absolutePath) { File f = mock(File.class); when(f.getAbsolutePath()).thenReturn(absolutePath); diff --git a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/SurefirePropertiesTest.java b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/SurefirePropertiesTest.java index 9d3e797020..a0ad723572 100644 --- a/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/SurefirePropertiesTest.java +++ b/maven-surefire-common/src/test/java/org/apache/maven/plugin/surefire/SurefirePropertiesTest.java @@ -18,8 +18,11 @@ */ package org.apache.maven.plugin.surefire; +import java.util.Arrays; import java.util.Enumeration; import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.Map; import java.util.Properties; import java.util.SortedSet; import java.util.TreeSet; @@ -112,6 +115,17 @@ public void testPutAll() { assertEquals("b", it.next()); } + public void testCopyPropertiesFrom() { + SurefireProperties orderedProperties = new SurefireProperties(); + Map properties = new LinkedHashMap<>(); + properties.put("property1", "value"); + properties.put("property2", "value"); + orderedProperties.putAll(properties); + orderedProperties.put("property3", "value"); + // check return value containing all overwritten property names + assertEquals(Arrays.asList("property1", "property2"), orderedProperties.copyPropertiesFrom(properties)); + } + private static int size(Iterator iterator) { int count = 0; while (iterator.hasNext()) { diff --git a/maven-surefire-plugin/pom.xml b/maven-surefire-plugin/pom.xml index 71de0eff67..7c2b63e35b 100644 --- a/maven-surefire-plugin/pom.xml +++ b/maven-surefire-plugin/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT org.apache.maven.plugins diff --git a/maven-surefire-plugin/src/site/apt/examples/system-properties.apt.vm b/maven-surefire-plugin/src/site/apt/examples/system-properties.apt.vm index 9c1c3cb15b..aceded1acf 100644 --- a/maven-surefire-plugin/src/site/apt/examples/system-properties.apt.vm +++ b/maven-surefire-plugin/src/site/apt/examples/system-properties.apt.vm @@ -3,6 +3,7 @@ ------ Allan Ramirez Dan Tran + Konrad Windszus ------ 2010-01-09 ------ @@ -29,12 +30,15 @@ Using System Properties - There are two ways to add a list of system properties to ${thisPlugin}: +%{toc|section=0|fromDepth=2} + + + There are different parameters which affect the system properties passed to ${thisPlugin} providers: * systemPropertyVariables - This configuration is the replacement of the deprecated <<>>. It can accept any value - from Maven's properties that can be converted <>. + This configuration is the replacement of the deprecated <<>>. It can accept any {{{https://maven.apache.org/ref/3-LATEST/maven-model-builder/#model-interpolation}expression value}} + referencing Maven's properties that can be converted <> or arbitrary literals. +---+ @@ -59,8 +63,11 @@ Using System Properties +---+ +* systemPropertiesFile + + This configuration allows to add system properties through an external properties file whose path is given via this plugin parameter. -* systemProperties ( Deprecated ) +* systemProperties (Deprecated) +---+ @@ -130,7 +137,24 @@ Using System Properties +---+ -Special VM Properties +* Effective System Properties + + The effective system properties are merged from the following sources: + + [[1]] <<>> + + [[2]] <<>> + + [[3]] <<>> + + [[4]] {{{https://maven.apache.org/ref/3-LATEST/maven-core/apidocs/org/apache/maven/execution/MavenSession.html#getUserProperties()}User properties from the current Maven session}} (if <<>> is not set to <<>>) + + [] + + where latter items may overwrite properties with the same name of former items. + + +* Special VM Properties Some system properties must be set on the command line of the forked VM, and cannot be set after the VM has been started. These properties must be added to the <<>> parameter of the Surefire plugin. E.g., diff --git a/maven-surefire-report-plugin/pom.xml b/maven-surefire-report-plugin/pom.xml index 9f6a406e4c..474b73eceb 100644 --- a/maven-surefire-report-plugin/pom.xml +++ b/maven-surefire-report-plugin/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT org.apache.maven.plugins diff --git a/pom.xml b/pom.xml index 10d02fc3ed..c773af05d1 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT pom Apache Maven Surefire @@ -106,7 +106,7 @@ 1.${javaVersion} ${jvm9ArgsTests} -Xms32m -Xmx144m -XX:SoftRefLRUPolicyMSPerMB=50 -Djava.awt.headless=true -Djdk.net.URLClassPath.disableClassPathURLCheck=true - 2024-07-07T17:48:17Z + 2024-07-15T13:01:03Z diff --git a/surefire-api/pom.xml b/surefire-api/pom.xml index 0f4f767d6a..b36676c3e7 100644 --- a/surefire-api/pom.xml +++ b/surefire-api/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-api diff --git a/surefire-booter/pom.xml b/surefire-booter/pom.xml index bfb6374751..d256834b3f 100644 --- a/surefire-booter/pom.xml +++ b/surefire-booter/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-booter diff --git a/surefire-extensions-api/pom.xml b/surefire-extensions-api/pom.xml index 9017bdfa69..9dbb677e25 100644 --- a/surefire-extensions-api/pom.xml +++ b/surefire-extensions-api/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-extensions-api diff --git a/surefire-extensions-spi/pom.xml b/surefire-extensions-spi/pom.xml index 32ecf4b510..c072b3d4b9 100644 --- a/surefire-extensions-spi/pom.xml +++ b/surefire-extensions-spi/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-extensions-spi diff --git a/surefire-grouper/pom.xml b/surefire-grouper/pom.xml index 9e625f1f16..50cb33193b 100644 --- a/surefire-grouper/pom.xml +++ b/surefire-grouper/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-grouper diff --git a/surefire-its/pom.xml b/surefire-its/pom.xml index 8d18714f1a..2559d357d9 100644 --- a/surefire-its/pom.xml +++ b/surefire-its/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-its diff --git a/surefire-logger-api/pom.xml b/surefire-logger-api/pom.xml index 84593953de..92f44bb463 100644 --- a/surefire-logger-api/pom.xml +++ b/surefire-logger-api/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-logger-api diff --git a/surefire-providers/common-java5/pom.xml b/surefire-providers/common-java5/pom.xml index 39fcc66479..98d63fbc68 100644 --- a/surefire-providers/common-java5/pom.xml +++ b/surefire-providers/common-java5/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire-providers - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT common-java5 diff --git a/surefire-providers/common-junit3/pom.xml b/surefire-providers/common-junit3/pom.xml index 17eb8b22d4..8fa9e54647 100644 --- a/surefire-providers/common-junit3/pom.xml +++ b/surefire-providers/common-junit3/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire-providers - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT common-junit3 diff --git a/surefire-providers/common-junit4/pom.xml b/surefire-providers/common-junit4/pom.xml index f66db58495..0ef6fc660d 100644 --- a/surefire-providers/common-junit4/pom.xml +++ b/surefire-providers/common-junit4/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire-providers - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT common-junit4 diff --git a/surefire-providers/common-junit48/pom.xml b/surefire-providers/common-junit48/pom.xml index a223dcbd05..ce3ba24ce3 100644 --- a/surefire-providers/common-junit48/pom.xml +++ b/surefire-providers/common-junit48/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire-providers - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT common-junit48 diff --git a/surefire-providers/pom.xml b/surefire-providers/pom.xml index c030e67036..eff68a63c1 100644 --- a/surefire-providers/pom.xml +++ b/surefire-providers/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-providers diff --git a/surefire-providers/surefire-junit-platform/pom.xml b/surefire-providers/surefire-junit-platform/pom.xml index 66bb62dc99..09011343fe 100644 --- a/surefire-providers/surefire-junit-platform/pom.xml +++ b/surefire-providers/surefire-junit-platform/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire-providers - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-junit-platform diff --git a/surefire-providers/surefire-junit3/pom.xml b/surefire-providers/surefire-junit3/pom.xml index ab337b7484..7505164cb5 100644 --- a/surefire-providers/surefire-junit3/pom.xml +++ b/surefire-providers/surefire-junit3/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire-providers - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-junit3 diff --git a/surefire-providers/surefire-junit4/pom.xml b/surefire-providers/surefire-junit4/pom.xml index 898cf569bc..194b93a7f8 100644 --- a/surefire-providers/surefire-junit4/pom.xml +++ b/surefire-providers/surefire-junit4/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire-providers - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-junit4 diff --git a/surefire-providers/surefire-junit47/pom.xml b/surefire-providers/surefire-junit47/pom.xml index 45ee179042..d6d6c1b642 100644 --- a/surefire-providers/surefire-junit47/pom.xml +++ b/surefire-providers/surefire-junit47/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire-providers - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-junit47 diff --git a/surefire-providers/surefire-testng-utils/pom.xml b/surefire-providers/surefire-testng-utils/pom.xml index 27c7ced49b..5e1777e8f7 100644 --- a/surefire-providers/surefire-testng-utils/pom.xml +++ b/surefire-providers/surefire-testng-utils/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire-providers - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-testng-utils diff --git a/surefire-providers/surefire-testng/pom.xml b/surefire-providers/surefire-testng/pom.xml index db4d313710..d99d636c73 100644 --- a/surefire-providers/surefire-testng/pom.xml +++ b/surefire-providers/surefire-testng/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire-providers - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-testng diff --git a/surefire-report-parser/pom.xml b/surefire-report-parser/pom.xml index 609031a51b..eb6d511d3d 100644 --- a/surefire-report-parser/pom.xml +++ b/surefire-report-parser/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-report-parser diff --git a/surefire-shadefire/pom.xml b/surefire-shadefire/pom.xml index cf6f3d3bf8..2afbe11eff 100644 --- a/surefire-shadefire/pom.xml +++ b/surefire-shadefire/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-shadefire diff --git a/surefire-shared-utils/pom.xml b/surefire-shared-utils/pom.xml index 33077c7a09..17cb31719d 100644 --- a/surefire-shared-utils/pom.xml +++ b/surefire-shared-utils/pom.xml @@ -23,7 +23,7 @@ org.apache.maven.surefire surefire - 3.3.2-SNAPSHOT + 3.4.0-SNAPSHOT surefire-shared-utils