From a67c52bdaf24b807eab0c2b8bace3c5aea76c5e0 Mon Sep 17 00:00:00 2001 From: Tamas Cservenak Date: Sun, 10 Mar 2024 16:17:45 +0100 Subject: [PATCH] Move to Java17 --- .../maven-resolver-demo-snippets/pom.xml | 2 - maven-resolver-generator-gnupg/pom.xml | 1 - maven-resolver-test-http/pom.xml | 2 - maven-resolver-tools/pom.xml | 1 - .../pom.xml | 8 +- .../aether/transport/jdk/JdkTransporter.java | 6 +- .../transport/jdk/JdkTransporterCloser.java | 0 .../jdk/JdkTransporterConfigurationKeys.java | 4 +- .../transport/jdk/JdkTransporterFactory.java | 0 .../transport/jdk/JdkTransporterTest.java | 0 .../maven-resolver-transport-jdk-8/pom.xml | 88 ------------------- .../transport/jdk/JdkTransporterFactory.java | 73 --------------- .../aether/transport/jdk/package-info.java | 26 ------ .../maven-resolver-transport-jdk/pom.xml | 26 +----- maven-resolver-transport-jdk-parent/pom.xml | 3 +- maven-resolver-transport-jetty/pom.xml | 2 - pom.xml | 31 ++++++- src/site/markdown/configuration.md | 4 +- 18 files changed, 41 insertions(+), 236 deletions(-) rename maven-resolver-transport-jdk-parent/{maven-resolver-transport-jdk-11 => maven-resolver-transport-jdk-17}/pom.xml (94%) rename maven-resolver-transport-jdk-parent/{maven-resolver-transport-jdk-11 => maven-resolver-transport-jdk-17}/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporter.java (98%) rename maven-resolver-transport-jdk-parent/{maven-resolver-transport-jdk-11 => maven-resolver-transport-jdk-17}/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterCloser.java (100%) rename maven-resolver-transport-jdk-parent/{maven-resolver-transport-jdk-11 => maven-resolver-transport-jdk-17}/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterConfigurationKeys.java (96%) rename maven-resolver-transport-jdk-parent/{maven-resolver-transport-jdk-11 => maven-resolver-transport-jdk-17}/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterFactory.java (100%) rename maven-resolver-transport-jdk-parent/{maven-resolver-transport-jdk-11 => maven-resolver-transport-jdk-17}/src/test/java/org/eclipse/aether/transport/jdk/JdkTransporterTest.java (100%) delete mode 100644 maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-8/pom.xml delete mode 100644 maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-8/src/main/java/org/eclipse/aether/transport/jdk/JdkTransporterFactory.java delete mode 100644 maven-resolver-transport-jdk-parent/maven-resolver-transport-jdk-8/src/main/java/org/eclipse/aether/transport/jdk/package-info.java 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 |