diff --git a/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml b/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml
index 20031b9cd..4ca1474cc 100644
--- a/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml
+++ b/maven-resolver-demos/maven-resolver-demo-snippets/pom.xml
@@ -34,8 +34,6 @@
org.apache.maven.resolver.demo.snippets
-
- 17
diff --git a/maven-resolver-generator-gnupg/pom.xml b/maven-resolver-generator-gnupg/pom.xml
index 74f9a9709..44292120d 100644
--- a/maven-resolver-generator-gnupg/pom.xml
+++ b/maven-resolver-generator-gnupg/pom.xml
@@ -35,7 +35,6 @@
org.apache.maven.resolver.generator.gnupg
${Automatic-Module-Name}
- 17
1.77
diff --git a/maven-resolver-test-http/pom.xml b/maven-resolver-test-http/pom.xml
index 45aff0374..6cfa85dca 100644
--- a/maven-resolver-test-http/pom.xml
+++ b/maven-resolver-test-http/pom.xml
@@ -34,8 +34,6 @@
org.apache.maven.resolver.test.http
${Automatic-Module-Name}
-
- 11
diff --git a/maven-resolver-tools/pom.xml b/maven-resolver-tools/pom.xml
index 3e0ded2c8..9a06cbf74 100644
--- a/maven-resolver-tools/pom.xml
+++ b/maven-resolver-tools/pom.xml
@@ -32,7 +32,6 @@
Various tools.
- 17
true
org.apache.maven.resolver.tools
diff --git a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/pom.xml b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-17/pom.xml
similarity index 94%
rename from maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/pom.xml
rename to maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-17/pom.xml
index a07653c1a..ab6285b04 100644
--- a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/pom.xml
+++ b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-17/pom.xml
@@ -26,17 +26,15 @@
2.0.0-SNAPSHOT
- maven-resolver-transport-jdk-11
+ maven-resolver-transport-jdk-17
jar
- Maven Artifact Resolver Transport JDK 11
- Maven Artifact Transport JDK Java 11+.
+ Maven Artifact Resolver Transport JDK 17
+ Maven Artifact Transport JDK Java 17+.
org.apache.maven.resolver.transport.jdk
${Automatic-Module-Name}
-
- 11
diff --git a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporter.java b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-17/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporter.java
similarity index 98%
rename from maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporter.java
rename to maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-17/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporter.java
index 77a2312d0..6054423ac 100644
--- a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporter.java
+++ b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-17/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporter.java
@@ -53,11 +53,7 @@
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.repository.AuthenticationContext;
import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.spi.connector.transport.AbstractTransporter;
-import org.eclipse.aether.spi.connector.transport.GetTask;
-import org.eclipse.aether.spi.connector.transport.PeekTask;
-import org.eclipse.aether.spi.connector.transport.PutTask;
-import org.eclipse.aether.spi.connector.transport.TransportTask;
+import org.eclipse.aether.spi.connector.transport.*;
import org.eclipse.aether.spi.connector.transport.http.ChecksumExtractor;
import org.eclipse.aether.spi.connector.transport.http.HttpTransporter;
import org.eclipse.aether.spi.connector.transport.http.HttpTransporterException;
diff --git a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterCloser.java b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-17/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterCloser.java
similarity index 100%
rename from maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterCloser.java
rename to maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-17/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterCloser.java
diff --git a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterConfigurationKeys.java b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-17/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterConfigurationKeys.java
similarity index 96%
rename from maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterConfigurationKeys.java
rename to maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-17/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterConfigurationKeys.java
index 92bf1cade..2ec1200a1 100644
--- a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterConfigurationKeys.java
+++ b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-17/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterConfigurationKeys.java
@@ -36,7 +36,7 @@ private JdkTransporterConfigurationKeys() {}
* Use string representation of HttpClient version enum "HTTP_2" or "HTTP_1_1" to set default HTTP protocol to use.
*
* @configurationSource {@link RepositorySystemSession#getConfigProperties()}
- * @configurationType {@link java.lang.String}
+ * @configurationType {@link String}
* @configurationDefaultValue {@link #DEFAULT_HTTP_VERSION}
* @configurationRepoIdSuffix Yes
*/
@@ -51,7 +51,7 @@ private JdkTransporterConfigurationKeys() {}
* JDK-8225647 for details.
*
* @configurationSource {@link RepositorySystemSession#getConfigProperties()}
- * @configurationType {@link java.lang.Integer}
+ * @configurationType {@link Integer}
* @configurationDefaultValue {@link #DEFAULT_MAX_CONCURRENT_REQUESTS}
* @configurationRepoIdSuffix Yes
*/
diff --git a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterFactory.java b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-17/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterFactory.java
similarity index 100%
rename from maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterFactory.java
rename to maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-17/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterFactory.java
diff --git a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/test/java/org/eclipse/aether/transport/jdk/JdkTransporterTest.java b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-17/src/test/java/org/eclipse/aether/transport/jdk/JdkTransporterTest.java
similarity index 100%
rename from maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-11/src/test/java/org/eclipse/aether/transport/jdk/JdkTransporterTest.java
rename to maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-17/src/test/java/org/eclipse/aether/transport/jdk/JdkTransporterTest.java
diff --git a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-8/pom.xml b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-8/pom.xml
deleted file mode 100644
index 90c3be49f..000000000
--- a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-8/pom.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
- 4.0.0
-
-
- org.apache.maven.resolver
- maven-resolver-transport-jdk-parent
- 2.0.0-SNAPSHOT
-
-
- maven-resolver-transport-jdk-8
- jar
-
- Maven Artifact Resolver Transport JDK 8
- Maven Artifact Transport JDK Java 11+.
-
-
- org.apache.maven.resolver.transport.jdk
- ${Automatic-Module-Name}
-
- 8
-
-
-
-
- org.slf4j
- slf4j-api
-
-
- org.apache.maven.resolver
- maven-resolver-api
-
-
- org.apache.maven.resolver
- maven-resolver-spi
-
-
- org.apache.maven.resolver
- maven-resolver-util
-
-
- javax.inject
- javax.inject
- provided
- true
-
-
-
-
-
-
- org.eclipse.sisu
- sisu-maven-plugin
-
-
- biz.aQute.bnd
- bnd-maven-plugin
-
-
- org.apache.maven.plugins
- maven-jar-plugin
-
-
- ${project.build.outputDirectory}/META-INF/MANIFEST.MF
-
-
-
-
-
-
diff --git a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-8/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterFactory.java b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-8/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterFactory.java
deleted file mode 100644
index dcea7ce8b..000000000
--- a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-8/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterFactory.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.eclipse.aether.transport.jdk;
-
-import javax.inject.Inject;
-import javax.inject.Named;
-
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.repository.RemoteRepository;
-import org.eclipse.aether.spi.connector.transport.http.ChecksumExtractor;
-import org.eclipse.aether.spi.connector.transport.http.HttpTransporter;
-import org.eclipse.aether.spi.connector.transport.http.HttpTransporterFactory;
-import org.eclipse.aether.spi.io.PathProcessor;
-import org.eclipse.aether.transfer.NoTransporterException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import static java.util.Objects.requireNonNull;
-
-/**
- * JDK Transport factory: on Java 8 it is defunct.
- *
- * @since 2.0.0
- */
-@Named(JdkTransporterFactory.NAME)
-public final class JdkTransporterFactory implements HttpTransporterFactory {
- public static final String NAME = "jdk";
-
- private static final Logger LOGGER = LoggerFactory.getLogger(JdkTransporterFactory.class);
-
- private float priority = 10.0f;
-
- @Inject
- public JdkTransporterFactory(ChecksumExtractor checksumExtractor, PathProcessor pathProcessor) {
- // this is to equalize all Java version constructors to be same, so Supplier could work across all versions
- }
-
- @Override
- public float getPriority() {
- return priority;
- }
-
- public JdkTransporterFactory setPriority(float priority) {
- this.priority = priority;
- return this;
- }
-
- @Override
- public HttpTransporter newInstance(RepositorySystemSession session, RemoteRepository repository)
- throws NoTransporterException {
- requireNonNull(session, "session cannot be null");
- requireNonNull(repository, "repository cannot be null");
-
- LOGGER.debug("Needs Java11+ to function");
- throw new NoTransporterException(repository, "JDK Transport needs Java11+");
- }
-}
diff --git a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-8/src/main/java/org/eclipse/aether/transport/jdk/package-info.java b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-8/src/main/java/org/eclipse/aether/transport/jdk/package-info.java
deleted file mode 100644
index 9036d8234..000000000
--- a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-8/src/main/java/org/eclipse/aether/transport/jdk/package-info.java
+++ /dev/null
@@ -1,26 +0,0 @@
-// CHECKSTYLE_OFF: RegexpHeader
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-/**
- * Support for downloads/uploads via the HTTP and HTTPS protocols. The implementation is backed by
- * Java 11 {@link java.net.http.HttpClient}.
- *
- * @since 2.0.0
- */
-package org.eclipse.aether.transport.jdk;
diff --git a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk/pom.xml b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk/pom.xml
index 7136e0cc1..bbef05ac2 100644
--- a/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk/pom.xml
+++ b/maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk/pom.xml
@@ -35,21 +35,13 @@
org.apache.maven.resolver.transport.jdk
${Automatic-Module-Name}
-
- 11
org.apache.maven.resolver
- maven-resolver-transport-jdk-8
- ${project.version}
- true
-
-
- org.apache.maven.resolver
- maven-resolver-transport-jdk-11
+ maven-resolver-transport-jdk-17
${project.version}
true
@@ -112,29 +104,17 @@
maven-dependency-plugin
- java8
+ java17
unpack-dependencies
generate-resources
- maven-resolver-transport-jdk-8
+ maven-resolver-transport-jdk-17
${project.build.directory}/generated-resources
META-INF/maven/**
-
- java11
-
- unpack-dependencies
-
- generate-resources
-
- maven-resolver-transport-jdk-11
- ${project.build.directory}/generated-resources/META-INF/versions/11
- **/*.class
-
-
java21
diff --git a/maven-resolver-transport-jdk-parent/pom.xml b/maven-resolver-transport-jdk-parent/pom.xml
index 0e547a804..4656c25de 100644
--- a/maven-resolver-transport-jdk-parent/pom.xml
+++ b/maven-resolver-transport-jdk-parent/pom.xml
@@ -33,8 +33,7 @@
Maven Artifact Transport JDK Java 11+ parent.
- maven-resolver-transport-jdk-8
- maven-resolver-transport-jdk-11
+ maven-resolver-transport-jdk-17
maven-resolver-transport-jdk-21
maven-resolver-transport-jdk
diff --git a/maven-resolver-transport-jetty/pom.xml b/maven-resolver-transport-jetty/pom.xml
index cbd0c5a0f..75f90f827 100644
--- a/maven-resolver-transport-jetty/pom.xml
+++ b/maven-resolver-transport-jetty/pom.xml
@@ -35,8 +35,6 @@
org.apache.maven.resolver.transport.jetty
${Automatic-Module-Name}
-
- 11
diff --git a/pom.xml b/pom.xml
index 8e9f6cb98..ffad719c1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -89,7 +89,7 @@
- 8
+ 17
${javaVersion}
${javaVersion}
${javaVersion}
@@ -100,10 +100,11 @@
0.9.0.M2
6.0.0
2.0.11
+ 2.8.0
10.0.20
- 4.0.0-alpha-12
+ 4.0.0-alpha-13
[3.8.8,)
[21,)
@@ -277,6 +278,11 @@
jimfs
1.3.0
+
+ org.gaul
+ modernizer-maven-annotations
+ ${modernizer.version}
+
@@ -409,6 +415,23 @@
+
+ org.gaul
+ modernizer-maven-plugin
+ ${modernizerVersion}
+
+ ${javaVersion}
+
+
+
+ modernizer
+
+ modernizer
+
+ process-sources
+
+
+
org.apache.maven.plugins
maven-enforcer-plugin
@@ -639,6 +662,10 @@
org.eclipse.sisu
sisu-maven-plugin
+
+ org.gaul
+ modernizer-maven-plugin
+
diff --git a/src/site/markdown/configuration.md b/src/site/markdown/configuration.md
index 3dfbb6680..f8138377b 100644
--- a/src/site/markdown/configuration.md
+++ b/src/site/markdown/configuration.md
@@ -116,8 +116,8 @@ under the License.
| 89. | `"aether.transport.http.supportWebDav"` | `java.lang.Boolean` | Boolean flag should the HTTP transport support WebDAV remote. Not all transport support this option. | `false` | 2.0.0 (moved out from maven-resolver-transport-http). | Yes | Session Configuration |
| 90. | `"aether.transport.http.userAgent"` | `java.lang.String` | The user agent that repository connectors should report to servers. | `"Aether"` | | No | Session Configuration |
| 91. | `"aether.transport.https.securityMode"` | `java.lang.String` | The mode that sets HTTPS transport "security mode": to ignore any SSL errors (certificate validity checks, hostname verification). The default value is . | `"default"` | 1.9.6 | Yes | Session Configuration |
-| 92. | `"aether.transport.jdk.httpVersion"` | `java.lang.String` | Use string representation of HttpClient version enum "HTTP_2" or "HTTP_1_1" to set default HTTP protocol to use. | `"HTTP_2"` | 2.0.0 | Yes | Session Configuration |
-| 93. | `"aether.transport.jdk.maxConcurrentRequests"` | `java.lang.Integer` | The hard limit of maximum concurrent requests JDK transport can do. This is a workaround for the fact, that in HTTP/2 mode, JDK HttpClient initializes this value to Integer.MAX_VALUE (!) and lowers it on first response from the remote server (but it may be too late). See JDK bug JDK-8225647 for details. | `100` | 2.0.0 | Yes | Session Configuration |
+| 92. | `"aether.transport.jdk.httpVersion"` | `String` | Use string representation of HttpClient version enum "HTTP_2" or "HTTP_1_1" to set default HTTP protocol to use. | `"HTTP_2"` | 2.0.0 | Yes | Session Configuration |
+| 93. | `"aether.transport.jdk.maxConcurrentRequests"` | `Integer` | The hard limit of maximum concurrent requests JDK transport can do. This is a workaround for the fact, that in HTTP/2 mode, JDK HttpClient initializes this value to Integer.MAX_VALUE (!) and lowers it on first response from the remote server (but it may be too late). See JDK bug JDK-8225647 for details. | `100` | 2.0.0 | Yes | Session Configuration |
| 94. | `"aether.transport.wagon.config"` | `java.lang.Object` | The configuration to use for the Wagon provider. | - | | Yes | Session Configuration |
| 95. | `"aether.transport.wagon.perms.dirMode"` | `java.lang.String` | Octal numerical notation of permissions to set for newly created directories. Only considered by certain Wagon providers. | - | | Yes | Session Configuration |
| 96. | `"aether.transport.wagon.perms.fileMode"` | `java.lang.String` | Octal numerical notation of permissions to set for newly created files. Only considered by certain Wagon providers. | - | | Yes | Session Configuration |