[MNG-7909] Apply Resolver 2.0.0 changes (#317)
Changes:
* IT MNG-4368 "smart install" undone
* IT MNG-5175 force Wagon as it uses Wagon config
* IT MNG-7470 adapt to new default and new transport
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4368TimestampAwareArtifactInstallerTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4368TimestampAwareArtifactInstallerTest.java
index b58ea20..70de6f0 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4368TimestampAwareArtifactInstallerTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4368TimestampAwareArtifactInstallerTest.java
@@ -27,13 +27,14 @@
/**
* This is a test set for <a href="https://issues.apache.org/jira/browse/MNG-4368">MNG-4368</a>.
+ * Resolver 2.0.0 (in use since Maven 4.0.0-alpha-9) undoes this "smart" solution.
*
* @author Benjamin Bentmann
*/
public class MavenITmng4368TimestampAwareArtifactInstallerTest extends AbstractMavenIntegrationTestCase {
public MavenITmng4368TimestampAwareArtifactInstallerTest() {
- super("[2.0.3,3.0-alpha-1),[3.0-alpha-6,)");
+ super("[2.0.3,3.0-alpha-1),[3.0-alpha-6,4.0.0-alpha-8]");
}
/**
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5175WagonHttpTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5175WagonHttpTest.java
index 60a93dd..bd96fb5 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5175WagonHttpTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5175WagonHttpTest.java
@@ -117,6 +117,8 @@
verifier.addCliArgument("--errors");
verifier.addCliArgument("-X");
verifier.addCliArgument("validate");
+ verifier.addCliArgument(
+ "-Dmaven.resolver.transport=wagon"); // this tests Wagon integration and uses Wagon specific config
verifier.execute();
verifier.verifyTextInLog(
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7470ResolverTransportTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7470ResolverTransportTest.java
index b6fa21b..4221d2c 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7470ResolverTransportTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7470ResolverTransportTest.java
@@ -22,9 +22,12 @@
import java.util.HashMap;
import java.util.Map;
+import org.apache.maven.artifact.versioning.ArtifactVersion;
+import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.apache.maven.shared.verifier.Verifier;
import org.apache.maven.shared.verifier.util.ResourceExtractor;
import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.Assumptions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -39,6 +42,11 @@
private int port;
+ private static final ArtifactVersion JDK_TRANSPORT_USABLE_ON_JDK_SINCE = new DefaultArtifactVersion("11");
+
+ private static final ArtifactVersion JDK_TRANSPORT_IN_MAVEN_SINCE =
+ new DefaultArtifactVersion("4.0.0-alpha-9-SNAPSHOT");
+
public MavenITmng7470ResolverTransportTest() {
super("[3.9.0,)");
}
@@ -99,11 +107,35 @@
private static final String WAGON_LOG_SNIPPET = "[DEBUG] Using transporter WagonTransporter";
- private static final String NATIVE_LOG_SNIPPET = "[DEBUG] Using transporter HttpTransporter";
+ private static final String APACHE_LOG_SNIPPET = "[DEBUG] Using transporter HttpTransporter";
+
+ private static final String JDK_LOG_SNIPPET = "[DEBUG] Using transporter JdkHttpTransporter";
+
+ /**
+ * Returns {@code true} if JDK HttpClient transport is usable (Java11 or better).
+ */
+ private boolean isJdkTransportUsable() {
+ return JDK_TRANSPORT_USABLE_ON_JDK_SINCE.compareTo(getJavaVersion()) < 1;
+ }
+
+ /**
+ * Returns {@code true} if JDK HttpClient transport is present in Maven (since 4.0.0-alpha-9, the Resovler 2.0.0
+ * upgrade).
+ */
+ private boolean isJdkTransportPresent() {
+ return JDK_TRANSPORT_IN_MAVEN_SINCE.compareTo(getMavenVersion()) < 1;
+ }
+
+ private String defaultLogSnippet() {
+ if (isJdkTransportUsable() && isJdkTransportPresent()) {
+ return JDK_LOG_SNIPPET;
+ }
+ return APACHE_LOG_SNIPPET;
+ }
@Test
public void testResolverTransportDefault() throws Exception {
- performTest(null, NATIVE_LOG_SNIPPET);
+ performTest(null, defaultLogSnippet());
}
@Test
@@ -112,7 +144,13 @@
}
@Test
- public void testResolverTransportNative() throws Exception {
- performTest("native", NATIVE_LOG_SNIPPET);
+ public void testResolverTransportApache() throws Exception {
+ performTest(isJdkTransportPresent() ? "apache" : "native", APACHE_LOG_SNIPPET);
+ }
+
+ @Test
+ public void testResolverTransportJdk() throws Exception {
+ Assumptions.assumeTrue(isJdkTransportUsable() && isJdkTransportPresent());
+ performTest("jdk", JDK_LOG_SNIPPET);
}
}
diff --git a/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java b/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java
index cc02af6..2630be2 100644
--- a/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java
+++ b/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java
@@ -94,7 +94,7 @@
*
* @return The Java version, never <code>null</code>.
*/
- private static ArtifactVersion getJavaVersion() {
+ protected static ArtifactVersion getJavaVersion() {
if (javaVersion == null) {
String version = System.getProperty("java.version");
version = version.replaceAll("[_-]", ".");