Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions apache-maven/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -83,16 +83,11 @@ under the License.
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-transport-wagon</artifactId>
</dependency>
<!-- HTTP/1.1, medium priority, Java8+ -->
<!-- HTTP/1.1, default transport, Java8+ -->
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-transport-apache</artifactId>
</dependency>
<!-- HTTP/1.1 and HTTP/2, high priority, Java11+ -->
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-transport-jdk</artifactId>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-logging</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion impl/maven-cli/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ under the License.
</dependency>
<dependency>
<groupId>org.apache.maven.resolver</groupId>
<artifactId>maven-resolver-transport-jdk</artifactId>
<artifactId>maven-resolver-transport-apache</artifactId>
</dependency>

<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@
import org.eclipse.aether.spi.connector.transport.TransporterFactory;
import org.eclipse.aether.spi.connector.transport.http.ChecksumExtractor;
import org.eclipse.aether.spi.io.PathProcessor;
import org.eclipse.aether.transport.apache.ApacheTransporterFactory;
import org.eclipse.aether.transport.file.FileTransporterFactory;
import org.eclipse.aether.transport.jdk.JdkTransporterFactory;

import static eu.maveniverse.domtrip.maven.MavenPomElements.Elements.PARENT;

Expand Down Expand Up @@ -309,10 +309,10 @@ protected org.apache.maven.api.model.Model buildEffectiveModel(Path pomPath) {

static class TransporterFactoryConfig {
@Provides
@Named(JdkTransporterFactory.NAME)
static TransporterFactory jdkTransporterFactory(
@Named(ApacheTransporterFactory.NAME)
static TransporterFactory apacheTransporterFactory(
ChecksumExtractor checksumExtractor, PathProcessor pathProcessor) {
return new JdkTransporterFactory(checksumExtractor, pathProcessor);
return new ApacheTransporterFactory(checksumExtractor, pathProcessor);
}

@Provides
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import org.apache.maven.artifact.versioning.ArtifactVersion;
import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Assumptions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;

Expand All @@ -40,9 +39,7 @@ public class MavenITmng7470ResolverTransportTest extends AbstractMavenIntegratio

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 =
private static final ArtifactVersion APACHE_TRANSPORT_RENAMED_SINCE =
new DefaultArtifactVersion("4.0.0-alpha-9-SNAPSHOT");

public MavenITmng7470ResolverTransportTest() {
Expand Down Expand Up @@ -108,33 +105,18 @@ private void performTest(/* nullable */ final String transport, final String log

private static final String APACHE_LOG_SNIPPET = "[DEBUG] Using transporter ApacheTransporter";

private static final String JDK_LOG_SNIPPET = "[DEBUG] Using transporter JdkTransporter";

/**
* 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 Resolver 2.0.0
* upgrade).
* Returns {@code true} if the Apache transport uses the new class name (ApacheTransporter)
* rather than the old one (HttpTransporter). This changed in 4.0.0-alpha-9 with the
* Resolver 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 isJdkTransportPresent() ? APACHE_LOG_SNIPPET : APACHE_LOG_SNIPPET_OLD;
private boolean isApacheTransportRenamed() {
return APACHE_TRANSPORT_RENAMED_SINCE.compareTo(getMavenVersion()) < 1;
}

@Test
public void testResolverTransportDefault() throws Exception {
performTest(null, defaultLogSnippet());
performTest(null, isApacheTransportRenamed() ? APACHE_LOG_SNIPPET : APACHE_LOG_SNIPPET_OLD);
}

@Test
Expand All @@ -145,13 +127,7 @@ public void testResolverTransportWagon() throws Exception {
@Test
public void testResolverTransportApache() throws Exception {
performTest(
isJdkTransportPresent() ? "apache" : "native",
isJdkTransportPresent() ? APACHE_LOG_SNIPPET : APACHE_LOG_SNIPPET_OLD);
}

@Test
public void testResolverTransportJdk() throws Exception {
Assumptions.assumeTrue(isJdkTransportUsable() && isJdkTransportPresent());
performTest("jdk", JDK_LOG_SNIPPET);
isApacheTransportRenamed() ? "apache" : "native",
isApacheTransportRenamed() ? APACHE_LOG_SNIPPET : APACHE_LOG_SNIPPET_OLD);
}
}
Loading