From 0b50f08f596b58e1f907d11d6111d6602767abdd Mon Sep 17 00:00:00 2001 From: Vincent Potucek Date: Sun, 11 May 2025 00:44:31 +0200 Subject: [PATCH] Migrate to Java 21 - code --- .github/workflows/maven.yml | 2 +- README.md | 2 +- apache-maven/pom.xml | 3 + apache-maven/src/assembly/maven/bin/mvn | 2 +- apache-maven/src/assembly/maven/bin/mvn.cmd | 4 +- .../maven/api/services/MessageBuilder.java | 4 +- .../maven/api/services/ProblemCollector.java | 2 +- .../services/VersionRangeResolverResult.java | 2 +- .../maven/api/services/SourcesTest.java | 15 +- api/maven-api-di/pom.xml | 7 + .../apache/maven/api/model/InputLocation.java | 2 +- api/maven-api-model/src/main/mdo/maven.mdo | 2 +- .../repository/ArtifactRepository.java | 3 +- .../versioning/ComparableVersion.java | 2 +- .../versioning/ComparableVersionIT.java | 7 +- .../versioning/ComparableVersionTest.java | 2 +- .../artifact/versioning/VersionRangeTest.java | 76 +++--- .../building/DefaultProblemCollectorTest.java | 4 +- compat/maven-compat/pom.xml | 4 + .../DefaultResolutionErrorHandler.java | 2 +- .../artifact/resolver/ResolutionNode.java | 2 +- .../maven/profiles/DefaultProfileManager.java | 2 +- .../ProfileActivationException.java | 3 + .../legacy/DefaultWagonManager.java | 4 +- .../legacy/LegacyRepositorySystem.java | 14 +- .../ConflictResolverNotFoundException.java | 3 + .../DefaultGraphConflictResolver.java | 2 +- .../GraphConflictResolutionException.java | 3 + .../MetadataGraphTransformationException.java | 3 + .../toolchain/java/JavaToolchainFactory.java | 5 +- .../toolchain/java/JavaToolchainImpl.java | 3 +- .../ProjectDependenciesResolverTest.java | 2 +- .../resolver/ArtifactResolverTest.java | 2 +- .../transform/TransformationManagerTest.java | 4 +- .../manager/DefaultProfileManagerTest.java | 6 +- .../project/ClasspathArtifactResolver.java | 2 +- .../t00/ProjectInheritanceTest.java | 2 +- .../t02/ProjectInheritanceTest.java | 2 +- .../repository/TestRepositorySystem.java | 2 +- .../legacy/DefaultWagonManagerTest.java | 4 +- .../DefaultGraphConflictResolverTest.java | 18 +- compat/maven-embedder/pom.xml | 4 + .../apache/maven/cli/CLIReportingUtils.java | 2 +- .../java/org/apache/maven/cli/MavenCli.java | 13 +- .../org/apache/maven/cli/ResolveFile.java | 4 +- .../BootstrapCoreExtensionManager.java | 2 +- .../maven/cli/props/MavenProperties.java | 2 +- .../sisu/plexus/PlexusXmlBeanConverter.java | 8 +- .../main/java/org/fusesource/jansi/Ansi.java | 6 +- .../cli/CLIManagerDocumentationTest.java | 3 +- .../org/apache/maven/cli/MavenCliTest.java | 13 +- .../maven/cli/props/MavenPropertiesTest.java | 70 ++--- compat/maven-model-builder/pom.xml | 4 + .../model/building/DefaultModelBuilder.java | 8 +- .../building/DefaultModelBuildingResult.java | 2 +- .../building/ModelBuildingException.java | 4 +- .../reflection/IntrospectionException.java | 3 + .../JdkVersionProfileActivator.java | 2 +- .../DefaultModelBuilderFactoryTest.java | 8 +- .../building/DefaultModelBuilderTest.java | 76 +++--- .../maven/model/building/GraphTest.java | 4 +- .../AbstractModelInterpolatorTest.java | 16 +- .../profile/DefaultProfileSelectorTest.java | 2 +- .../JdkVersionProfileActivatorTest.java | 2 +- .../validation/DefaultModelValidatorTest.java | 121 +++++---- .../maven/model/DependencyManagementTest.java | 4 +- .../maven/model/pom/PomMemoryAnalyzer.java | 3 +- .../apache/maven/model/v4/ModelXmlTest.java | 32 +-- .../maven/model/v4/Xpp3DomPerfTest.java | 3 +- .../PluginDescriptorBuilderTest.java | 8 +- .../repository/metadata/MetadataTest.java | 14 +- compat/maven-resolver-provider/pom.xml | 4 + .../DefaultArtifactDescriptorReader.java | 20 +- .../internal/DefaultModelResolver.java | 18 +- .../internal/RemoteSnapshotMetadataTest.java | 2 +- .../internal/RepositorySystemTest.java | 6 +- compat/maven-settings-builder/pom.xml | 4 + .../DefaultSettingsDecryptionResult.java | 4 +- .../settings/crypto/MavenSecDispatcher.java | 5 +- .../DefaultSettingsValidatorTest.java | 16 +- compat/maven-toolchain-builder/pom.xml | 4 + .../DefaultToolchainsBuilderTest.java | 23 +- .../merge/MavenToolchainMergerTest.java | 4 +- impl/maven-cli/pom.xml | 4 + .../BootstrapCoreExtensionManager.java | 2 +- .../maven/cling/invoker/BaseParser.java | 11 +- .../maven/cling/invoker/LayeredOptions.java | 5 +- .../maven/cling/invoker/LookupInvoker.java | 5 +- .../PrecedenceCoreExtensionSelector.java | 10 +- .../invoker/cisupport/CIDetectorHelper.java | 3 +- .../invoker/mvn/LayeredMavenOptions.java | 2 +- .../maven/cling/invoker/mvn/MavenInvoker.java | 9 +- .../cling/invoker/mvnenc/EncryptInvoker.java | 2 +- .../cling/invoker/mvnenc/EncryptParser.java | 2 +- .../cling/invoker/mvnsh/ShellParser.java | 2 +- .../maven/cling/props/MavenProperties.java | 2 +- .../maven/cling/transfer/FileSizeFormat.java | 2 +- .../maven/cling/utils/CLIReportingUtils.java | 8 +- impl/maven-core/pom.xml | 4 + .../java/org/apache/maven/DefaultMaven.java | 2 +- .../java/org/apache/maven/ReactorReader.java | 2 +- .../maven/bridge/MavenRepositorySystem.java | 4 +- .../internal/DefaultBeanConfigurator.java | 3 +- .../EnhancedConfigurationConverter.java | 4 +- .../DefaultBuildResumptionDataRepository.java | 7 +- .../apache/maven/execution/MavenSession.java | 2 +- .../apache/maven/graph/ProjectSelector.java | 2 +- ...DefaultRepositorySystemSessionFactory.java | 9 +- .../aether/ReverseTreeRepositoryListener.java | 5 +- .../internal/impl/SisuDiBridgeModule.java | 2 +- ...DefaultConsumerPomArtifactTransformer.java | 7 +- .../impl/TransformedArtifact.java | 2 +- .../internal/BuildThreadFactory.java | 2 +- .../internal/DefaultLifecycleStarter.java | 5 +- .../concurrent/BuildPlanExecutor.java | 4 +- .../ConcurrentLifecycleStarter.java | 5 +- .../PluginParameterExpressionEvaluatorV4.java | 3 +- .../internal/DefaultMavenPluginManager.java | 6 +- .../DefaultPluginDependenciesResolver.java | 2 +- .../DefaultPluginValidationManager.java | 3 +- .../maven/project/DefaultProjectBuilder.java | 20 +- .../project/DefaultProjectBuildingHelper.java | 2 +- .../DefaultProjectDependenciesResolver.java | 4 +- .../maven/project/ProjectModelResolver.java | 18 +- .../org/apache/maven/DefaultMavenTest.java | 3 +- .../maven/MavenLifecycleParticipantTest.java | 4 +- .../DefaultBeanConfiguratorPathTest.java | 7 +- ...ultMavenExecutionRequestPopulatorTest.java | 4 +- .../maven/graph/DefaultGraphBuilderTest.java | 4 +- .../DefaultProjectDependencyGraphTest.java | 18 +- .../impl/DefaultProjectManagerTest.java | 3 +- .../internal/impl/DefaultSessionTest.java | 6 +- .../apache/maven/internal/impl/TestApi.java | 10 +- .../ConsumerPomArtifactTransformerTest.java | 11 +- .../impl/ConsumerPomBuilderTest.java | 11 +- .../lifecycle/DefaultLifecyclesTest.java | 2 +- .../lifecycle/LifecycleExecutorTest.java | 8 +- .../internal/BuildListCalculatorTest.java | 2 +- .../ConcurrencyDependencyGraphTest.java | 12 +- ...ifecycleTaskSegmentCalculatorImplTest.java | 2 +- .../lifecycle/internal/PhaseRecorderTest.java | 2 +- .../ConcurrencyDependencyGraphTest.java | 5 +- .../concurrent/BuildPlanCreatorTest.java | 2 +- .../lifecycle/mapping/LifecyclePhaseTest.java | 2 +- .../apache/maven/model/ModelBuilderTest.java | 4 +- .../maven/plugin/PluginManagerTest.java | 2 +- ...luginParameterExpressionEvaluatorTest.java | 13 +- ...ginParameterExpressionEvaluatorV4Test.java | 9 +- .../DefaultMavenProjectBuilderTest.java | 15 +- .../maven/project/PomConstructionTest.java | 6 +- .../maven/project/ProjectBuilderTest.java | 14 +- ...jectBuildingResultWithLocationMatcher.java | 2 +- .../maven/project/ProjectSorterTest.java | 14 +- .../CanonicalProjectBuilderTest.java | 4 +- .../PomConstructionWithSettingsTest.java | 3 +- .../maven/settings/SettingsUtilsTest.java | 2 +- .../apache/maven/di/impl/InjectorImpl.java | 2 +- .../apache/maven/di/impl/ReflectionUtils.java | 8 +- .../maven/di/impl/InjectorImplTest.java | 17 +- .../apache/maven/api/cli/ExecutorRequest.java | 9 +- .../embedded/EmbeddedMavenExecutor.java | 2 +- .../executor/forked/ForkedMavenExecutor.java | 3 +- .../executor/MavenExecutorTestSupport.java | 5 +- .../cling/executor/impl/ToolboxToolTest.java | 5 +- .../apache/maven/impl/AbstractSession.java | 2 +- .../maven/impl/DefaultArtifactResolver.java | 2 +- .../impl/DefaultJavaToolchainFactory.java | 5 +- .../maven/impl/DefaultSettingsBuilder.java | 9 +- .../apache/maven/impl/di/SessionScope.java | 6 +- .../maven/impl/model/DefaultModelBuilder.java | 10 +- .../impl/model/DefaultModelProcessor.java | 3 +- .../impl/model/DefaultModelValidator.java | 20 +- .../DefaultProfileActivationContext.java | 3 +- .../model/profile/ConditionFunctions.java | 24 +- .../impl/model/profile/ConditionParser.java | 2 +- .../profile/JdkVersionProfileActivator.java | 2 +- .../model/rootlocator/DefaultRootLocator.java | 3 +- .../maven/impl/standalone/ApiRunner.java | 7 +- .../DefaultSettingsBuilderFactoryTest.java | 3 +- .../impl/DefaultToolchainManagerTest.java | 2 +- .../maven/impl/ModelVersionParserTest.java | 6 +- .../org/apache/maven/impl/VersionTest.java | 2 +- .../impl/model/ComplexActivationTest.java | 3 +- .../impl/model/DefaultModelBuilderTest.java | 7 +- .../model/DefaultModelInterpolatorTest.java | 55 ++-- .../impl/model/DefaultModelValidatorTest.java | 118 ++++---- .../model/profile/ConditionParserTest.java | 2 +- .../ConditionProfileActivatorTest.java | 2 +- .../JdkVersionProfileActivatorTest.java | 2 +- .../resolver/DefaultModelResolverTest.java | 3 +- .../impl/standalone/RequestTraceTest.java | 7 +- .../impl/standalone/TestApiStandalone.java | 4 +- .../props-and-profiles-grand-parent.xml | 2 +- .../maven/model/v4/MavenStaxReaderTest.java | 118 ++++---- .../api/plugin/testing/MojoExtension.java | 15 +- .../api/plugin/testing/stubs/SessionMock.java | 3 +- .../testing/ExpressionEvaluatorTest.java | 5 +- .../maven/internal/xml/XmlNodeImplTest.java | 255 +++++++++--------- ...avenITmng4660OutdatedPackagedArtifact.java | 7 +- ...Tmng6754TimestampInMultimoduleProject.java | 7 +- .../MavenITmng7737ProfileActivationTest.java | 4 +- .../MavenITmng7772CoreExtensionFoundTest.java | 5 +- ...enITmng7772CoreExtensionsNotFoundTest.java | 4 +- ...avenITmng7836AlternativePomSyntaxTest.java | 5 +- .../MavenITmng8400CanonicalMavenHomeTest.java | 9 +- ...mng8414ConsumerPomWithNewFeaturesTest.java | 5 +- .../it/MavenITmng8523ModelPropertiesTest.java | 3 +- .../it/MavenITmng8527ConsumerPomTest.java | 5 +- ...45ConsumerPomDependencyManagementTest.java | 3 +- .../apache/maven/it/TestSuiteOrdering.java | 4 +- .../resources/mng-7587-jsr330/plugin/pom.xml | 2 +- .../test/resources/mng-7737-profiles/pom.xml | 6 + .../resources/mng-7737-profiles/settings.xml | 6 + .../mng-8336-unknown-packaging/pom.xml | 4 +- .../test/resources/mng-8461/extension/pom.xml | 4 +- .../mng-8525-maven-di-plugin/pom.xml | 2 +- .../resources/mng-8527-consumer-pom/pom.xml | 2 +- .../java/org/apache/maven/it/Verifier.java | 17 +- pom.xml | 22 +- src/graph/ReactorGraph.java | 6 +- 220 files changed, 1065 insertions(+), 1022 deletions(-) diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml index 75f0a243b2e1..cb0e5f264750 100644 --- a/.github/workflows/maven.yml +++ b/.github/workflows/maven.yml @@ -33,7 +33,7 @@ jobs: - name: Set up JDK uses: actions/setup-java@v4 with: - java-version: 17 + java-version: 21 distribution: 'temurin' - name: Checkout maven diff --git a/README.md b/README.md index a96b11fb7745..211206935aca 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ Do you like Apache Maven? Then [donate back to the ASF](https://www.apache.org/f Quick Build ------- If you want to bootstrap Maven, you'll need: -- Java 17+ +- Java 21+ - Maven 3.6.3 or later - Run Maven, specifying a location into which the completed Maven distro should be installed: ``` diff --git a/apache-maven/pom.xml b/apache-maven/pom.xml index d0acee6246b9..e6557cf20e84 100644 --- a/apache-maven/pom.xml +++ b/apache-maven/pom.xml @@ -118,16 +118,19 @@ under the License. javax.annotation javax.annotation-api + 1.3.2 org.eclipse.sisu org.eclipse.sisu.plexus + 0.9.0.M3 org.eclipse.sisu org.eclipse.sisu.inject + 0.9.0.M3 no_asm diff --git a/apache-maven/src/assembly/maven/bin/mvn b/apache-maven/src/assembly/maven/bin/mvn index 511e5e241fac..9b3498efdcb5 100755 --- a/apache-maven/src/assembly/maven/bin/mvn +++ b/apache-maven/src/assembly/maven/bin/mvn @@ -108,7 +108,7 @@ else fi if ! "$JAVACMD" --enable-native-access=ALL-UNNAMED -version >/dev/null 2>&1; then - echo "Error: Apache Maven 4.x requires Java 17 or newer to run." >&2 + echo "Error: Apache Maven 4.x requires Java 21 or newer to run." >&2 "$JAVACMD" -version >&2 echo "Please upgrade your Java installation or set JAVA_HOME to point to a compatible JDK." >&2 exit 1 diff --git a/apache-maven/src/assembly/maven/bin/mvn.cmd b/apache-maven/src/assembly/maven/bin/mvn.cmd index 4d292203c130..899552df7e7f 100644 --- a/apache-maven/src/assembly/maven/bin/mvn.cmd +++ b/apache-maven/src/assembly/maven/bin/mvn.cmd @@ -70,10 +70,10 @@ if not exist "%JAVACMD%" ( goto error ) -@REM Check Java version by testing the Java 17+ flag +@REM Check Java version by testing the Java 21+ flag "%JAVACMD%" --enable-native-access=ALL-UNNAMED -version >nul 2>&1 if ERRORLEVEL 1 ( - echo Error: Apache Maven 4.x requires Java 17 or newer to run. >&2 + echo Error: Apache Maven 4.x requires Java 21 or newer to run. >&2 "%JAVACMD%" -version >&2 echo Please upgrade your Java installation or set JAVA_HOME to point to a compatible JDK. >&2 goto error diff --git a/api/maven-api-core/src/main/java/org/apache/maven/api/services/MessageBuilder.java b/api/maven-api-core/src/main/java/org/apache/maven/api/services/MessageBuilder.java index ae0d249c334c..b5b5dd18c8e8 100644 --- a/api/maven-api-core/src/main/java/org/apache/maven/api/services/MessageBuilder.java +++ b/api/maven-api-core/src/main/java/org/apache/maven/api/services/MessageBuilder.java @@ -245,7 +245,7 @@ default MessageBuilder newline() { /** * Append formatted content to the buffer. - * @see String#format(String, Object...) + * @see String#formatted(Object...) * * @param pattern a format string * @param args arguments referenced by the format specifiers in the format string @@ -253,7 +253,7 @@ default MessageBuilder newline() { */ @Nonnull default MessageBuilder format(String pattern, Object... args) { - return append(String.format(pattern, args)); + return append(pattern.formatted(args)); } /** diff --git a/api/maven-api-core/src/main/java/org/apache/maven/api/services/ProblemCollector.java b/api/maven-api-core/src/main/java/org/apache/maven/api/services/ProblemCollector.java index 6e5a9d29f646..d2380f3a2e0d 100644 --- a/api/maven-api-core/src/main/java/org/apache/maven/api/services/ProblemCollector.java +++ b/api/maven-api-core/src/main/java/org/apache/maven/api/services/ProblemCollector.java @@ -274,7 +274,7 @@ private boolean dropProblemWithLowerSeverity(BuilderProblem.Severity severity) { List

problems = getProblems(s); while (!problems.isEmpty()) { try { - return problems.remove(0) != null; + return problems.removeFirst() != null; } catch (IndexOutOfBoundsException e) { // empty, continue } diff --git a/api/maven-api-core/src/main/java/org/apache/maven/api/services/VersionRangeResolverResult.java b/api/maven-api-core/src/main/java/org/apache/maven/api/services/VersionRangeResolverResult.java index 798190c0a08e..b29f8ee46d0c 100644 --- a/api/maven-api-core/src/main/java/org/apache/maven/api/services/VersionRangeResolverResult.java +++ b/api/maven-api-core/src/main/java/org/apache/maven/api/services/VersionRangeResolverResult.java @@ -65,7 +65,7 @@ public interface VersionRangeResolverResult extends Result getLowestVersion() { return getVersions().isEmpty() ? Optional.empty() - : Optional.of(getVersions().get(0)); + : Optional.of(getVersions().getFirst()); } /** diff --git a/api/maven-api-core/src/test/java/org/apache/maven/api/services/SourcesTest.java b/api/maven-api-core/src/test/java/org/apache/maven/api/services/SourcesTest.java index f9abbe66d28b..f4a6e6ecba81 100644 --- a/api/maven-api-core/src/test/java/org/apache/maven/api/services/SourcesTest.java +++ b/api/maven-api-core/src/test/java/org/apache/maven/api/services/SourcesTest.java @@ -22,7 +22,6 @@ import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; @@ -44,7 +43,7 @@ class SourcesTest { @Test void testFromPath() { - Path path = Paths.get("/tmp"); + Path path = Path.of("/tmp"); Source source = Sources.fromPath(path); assertNotNull(source); @@ -54,7 +53,7 @@ void testFromPath() { @Test void testBuildSource() { - Path path = Paths.get("/tmp"); + Path path = Path.of("/tmp"); ModelSource source = Sources.buildSource(path); assertNotNull(source); @@ -64,7 +63,7 @@ void testBuildSource() { @Test void testResolvedSource() { - Path path = Paths.get("/tmp"); + Path path = Path.of("/tmp"); String location = "custom-location"; ModelSource source = Sources.resolvedSource(path, location); @@ -77,7 +76,7 @@ void testResolvedSource() { @Test void testPathSourceFunctionality() { // Test basic source functionality - Path path = Paths.get("/tmp"); + Path path = Path.of("/tmp"); Sources.PathSource source = (Sources.PathSource) Sources.fromPath(path); assertEquals(path.normalize(), source.getPath()); @@ -91,9 +90,9 @@ void testPathSourceFunctionality() { @Test void testBuildPathSourceFunctionality() { // Test build source functionality - Path basePath = Paths.get("/tmp"); + Path basePath = Path.of("/tmp"); ModelSource.ModelLocator locator = mock(ModelSource.ModelLocator.class); - Path resolvedPath = Paths.get("/tmp/subproject/pom.xml"); + Path resolvedPath = Path.of("/tmp/subproject/pom.xml"); when(locator.locateExistingPom(any(Path.class))).thenReturn(resolvedPath); Sources.BuildPathSource source = (Sources.BuildPathSource) Sources.buildSource(basePath); @@ -109,7 +108,7 @@ void testBuildPathSourceFunctionality() { @Test void testResolvedPathSourceFunctionality() { // Test resolved source functionality - Path path = Paths.get("/tmp"); + Path path = Path.of("/tmp"); String location = "custom-location"; Sources.ResolvedPathSource source = (Sources.ResolvedPathSource) Sources.resolvedSource(path, location); diff --git a/api/maven-api-di/pom.xml b/api/maven-api-di/pom.xml index 984a496d0d90..c9df0de6ef8c 100644 --- a/api/maven-api-di/pom.xml +++ b/api/maven-api-di/pom.xml @@ -33,4 +33,11 @@ none + + + jakarta.annotation + jakarta.annotation-api + 1.3.5 + + diff --git a/api/maven-api-model/src/main/java/org/apache/maven/api/model/InputLocation.java b/api/maven-api-model/src/main/java/org/apache/maven/api/model/InputLocation.java index 60f50addbe08..5ad6b59ad4c6 100644 --- a/api/maven-api-model/src/main/java/org/apache/maven/api/model/InputLocation.java +++ b/api/maven-api-model/src/main/java/org/apache/maven/api/model/InputLocation.java @@ -201,6 +201,6 @@ public interface StringFormatter { @Override public String toString() { - return String.format("%s @ %d:%d", source != null ? source.getLocation() : "n/a", lineNumber, columnNumber); + return "%s @ %d:%d".formatted(source != null ? source.getLocation() : "n/a", lineNumber, columnNumber); } } diff --git a/api/maven-api-model/src/main/mdo/maven.mdo b/api/maven-api-model/src/main/mdo/maven.mdo index 0aff238fd24e..e4beedee27ca 100644 --- a/api/maven-api-model/src/main/mdo/maven.mdo +++ b/api/maven-api-model/src/main/mdo/maven.mdo @@ -2107,7 +2107,7 @@

If a target version, different from the base version, is specified for resources or script files, then this value modifies the directory where the files will be copied. - For example, if {@code targetVersion} is 17, then the {@code foo/bar.properties} + For example, if {@code targetVersion} is 21, then the {@code foo/bar.properties} resource file will be copied as {@code META-INF/versions/17/foo/bar.properties}.

This element can be combined with the {@code module} element for specifying sources, diff --git a/compat/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java b/compat/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java index f8459d55a7b3..ab89ef567302 100644 --- a/compat/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java +++ b/compat/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java @@ -19,7 +19,6 @@ package org.apache.maven.artifact.repository; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import org.apache.maven.artifact.Artifact; @@ -48,7 +47,7 @@ public interface ArtifactRepository { String getBasedir(); default Path getBasedirPath() { - return Paths.get(getBasedir()); + return Path.of(getBasedir()); } String getProtocol(); diff --git a/compat/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ComparableVersion.java b/compat/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ComparableVersion.java index 6f84a85bd3e8..3a635ea142d1 100644 --- a/compat/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ComparableVersion.java +++ b/compat/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/ComparableVersion.java @@ -543,7 +543,7 @@ void normalize() { if (i == size() - 1 || get(i + 1).getType() == STRING_ITEM) { remove(i); } else if (get(i + 1).getType() == LIST_ITEM) { - Item item = ((ListItem) get(i + 1)).get(0); + Item item = ((ListItem) get(i + 1)).getFirst(); if (item.getType() == COMBINATION_ITEM || item.getType() == STRING_ITEM) { remove(i); } diff --git a/compat/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java b/compat/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java index a78591dafd76..7b0c539a447a 100644 --- a/compat/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java +++ b/compat/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionIT.java @@ -23,7 +23,6 @@ import java.nio.file.FileVisitResult; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; import java.util.regex.Pattern; @@ -36,7 +35,7 @@ class ComparableVersionIT { @Test void test() throws Exception { - Files.walkFileTree(Paths.get("target"), new SimpleFileVisitor() { + Files.walkFileTree(Path.of("target"), new SimpleFileVisitor() { Pattern mavenArtifactJar = Pattern.compile("maven-artifact-[\\d.]+(-SNAPSHOT)?\\.jar"); @Override @@ -44,7 +43,7 @@ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IO String filename = file.getFileName().toString(); if (mavenArtifactJar.matcher(filename).matches()) { Process p = Runtime.getRuntime().exec(new String[] { - Paths.get(System.getProperty("java.home"), "bin/java").toString(), + Path.of(System.getProperty("java.home"), "bin/java").toString(), "-jar", file.toAbsolutePath().toString(), "5.32", @@ -64,7 +63,7 @@ public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IO @Override public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { - if (Paths.get("target").equals(dir)) { + if (Path.of("target").equals(dir)) { return FileVisitResult.CONTINUE; } else { return FileVisitResult.SKIP_SUBTREE; diff --git a/compat/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java b/compat/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java index 11561aa16689..f849af7e3943 100644 --- a/compat/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java +++ b/compat/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/ComparableVersionTest.java @@ -437,7 +437,7 @@ void testMng6964() { @Test void testLocaleIndependent() { Locale orig = Locale.getDefault(); - Locale[] locales = {Locale.ENGLISH, new Locale("tr"), Locale.getDefault()}; + Locale[] locales = {Locale.ENGLISH, Locale.of("tr"), Locale.getDefault()}; try { for (Locale locale : locales) { Locale.setDefault(locale); diff --git a/compat/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java b/compat/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java index 8ccf5bcca4f2..1c465e852a11 100644 --- a/compat/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java +++ b/compat/maven-artifact/src/test/java/org/apache/maven/artifact/versioning/VersionRangeTest.java @@ -58,7 +58,7 @@ void testRange() throws InvalidVersionSpecificationException, OverConstrainedVer VersionRange range = VersionRange.createFromVersionSpec("(,1.0]"); List restrictions = range.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - Restriction restriction = restrictions.get(0); + Restriction restriction = restrictions.getFirst(); assertNull(restriction.getLowerBound(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.0", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -71,7 +71,7 @@ void testRange() throws InvalidVersionSpecificationException, OverConstrainedVer assertEquals("1.0", range.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION); restrictions = range.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertNull(restriction.getLowerBound(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertNull(restriction.getUpperBound(), CHECK_UPPER_BOUND); @@ -82,7 +82,7 @@ void testRange() throws InvalidVersionSpecificationException, OverConstrainedVer range = VersionRange.createFromVersionSpec("[1.0]"); restrictions = range.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.0", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.0", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -94,7 +94,7 @@ void testRange() throws InvalidVersionSpecificationException, OverConstrainedVer range = VersionRange.createFromVersionSpec("[1.2,1.3]"); restrictions = range.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -106,7 +106,7 @@ void testRange() throws InvalidVersionSpecificationException, OverConstrainedVer range = VersionRange.createFromVersionSpec("[1.0,2.0)"); restrictions = range.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.0", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("2.0", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -118,7 +118,7 @@ void testRange() throws InvalidVersionSpecificationException, OverConstrainedVer range = VersionRange.createFromVersionSpec("[1.5,)"); restrictions = range.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.5", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertNull(restriction.getUpperBound(), CHECK_UPPER_BOUND); @@ -130,7 +130,7 @@ void testRange() throws InvalidVersionSpecificationException, OverConstrainedVer range = VersionRange.createFromVersionSpec("(,1.0],[1.2,)"); restrictions = range.getRestrictions(); assertEquals(2, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertNull(restriction.getLowerBound(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.0", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -192,7 +192,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertEquals("1.0", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION); List restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - Restriction restriction = restrictions.get(0); + Restriction restriction = restrictions.getFirst(); assertNull(restriction.getLowerBound(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertNull(restriction.getUpperBound(), CHECK_UPPER_BOUND); @@ -202,7 +202,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertEquals("1.1", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertNull(restriction.getLowerBound(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertNull(restriction.getUpperBound(), CHECK_UPPER_BOUND); @@ -215,7 +215,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertEquals("1.1", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.0", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertNull(restriction.getUpperBound(), CHECK_UPPER_BOUND); @@ -227,7 +227,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertEquals("1.1", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertNull(restriction.getUpperBound(), CHECK_UPPER_BOUND); @@ -239,7 +239,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertEquals("1.1", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.1", restriction.getLowerBound().toString(), CHECK_UPPER_BOUND); @@ -251,7 +251,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertNull(restriction.getUpperBound(), CHECK_UPPER_BOUND); @@ -263,7 +263,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertNull(restriction.getUpperBound(), CHECK_UPPER_BOUND); @@ -275,7 +275,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertEquals("1.1", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertNull(restriction.getLowerBound(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -287,7 +287,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertEquals("1.1", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertNull(restriction.getLowerBound(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.1", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -299,7 +299,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertNull(restriction.getLowerBound(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.1", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -311,7 +311,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertNull(restriction.getLowerBound(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.0", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -323,7 +323,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertEquals("1.2", mergedRange.getRecommendedVersion().toString(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(2, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertNull(restriction.getLowerBound(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.0", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -340,7 +340,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(2, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertNull(restriction.getLowerBound(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.0", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -357,7 +357,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(2, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertNull(restriction.getLowerBound(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.1", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -374,7 +374,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -386,7 +386,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -398,7 +398,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -410,7 +410,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -422,7 +422,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -434,7 +434,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -446,7 +446,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.2", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.3", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -458,7 +458,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.1", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -477,7 +477,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.1", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -489,7 +489,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(1, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.4", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.4", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -501,7 +501,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(2, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -518,7 +518,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(2, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -535,7 +535,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(2, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -552,7 +552,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(2, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertFalse(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -590,7 +590,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(2, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -607,7 +607,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(3, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); @@ -629,7 +629,7 @@ void testIntersections() throws InvalidVersionSpecificationException { assertNull(mergedRange.getRecommendedVersion(), CHECK_VERSION_RECOMMENDATION); restrictions = mergedRange.getRestrictions(); assertEquals(3, restrictions.size(), CHECK_NUM_RESTRICTIONS); - restriction = restrictions.get(0); + restriction = restrictions.getFirst(); assertEquals("1.1", restriction.getLowerBound().toString(), CHECK_LOWER_BOUND); assertTrue(restriction.isLowerBoundInclusive(), CHECK_LOWER_BOUND_INCLUSIVE); assertEquals("1.2", restriction.getUpperBound().toString(), CHECK_UPPER_BOUND); diff --git a/compat/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java b/compat/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java index 4ff6750e5ad0..36d8df4341fd 100644 --- a/compat/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java +++ b/compat/maven-builder-support/src/test/java/org/apache/maven/building/DefaultProblemCollectorTest.java @@ -40,7 +40,7 @@ void testGetProblems() { assertEquals(2, collector.getProblems().size()); - Problem p1 = collector.getProblems().get(0); + Problem p1 = collector.getProblems().getFirst(); assertEquals(Severity.ERROR, p1.getSeverity()); assertEquals("MESSAGE1", p1.getMessage()); assertEquals(-1, p1.getLineNumber()); @@ -67,7 +67,7 @@ void testSetSource() { collector.setSource("SOURCE_PROBLEM3"); collector.add(null, "PROBLEM3", -1, -1, null); - assertEquals("", collector.getProblems().get(0).getSource()); + assertEquals("", collector.getProblems().getFirst().getSource()); assertEquals("SOURCE_PROBLEM2", collector.getProblems().get(1).getSource()); assertEquals("SOURCE_PROBLEM3", collector.getProblems().get(2).getSource()); } diff --git a/compat/maven-compat/pom.xml b/compat/maven-compat/pom.xml index a5a9d6047782..a113f10337f6 100644 --- a/compat/maven-compat/pom.xml +++ b/compat/maven-compat/pom.xml @@ -32,6 +32,10 @@ under the License. Deprecated Maven2 classes maintained as compatibility layer. + + jakarta.inject + jakarta.inject-api + org.apache.maven maven-api-annotations diff --git a/compat/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultResolutionErrorHandler.java b/compat/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultResolutionErrorHandler.java index d2311e737f86..0c33adc38481 100644 --- a/compat/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultResolutionErrorHandler.java +++ b/compat/maven-compat/src/main/java/org/apache/maven/artifact/resolver/DefaultResolutionErrorHandler.java @@ -57,7 +57,7 @@ public void throwErrors(ArtifactResolutionRequest request, ArtifactResolutionRes // Transfer Error if (result.hasErrorArtifactExceptions()) { - throw result.getErrorArtifactExceptions().get(0); + throw result.getErrorArtifactExceptions().getFirst(); } if (result.hasMissingArtifacts()) { diff --git a/compat/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java b/compat/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java index 16e621719726..3d95afa7aa1f 100644 --- a/compat/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java +++ b/compat/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java @@ -135,7 +135,7 @@ private List getTrail() throws OverConstrainedVersionException { } } - ids.add(0, artifact); + ids.addFirst(artifact); node = node.parent; } trail = ids; diff --git a/compat/maven-compat/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java b/compat/maven-compat/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java index 6727261059aa..c62b6c41455e 100644 --- a/compat/maven-compat/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java +++ b/compat/maven-compat/src/main/java/org/apache/maven/profiles/DefaultProfileManager.java @@ -171,7 +171,7 @@ public List getActiveProfiles() throws ProfileActivationException { }); if (!errors.isEmpty()) { - throw errors.get(0); + throw errors.getFirst(); } return profiles; diff --git a/compat/maven-compat/src/main/java/org/apache/maven/profiles/activation/ProfileActivationException.java b/compat/maven-compat/src/main/java/org/apache/maven/profiles/activation/ProfileActivationException.java index 5215d9e19178..bcfee3e17062 100644 --- a/compat/maven-compat/src/main/java/org/apache/maven/profiles/activation/ProfileActivationException.java +++ b/compat/maven-compat/src/main/java/org/apache/maven/profiles/activation/ProfileActivationException.java @@ -18,12 +18,15 @@ */ package org.apache.maven.profiles.activation; +import java.io.Serial; + /** * ProfileActivationException */ @Deprecated public class ProfileActivationException extends Exception { + @Serial private static final long serialVersionUID = -90820222109103638L; public ProfileActivationException(String message, Throwable cause) { diff --git a/compat/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java b/compat/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java index 49c8fa645af0..5a94240f74b1 100644 --- a/compat/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java +++ b/compat/maven-compat/src/main/java/org/apache/maven/repository/legacy/DefaultWagonManager.java @@ -27,7 +27,7 @@ import java.lang.reflect.Method; import java.nio.charset.StandardCharsets; import java.nio.file.Files; -import java.nio.file.Paths; +import java.nio.file.Path; import java.nio.file.StandardCopyOption; import java.nio.file.StandardOpenOption; import java.security.NoSuchAlgorithmException; @@ -541,7 +541,7 @@ public void putRemoteFile( temp.deleteOnExit(); byte[] bytes = sums.get(extension).getBytes(StandardCharsets.UTF_8); Files.write( - Paths.get(temp.getAbsolutePath()), bytes, StandardOpenOption.APPEND, StandardOpenOption.CREATE); + Path.of(temp.getAbsolutePath()), bytes, StandardOpenOption.APPEND, StandardOpenOption.CREATE); temporaryFiles.add(temp); wagon.put(temp, remotePath + "." + extension); diff --git a/compat/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java b/compat/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java index 9f6191c9fbfd..bc4d3238242b 100644 --- a/compat/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java +++ b/compat/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java @@ -137,8 +137,8 @@ public Artifact createDependencyArtifact(Dependency d) { } catch (InvalidVersionSpecificationException e) { // MNG-5368: Log a message instead of returning 'null' silently. this.logger.error( - String.format( - "Invalid version specification '%s' creating dependency artifact '%s'.", d.getVersion(), d), + "Invalid version specification '%s' creating dependency artifact '%s'." + .formatted(d.getVersion(), d), e); return null; } @@ -176,9 +176,8 @@ public Artifact createExtensionArtifact(String groupId, String artifactId, Strin } catch (InvalidVersionSpecificationException e) { // MNG-5368: Log a message instead of returning 'null' silently. this.logger.error( - String.format( - "Invalid version specification '%s' creating extension artifact '%s:%s:%s'.", - version, groupId, artifactId, version), + "Invalid version specification '%s' creating extension artifact '%s:%s:%s'." + .formatted(version, groupId, artifactId, version), e); return null; @@ -203,8 +202,7 @@ public Artifact createPluginArtifact(Plugin plugin) { } catch (InvalidVersionSpecificationException e) { // MNG-5368: Log a message instead of returning 'null' silently. this.logger.error( - String.format("Invalid version specification '%s' creating plugin artifact '%s'.", version, plugin), - e); + "Invalid version specification '%s' creating plugin artifact '%s'.".formatted(version, plugin), e); return null; } @@ -368,7 +366,7 @@ public List getEffectiveRepositories(List artifacts = project.getCompileArtifacts(); assertEquals(1, artifacts.size()); - assertThat(artifacts.get(0).getFile().getName(), endsWith("tools.jar")); + assertThat(artifacts.getFirst().getFile().getName(), endsWith("tools.jar")); } } diff --git a/compat/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java b/compat/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java index 30ade70a919b..a4c644fcfc86 100644 --- a/compat/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java +++ b/compat/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java @@ -181,7 +181,7 @@ public void testReadRepoFromModel() throws Exception { ResolutionGroup group = source.retrieve(artifact, localRepository(), new ArrayList<>()); List repositories = group.getResolutionRepositories(); assertEquals(1, repositories.size(), "There should be one repository!"); - ArtifactRepository repository = repositories.get(0); + ArtifactRepository repository = repositories.getFirst(); assertEquals(TestMavenWorkspaceReader.REPO_ID, repository.getId()); assertEquals(TestMavenWorkspaceReader.REPO_URL, repository.getUrl()); } diff --git a/compat/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java b/compat/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java index 4e76243abe66..cb50f7504c59 100644 --- a/compat/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java +++ b/compat/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java @@ -46,8 +46,8 @@ void testTransformationManager() { assertEquals(3, tms.size()); assertTrue( - tms.get(0) instanceof ReleaseArtifactTransformation, - "We expected the release transformation and got " + tms.get(0)); + tms.getFirst() instanceof ReleaseArtifactTransformation, + "We expected the release transformation and got " + tms.getFirst()); assertTrue( tms.get(1) instanceof LatestArtifactTransformation, diff --git a/compat/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java b/compat/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java index d0d798b7e007..68110ccec686 100644 --- a/compat/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java +++ b/compat/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java @@ -77,7 +77,7 @@ void testShouldActivateDefaultProfile() throws Exception { assertNotNull(active); assertEquals(1, active.size()); - assertEquals("defaultActivated", ((Profile) active.get(0)).getId()); + assertEquals("defaultActivated", ((Profile) active.getFirst()).getId()); } @Test @@ -114,7 +114,7 @@ void testShouldNotActivateDefaultProfile() throws Exception { assertNotNull(active); assertEquals(1, active.size()); - assertEquals("syspropActivated", ((Profile) active.get(0)).getId()); + assertEquals("syspropActivated", ((Profile) active.getFirst()).getId()); } @Test @@ -169,7 +169,7 @@ void testShouldOverrideAndActivateInactiveProfile() throws Exception { assertNotNull(active); assertEquals(1, active.size()); - assertEquals("syspropActivated", ((Profile) active.get(0)).getId()); + assertEquals("syspropActivated", ((Profile) active.getFirst()).getId()); } @Test diff --git a/compat/maven-compat/src/test/java/org/apache/maven/project/ClasspathArtifactResolver.java b/compat/maven-compat/src/test/java/org/apache/maven/project/ClasspathArtifactResolver.java index a95bcdf09123..db6aea8988d0 100644 --- a/compat/maven-compat/src/test/java/org/apache/maven/project/ClasspathArtifactResolver.java +++ b/compat/maven-compat/src/test/java/org/apache/maven/project/ClasspathArtifactResolver.java @@ -75,6 +75,6 @@ public List resolveArtifacts( public ArtifactResult resolveArtifact(RepositorySystemSession session, ArtifactRequest request) throws ArtifactResolutionException { - return resolveArtifacts(session, Collections.singleton(request)).get(0); + return resolveArtifacts(session, Collections.singleton(request)).getFirst(); } } diff --git a/compat/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java b/compat/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java index 88f0ddcc3581..9d0505740d1c 100644 --- a/compat/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java +++ b/compat/maven-compat/src/test/java/org/apache/maven/project/inheritance/t00/ProjectInheritanceTest.java @@ -66,7 +66,7 @@ void testProjectInheritance() throws Exception { // Value taken from p2 // ---------------------------------------------------------------------- - assertEquals("mailing-list", p4.getMailingLists().get(0).getName()); + assertEquals("mailing-list", p4.getMailingLists().getFirst().getName()); // ---------------------------------------------------------------------- // Value taken from p1 diff --git a/compat/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java b/compat/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java index b277dad26d7f..fe5074b46c86 100644 --- a/compat/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java +++ b/compat/maven-compat/src/test/java/org/apache/maven/project/inheritance/t02/ProjectInheritanceTest.java @@ -99,7 +99,7 @@ void testProjectInheritance() throws Exception { // Value taken from p2 // ---------------------------------------------------------------------- - assertEquals("mailing-list", project4.getMailingLists().get(0).getName()); + assertEquals("mailing-list", project4.getMailingLists().getFirst().getName()); // ---------------------------------------------------------------------- // Value taken from p1 diff --git a/compat/maven-compat/src/test/java/org/apache/maven/repository/TestRepositorySystem.java b/compat/maven-compat/src/test/java/org/apache/maven/repository/TestRepositorySystem.java index c2921c3cac98..b815d9c07dab 100644 --- a/compat/maven-compat/src/test/java/org/apache/maven/repository/TestRepositorySystem.java +++ b/compat/maven-compat/src/test/java/org/apache/maven/repository/TestRepositorySystem.java @@ -290,7 +290,7 @@ private void resolve(Artifact artifact, ArtifactResolutionRequest request) throw throw new IOException(localFile + " does not exist and no remote repositories are configured"); } - ArtifactRepository remoteRepo = request.getRemoteRepositories().get(0); + ArtifactRepository remoteRepo = request.getRemoteRepositories().getFirst(); File remoteFile = new File(remoteRepo.getBasedir(), remoteRepo.pathOf(artifact)); diff --git a/compat/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java b/compat/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java index 3d2c596ee801..21cfeae02503 100644 --- a/compat/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java +++ b/compat/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java @@ -82,9 +82,9 @@ void testUnnecessaryRepositoryLookup() throws Exception { "repo2", "string://url2", new ArtifactRepositoryLayoutStub(), null, null)); StringWagon wagon = (StringWagon) wagonManager.getWagon("string"); - wagon.addExpectedContent(repos.get(0).getLayout().pathOf(artifact), "expected"); + wagon.addExpectedContent(repos.getFirst().getLayout().pathOf(artifact), "expected"); wagon.addExpectedContent( - repos.get(0).getLayout().pathOf(artifact) + ".md5", "cd26d9e10ce691cc69aa2b90dcebbdac"); + repos.getFirst().getLayout().pathOf(artifact) + ".md5", "cd26d9e10ce691cc69aa2b90dcebbdac"); wagon.addExpectedContent(repos.get(1).getLayout().pathOf(artifact), "expected"); wagon.addExpectedContent( repos.get(1).getLayout().pathOf(artifact) + ".md5", "cd26d9e10ce691cc69aa2b90dcebbdac"); diff --git a/compat/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java b/compat/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java index 94625d1fc0e9..145a966d2d9b 100644 --- a/compat/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java +++ b/compat/maven-compat/src/test/java/org/apache/maven/repository/metadata/DefaultGraphConflictResolverTest.java @@ -98,21 +98,21 @@ void testCompileResolution() throws Exception { "wrong # of v2 incident edges in the resulting graph after resolver"); assertEquals( "1.2", - res.getIncidentEdges(v2).get(0).getVersion(), + res.getIncidentEdges(v2).getFirst().getVersion(), "wrong edge v1-v2 in the resulting graph after resolver"); assertEquals( 1, res.getIncidentEdges(v3).size(), "wrong # of edges v1-v3 in the resulting graph after resolver"); assertEquals( "1.1", - res.getIncidentEdges(v3).get(0).getVersion(), + res.getIncidentEdges(v3).getFirst().getVersion(), "wrong edge v1-v3 in the resulting graph after resolver"); assertEquals( 1, res.getIncidentEdges(v4).size(), "wrong # of edges v3-v4 in the resulting graph after resolver"); assertEquals( "1.2", - res.getIncidentEdges(v4).get(0).getVersion(), + res.getIncidentEdges(v4).getFirst().getVersion(), "wrong edge v3-v4 in the resulting graph after resolver"); } @@ -139,21 +139,21 @@ void testRuntimeResolution() throws Exception { "wrong # of v2 incident edges in the resulting graph after resolver"); assertEquals( "1.2", - res.getIncidentEdges(v2).get(0).getVersion(), + res.getIncidentEdges(v2).getFirst().getVersion(), "wrong edge v1-v2 in the resulting graph after resolver"); assertEquals( 1, res.getIncidentEdges(v3).size(), "wrong # of edges v1-v3 in the resulting graph after resolver"); assertEquals( "1.1", - res.getIncidentEdges(v3).get(0).getVersion(), + res.getIncidentEdges(v3).getFirst().getVersion(), "wrong edge v1-v3 in the resulting graph after resolver"); assertEquals( 1, res.getIncidentEdges(v4).size(), "wrong # of edges v3-v4 in the resulting graph after resolver"); assertEquals( "1.1", - res.getIncidentEdges(v4).get(0).getVersion(), + res.getIncidentEdges(v4).getFirst().getVersion(), "wrong edge v3-v4 in the resulting graph after resolver"); } @@ -180,21 +180,21 @@ void testTestResolution() throws Exception { "wrong # of v2 incident edges in the resulting graph after resolver"); assertEquals( "1.2", - res.getIncidentEdges(v2).get(0).getVersion(), + res.getIncidentEdges(v2).getFirst().getVersion(), "wrong edge v1-v2 in the resulting graph after resolver"); assertEquals( 1, res.getIncidentEdges(v3).size(), "wrong # of edges v1-v3 in the resulting graph after resolver"); assertEquals( "1.1", - res.getIncidentEdges(v3).get(0).getVersion(), + res.getIncidentEdges(v3).getFirst().getVersion(), "wrong edge v1-v3 in the resulting graph after resolver"); assertEquals( 1, res.getIncidentEdges(v4).size(), "wrong # of edges v3-v4 in the resulting graph after resolver"); assertEquals( "1.2", - res.getIncidentEdges(v4).get(0).getVersion(), + res.getIncidentEdges(v4).getFirst().getVersion(), "wrong edge v3-v4 in the resulting graph after resolver"); } // ------------------------------------------------------------------------------------------ diff --git a/compat/maven-embedder/pom.xml b/compat/maven-embedder/pom.xml index cd260db90f7f..1f95d7779f40 100644 --- a/compat/maven-embedder/pom.xml +++ b/compat/maven-embedder/pom.xml @@ -162,6 +162,10 @@ under the License. commons-cli commons-cli + + jakarta.inject + jakarta.inject-api + ch.qos.logback diff --git a/compat/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java b/compat/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java index 40005dcc5d4a..843223a907e7 100644 --- a/compat/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java +++ b/compat/maven-embedder/src/main/java/org/apache/maven/cli/CLIReportingUtils.java @@ -199,6 +199,6 @@ public static String formatDuration(long duration) { format = "%4$d.%5$03d s"; } - return String.format(format, d, h, m, s, ms); + return format.formatted(d, h, m, s, ms); } } diff --git a/compat/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/compat/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java index d36824bc60d6..bf114b2546a8 100644 --- a/compat/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java +++ b/compat/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java @@ -1025,8 +1025,8 @@ private int execute(CliRequest cliRequest) throws MavenExecutionRequestPopulatio // Sort the failedProjects list in the topologically sorted order. failedProjects.sort(comparing(sortedProjects::indexOf)); - MavenProject firstFailedProject = failedProjects.get(0); - if (!firstFailedProject.equals(sortedProjects.get(0))) { + MavenProject firstFailedProject = failedProjects.getFirst(); + if (!firstFailedProject.equals(sortedProjects.getFirst())) { String resumeFromSelector = getResumeFromSelector(sortedProjects, firstFailedProject); logBuildResumeHint("mvn [args] -rf " + resumeFromSelector); } @@ -1179,15 +1179,14 @@ private void configure(CliRequest cliRequest) throws Exception { // // There are too many ConfigurationProcessors so we don't know which one to run so report the error. // - StringBuilder sb = new StringBuilder(String.format( - "%nThere can only be one user supplied ConfigurationProcessor, there are %s:%n%n", - userSuppliedConfigurationProcessorCount)); + StringBuilder sb = + new StringBuilder("%nThere can only be one user supplied ConfigurationProcessor, there are %s:%n%n" + .formatted(userSuppliedConfigurationProcessorCount)); for (Entry entry : configurationProcessors.entrySet()) { String hint = entry.getKey(); if (!hint.equals(SettingsXmlConfigurationProcessor.HINT)) { ConfigurationProcessor configurationProcessor = entry.getValue(); - sb.append(String.format( - "%s%n", configurationProcessor.getClass().getName())); + sb.append("%s%n".formatted(configurationProcessor.getClass().getName())); } } throw new Exception(sb.toString()); diff --git a/compat/maven-embedder/src/main/java/org/apache/maven/cli/ResolveFile.java b/compat/maven-embedder/src/main/java/org/apache/maven/cli/ResolveFile.java index 16942d0b0056..8fb5e7c16734 100644 --- a/compat/maven-embedder/src/main/java/org/apache/maven/cli/ResolveFile.java +++ b/compat/maven-embedder/src/main/java/org/apache/maven/cli/ResolveFile.java @@ -19,7 +19,7 @@ package org.apache.maven.cli; import java.io.File; -import java.nio.file.Paths; +import java.nio.file.Path; /** * Resolve relative file path against the given base directory @@ -35,7 +35,7 @@ public static File resolveFile(File file, String baseDirectory) { // drive-relative Windows path return file.getAbsoluteFile(); } else { - return Paths.get(baseDirectory, file.getPath()).normalize().toFile(); + return Path.of(baseDirectory, file.getPath()).normalize().toFile(); } } } diff --git a/compat/maven-embedder/src/main/java/org/apache/maven/cli/internal/BootstrapCoreExtensionManager.java b/compat/maven-embedder/src/main/java/org/apache/maven/cli/internal/BootstrapCoreExtensionManager.java index 321bde249d82..7220551e81ef 100644 --- a/compat/maven-embedder/src/main/java/org/apache/maven/cli/internal/BootstrapCoreExtensionManager.java +++ b/compat/maven-embedder/src/main/java/org/apache/maven/cli/internal/BootstrapCoreExtensionManager.java @@ -198,7 +198,7 @@ private CoreExtensionEntry createExtension(CoreExtension extension, List commentLines, List valueLines valueLines.add(escapedKey + "="); sb.append(escapedKey).append("="); } else { - String val0 = valueLines.get(0); + String val0 = valueLines.getFirst(); String rv0 = typed ? val0 : escapeJava(val0); if (!val0.trim().startsWith(escapedKey)) { valueLines.set(0, escapedKey + " = " + rv0 /*+ (0 < lastLine? "\\": "")*/); diff --git a/compat/maven-embedder/src/main/java/org/eclipse/sisu/plexus/PlexusXmlBeanConverter.java b/compat/maven-embedder/src/main/java/org/eclipse/sisu/plexus/PlexusXmlBeanConverter.java index 5f06757069ff..d18cd98b37b8 100644 --- a/compat/maven-embedder/src/main/java/org/eclipse/sisu/plexus/PlexusXmlBeanConverter.java +++ b/compat/maven-embedder/src/main/java/org/eclipse/sisu/plexus/PlexusXmlBeanConverter.java @@ -90,7 +90,7 @@ public Object convert(final TypeLiteral role, final String value) { return parse(parser, role); } catch (final Exception e) { - throw new IllegalArgumentException(String.format(CONVERSION_ERROR, value, role), e); + throw new IllegalArgumentException(CONVERSION_ERROR.formatted(value, role), e); } } @@ -327,7 +327,7 @@ private static Class loadImplementation(final String name, final Class def */ private static T newImplementation(final Class clazz) { try { - return clazz.newInstance(); + return clazz.getDeclaredConstructor().newInstance(); } catch (final Exception e) { throw new IllegalArgumentException("Cannot create instance of: " + clazz, e); } catch (final LinkageError e) { @@ -347,9 +347,9 @@ private static T newImplementation(final Class clazz, final String value) return clazz.getConstructor(String.class).newInstance(value); } catch (final Exception e) { final Throwable cause = e instanceof InvocationTargetException ? e.getCause() : e; - throw new IllegalArgumentException(String.format(CONVERSION_ERROR, value, clazz), cause); + throw new IllegalArgumentException(CONVERSION_ERROR.formatted(value, clazz), cause); } catch (final LinkageError e) { - throw new IllegalArgumentException(String.format(CONVERSION_ERROR, value, clazz), e); + throw new IllegalArgumentException(CONVERSION_ERROR.formatted(value, clazz), e); } } diff --git a/compat/maven-embedder/src/main/java/org/fusesource/jansi/Ansi.java b/compat/maven-embedder/src/main/java/org/fusesource/jansi/Ansi.java index f861da0098b0..a6c88d724048 100644 --- a/compat/maven-embedder/src/main/java/org/fusesource/jansi/Ansi.java +++ b/compat/maven-embedder/src/main/java/org/fusesource/jansi/Ansi.java @@ -832,7 +832,7 @@ public Ansi newline() { public Ansi format(String pattern, Object... args) { flushAttributes(); - builder.append(String.format(pattern, args)); + builder.append(pattern.formatted(args)); return this; } @@ -871,7 +871,7 @@ public Ansi render(final String text) { * @since 2.2 */ public Ansi render(final String text, Object... args) { - a(String.format(new org.jline.jansi.Ansi().render(text).toString(), args)); + a(new org.jline.jansi.Ansi().render(text).toString().formatted(args)); return this; } @@ -911,7 +911,7 @@ private void flushAttributes() { if (attributeOptions.isEmpty()) { return; } - if (attributeOptions.size() == 1 && attributeOptions.get(0) == 0) { + if (attributeOptions.size() == 1 && attributeOptions.getFirst() == 0) { builder.append(FIRST_ESC_CHAR); builder.append(SECOND_ESC_CHAR); builder.append('m'); diff --git a/compat/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java b/compat/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java index 1a531085cf02..aba3f3c747f8 100644 --- a/compat/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java +++ b/compat/maven-embedder/src/test/java/org/apache/maven/cli/CLIManagerDocumentationTest.java @@ -22,7 +22,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collection; import java.util.Comparator; @@ -114,7 +113,7 @@ String getOptionsAsHtml() { @Test void testOptionsAsHtml() throws IOException { - Path options = Paths.get("target/test-classes/options.html"); + Path options = Path.of("target/test-classes/options.html"); Files.writeString(options, getOptionsAsHtml(), StandardCharsets.UTF_8); } } diff --git a/compat/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java b/compat/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java index ae1f439dc751..71edafa1204e 100644 --- a/compat/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java +++ b/compat/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java @@ -25,7 +25,6 @@ import java.nio.file.FileSystem; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collections; import java.util.List; import java.util.stream.Stream; @@ -441,7 +440,7 @@ protected void customizeContainer(PlexusContainer container) { void resumeFromSelectorIsSuggestedWithoutGroupId() { List allProjects = asList(createMavenProject("group", "module-a"), createMavenProject("group", "module-b")); - MavenProject failedProject = allProjects.get(0); + MavenProject failedProject = allProjects.getFirst(); String selector = cli.getResumeFromSelector(allProjects, failedProject); @@ -452,7 +451,7 @@ void resumeFromSelectorIsSuggestedWithoutGroupId() { void resumeFromSelectorContainsGroupIdWhenArtifactIdIsNotUnique() { List allProjects = asList(createMavenProject("group-a", "module"), createMavenProject("group-b", "module")); - MavenProject failedProject = allProjects.get(0); + MavenProject failedProject = allProjects.getFirst(); String selector = cli.getResumeFromSelector(allProjects, failedProject); @@ -580,7 +579,7 @@ void populatePropertiesOverwrite() throws Exception { @Test public void findRootProjectWithAttribute() { - Path test = Paths.get("src/test/projects/root-attribute"); + Path test = Path.of("src/test/projects/root-attribute"); assertEquals(test, new DefaultRootLocator().findRoot(test.resolve("child"))); } @@ -600,7 +599,11 @@ public void testPropertiesInterpolation() throws Exception { Files.createDirectories(mvn); Files.writeString( mvn.resolve("maven.properties"), - "${includes} = env-${envName}.properties\nfro = ${bar}z\n" + "bar = chti${java.version}\n"); + """ + ${includes} = env-${envName}.properties + fro = ${bar}z + bar = chti${java.version} + """); Files.writeString(mvn.resolve("env-test.properties"), "\n"); // Arrange diff --git a/compat/maven-embedder/src/test/java/org/apache/maven/cli/props/MavenPropertiesTest.java b/compat/maven-embedder/src/test/java/org/apache/maven/cli/props/MavenPropertiesTest.java index 07aa1e8ba664..c6f1291cda83 100644 --- a/compat/maven-embedder/src/test/java/org/apache/maven/cli/props/MavenPropertiesTest.java +++ b/compat/maven-embedder/src/test/java/org/apache/maven/cli/props/MavenPropertiesTest.java @@ -72,34 +72,38 @@ public void setUp() throws Exception { @Test public void testSpaces() throws Exception { - String config = "\n" + "\n" - + " \n" - + " \n" - + " \\ \\r \\n \\t \\f\n" - + " \n" - + " \n" - + "! dshfjklahfjkldashgjl;as\n" - + " #jdfagdfjagkdjfghksdajfd\n" - + " \n" - + "!!properties\n" - + "\n" - + "a=a\n" - + "b bb as,dn \n" - + "c\\r\\ \\t\\nu =:: cu\n" - + "bu= b\\\n" - + " u\n" - + "d=d\\r\\ne=e\n" - + "f :f\\\n" - + "f\\\n" - + " f\n" - + "g g\n" - + "h\\u0020h\n" - + "\\ i=i\n" - + "j=\\ j\n" - + "space=\\ c\n" - + "\n" - + "dblbackslash=\\\\\n" - + " \n"; + String config = + """ + + + \s + \s + \\ \\r \\n \\t \\f + \s + \s + ! dshfjklahfjkldashgjl;as + #jdfagdfjagkdjfghksdajfd + \s + !!properties + + a=a + b bb as,dn \s + c\\r\\ \\t\\nu =:: cu + bu= b\\ + u + d=d\\r\\ne=e + f :f\\ + f\\ + f + g g + h\\u0020h + \\ i=i + j=\\ j + space=\\ c + + dblbackslash=\\\\ + \s + """; java.util.Properties props1 = new java.util.Properties(); props1.load(new StringReader(config)); @@ -289,7 +293,7 @@ public void testSaveComment3() throws Exception { assertTrue(sw.toString().endsWith(RESULT3), msg); List rawValue = properties.getRaw(KEY1); assertEquals(2, (Object) rawValue.size()); - assertEquals(KEY1A + " = " + VALUE1, rawValue.get(0)); + assertEquals(KEY1A + " = " + VALUE1, rawValue.getFirst()); assertEquals(VALUE1, rawValue.get(1)); } @@ -339,7 +343,7 @@ public void testMultiValueEscaping() throws IOException { List raw = props.getRaw("fruits"); assertNotNull(raw); assertEquals(3, (Object) raw.size()); - assertEquals("fruits apple, banana, pear, ", raw.get(0)); + assertEquals("fruits apple, banana, pear, ", raw.getFirst()); props = new MavenProperties(); props.put( @@ -354,7 +358,7 @@ public void testMultiValueEscaping() throws IOException { raw = props.getRaw("fruits"); assertNotNull(raw); assertEquals(3, (Object) raw.size()); - assertEquals("fruits apple, banana, pear, ", raw.get(0)); + assertEquals("fruits apple, banana, pear, ", raw.getFirst()); sw = new StringWriter(); props.save(sw); @@ -365,7 +369,7 @@ public void testMultiValueEscaping() throws IOException { raw = props.getRaw("fruits"); assertNotNull(raw); assertEquals(3, (Object) raw.size()); - assertEquals("fruits apple, banana, pear, ", raw.get(0)); + assertEquals("fruits apple, banana, pear, ", raw.getFirst()); props = new MavenProperties(); props.put( @@ -380,7 +384,7 @@ public void testMultiValueEscaping() throws IOException { raw = props.getRaw("fruits"); assertNotNull(raw); assertEquals(3, (Object) raw.size()); - assertEquals("fruits = apple, banana, pear, ", raw.get(0)); + assertEquals("fruits = apple, banana, pear, ", raw.getFirst()); } @Test diff --git a/compat/maven-model-builder/pom.xml b/compat/maven-model-builder/pom.xml index 5621ba096b91..5ac06370a9bd 100644 --- a/compat/maven-model-builder/pom.xml +++ b/compat/maven-model-builder/pom.xml @@ -37,6 +37,10 @@ under the License. + + jakarta.inject + jakarta.inject-api + org.apache.maven maven-api-annotations diff --git a/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java index 9a372628aa79..51c8f5d9a45d 100644 --- a/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java +++ b/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java @@ -1027,10 +1027,10 @@ private ModelData readParentExternally( ModelResolver modelResolver = request.getModelResolver(); Objects.requireNonNull( modelResolver, - String.format( - "request.modelResolver cannot be null (parent POM %s and POM %s)", - ModelProblemUtils.toId(groupId, artifactId, version), - ModelProblemUtils.toSourceHint(childModel))); + "request.modelResolver cannot be null (parent POM %s and POM %s)" + .formatted( + ModelProblemUtils.toId(groupId, artifactId, version), + ModelProblemUtils.toSourceHint(childModel))); ModelSource modelSource; try { diff --git a/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingResult.java b/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingResult.java index 8f5669bf4d4e..d3f2671ef3cc 100644 --- a/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingResult.java +++ b/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingResult.java @@ -82,7 +82,7 @@ public DefaultModelBuildingResult addModelId(String modelId) { @Override public Model getRawModel() { - return rawModels.get(modelIds.get(0)); + return rawModels.get(modelIds.getFirst()); } @Override diff --git a/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingException.java b/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingException.java index 540d89100277..d210dc943e1c 100644 --- a/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingException.java +++ b/compat/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingException.java @@ -108,7 +108,7 @@ public String getModelId() { if (result == null || result.getModelIds().isEmpty()) { return ""; } - return result.getModelIds().get(0); + return result.getModelIds().getFirst(); } /** @@ -125,7 +125,7 @@ public List getProblems() { private static String toMessage(ModelBuildingResult result) { if (result != null && !result.getModelIds().isEmpty()) { - return toMessage(result.getModelIds().get(0), result.getProblems()); + return toMessage(result.getModelIds().getFirst(), result.getProblems()); } return null; } diff --git a/compat/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/reflection/IntrospectionException.java b/compat/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/reflection/IntrospectionException.java index ca54e86e66b4..f0220ba246c0 100644 --- a/compat/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/reflection/IntrospectionException.java +++ b/compat/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/reflection/IntrospectionException.java @@ -18,6 +18,8 @@ */ package org.apache.maven.model.interpolation.reflection; +import java.io.Serial; + /** * @deprecated use {@code org.apache.maven.api.services.ModelBuilder} instead */ @@ -27,6 +29,7 @@ public class IntrospectionException extends Exception { /** * */ + @Serial private static final long serialVersionUID = -6090771282553728784L; IntrospectionException(String message) { diff --git a/compat/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivator.java b/compat/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivator.java index fcc84a999482..779b6336bc8d 100644 --- a/compat/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivator.java +++ b/compat/maven-model-builder/src/main/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivator.java @@ -107,7 +107,7 @@ public boolean presentInConfig(Profile profile, ProfileActivationContext context } private static boolean isInRange(String value, List range) { - int leftRelation = getRelationOrder(value, range.get(0), true); + int leftRelation = getRelationOrder(value, range.getFirst(), true); if (leftRelation == 0) { return true; diff --git a/compat/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java b/compat/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java index ecb73cc02955..3162783731c2 100644 --- a/compat/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java +++ b/compat/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderFactoryTest.java @@ -21,7 +21,7 @@ import java.io.File; import java.io.InputStream; import java.nio.file.Files; -import java.nio.file.Paths; +import java.nio.file.Path; import org.apache.maven.api.model.Model; import org.apache.maven.model.v4.MavenStaxReader; @@ -38,10 +38,10 @@ class DefaultModelBuilderFactoryTest { private static final String BASE_DIR = - Paths.get("src", "test", "resources", "poms", "factory").toString(); + Path.of("src", "test", "resources", "poms", "factory").toString(); private File getPom(String name) { - return new File(Paths.get(BASE_DIR, name + ".xml").toString()).getAbsoluteFile(); + return new File(Path.of(BASE_DIR, name + ".xml").toString()).getAbsoluteFile(); } @Test @@ -58,7 +58,7 @@ void testCompleteWiring() throws Exception { assertNotNull(result.getEffectiveModel()); assertEquals("activated", result.getEffectiveModel().getProperties().get("profile.file")); Xpp3Dom conf = (Xpp3Dom) - result.getEffectiveModel().getBuild().getPlugins().get(0).getConfiguration(); + result.getEffectiveModel().getBuild().getPlugins().getFirst().getConfiguration(); assertNotNull(conf); assertEquals("1.5", conf.getChild("source").getValue()); assertEquals(" 1.5 ", conf.getChild("target").getValue()); diff --git a/compat/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderTest.java b/compat/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderTest.java index 92b45cf465b5..32a8e890a6f7 100644 --- a/compat/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderTest.java +++ b/compat/maven-model-builder/src/test/java/org/apache/maven/model/building/DefaultModelBuilderTest.java @@ -37,44 +37,52 @@ public class DefaultModelBuilderTest { private static final String BASE1_ID = "thegroup:base1:pom"; private static final String BASE1_ID2 = "thegroup:base1:1"; - private static final String BASE1 = "\n" + " 4.0.0\n" - + " thegroup\n" - + " base1\n" - + " 1\n" - + " pom\n" - + " \n" - + " \n" - + " \n" - + " thegroup\n" - + " base2\n" - + " 1\n" - + " pom\n" - + " import\n" - + " \n" - + " \n" - + " \n" - + "\n"; + private static final String BASE1 = + """ + + 4.0.0 + thegroup + base1 + 1 + pom + + + + thegroup + base2 + 1 + pom + import + + + + + """; private static final String BASE2_ID = "thegroup:base2:pom"; private static final String BASE2_ID2 = "thegroup:base2:1"; - private static final String BASE2 = "\n" + " 4.0.0\n" - + " thegroup\n" - + " base2\n" - + " 1\n" - + " pom\n" - + " \n" - + " \n" - + " \n" - + " thegroup\n" - + " base1\n" - + " 1\n" - + " pom\n" - + " import\n" - + " \n" - + " \n" - + " \n" - + "\n"; + private static final String BASE2 = + """ + + 4.0.0 + thegroup + base2 + 1 + pom + + + + thegroup + base1 + 1 + pom + import + + + + + """; @Test public void testCycleInImports() throws Exception { diff --git a/compat/maven-model-builder/src/test/java/org/apache/maven/model/building/GraphTest.java b/compat/maven-model-builder/src/test/java/org/apache/maven/model/building/GraphTest.java index 6b5178ac2714..ff397c079e16 100644 --- a/compat/maven-model-builder/src/test/java/org/apache/maven/model/building/GraphTest.java +++ b/compat/maven-model-builder/src/test/java/org/apache/maven/model/building/GraphTest.java @@ -20,7 +20,7 @@ import java.io.IOException; import java.nio.file.Files; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -43,7 +43,7 @@ void testCycle() throws Graph.CycleDetectedException { public void testPerf() throws IOException { List data = new ArrayList<>(); String k = null; - for (String line : Files.readAllLines(Paths.get("src/test/resources/dag.txt"))) { + for (String line : Files.readAllLines(Path.of("src/test/resources/dag.txt"))) { if (line.startsWith("\t")) { data.add(new String[] {k, line.trim()}); } else { diff --git a/compat/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java b/compat/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java index 6d0fa698f193..aa6e8944d6e2 100644 --- a/compat/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java +++ b/compat/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java @@ -220,7 +220,7 @@ public void shouldInterpolateDependencyVersionToSetSameAsProjectVersion() throws Model out = interpolator.interpolateModel(model, new File("."), createModelBuildingRequest(context), collector); assertCollectorState(0, 0, 0, collector); - assertEquals("3.8.1", (out.getDependencies().get(0)).getVersion()); + assertEquals("3.8.1", (out.getDependencies().getFirst()).getVersion()); } @Test @@ -238,7 +238,7 @@ public void testShouldNotInterpolateDependencyVersionWithInvalidReference() thro Model out = interpolator.interpolateModel(model, new File("."), createModelBuildingRequest(context), collector); assertProblemFree(collector); - assertEquals("${something}", (out.getDependencies().get(0)).getVersion()); + assertEquals("${something}", (out.getDependencies().getFirst()).getVersion()); } @Test @@ -257,7 +257,7 @@ public void testTwoReferences() throws Exception { Model out = interpolator.interpolateModel(model, new File("."), createModelBuildingRequest(context), collector); assertCollectorState(0, 0, 0, collector); - assertEquals("foo-3.8.1", (out.getDependencies().get(0)).getVersion()); + assertEquals("foo-3.8.1", (out.getDependencies().getFirst()).getVersion()); } @Test @@ -277,7 +277,7 @@ public void testBasedir() throws Exception { assertProblemFree(collector); assertEquals( - "file://localhost/myBasedir/temp-repo", (out.getRepositories().get(0)).getUrl()); + "file://localhost/myBasedir/temp-repo", (out.getRepositories().getFirst()).getUrl()); } @Test @@ -296,7 +296,7 @@ public void testBaseUri() throws Exception { Model out = interpolator.interpolateModel(model, null, createModelBuildingRequest(context), collector); assertProblemFree(collector); - assertEquals("myBaseUri/temp-repo", (out.getRepositories().get(0)).getUrl()); + assertEquals("myBaseUri/temp-repo", (out.getRepositories().getFirst()).getUrl()); } @Test @@ -399,7 +399,7 @@ public void shouldInterpolateUnprefixedBasedirExpression() throws Exception { assertEquals(1, rDeps.size()); assertEquals( new File(basedir, "artifact.jar").getAbsolutePath(), - new File(rDeps.get(0).getSystemPath()).getAbsolutePath()); + new File(rDeps.getFirst().getSystemPath()).getAbsolutePath()); } @Test @@ -417,7 +417,7 @@ public void testRecursiveExpressionCycleNPE() throws Exception { interpolator.interpolateModel(model, null, request, collector); assertCollectorState(0, 2, 0, collector); - assertTrue(collector.getErrors().get(0).contains("Detected the following recursive expression cycle")); + assertTrue(collector.getErrors().getFirst().contains("Detected the following recursive expression cycle")); } @Test @@ -436,7 +436,7 @@ public void testRecursiveExpressionCycleBaseDir() throws Exception { assertCollectorState(0, 1, 0, collector); assertEquals( "Resolving expression: '${basedir}': Detected the following recursive expression cycle in 'basedir': [basedir]", - collector.getErrors().get(0)); + collector.getErrors().getFirst()); } protected abstract ModelInterpolator createInterpolator() throws Exception; diff --git a/compat/maven-model-builder/src/test/java/org/apache/maven/model/profile/DefaultProfileSelectorTest.java b/compat/maven-model-builder/src/test/java/org/apache/maven/model/profile/DefaultProfileSelectorTest.java index 84f5d4390aec..158a578e7f31 100644 --- a/compat/maven-model-builder/src/test/java/org/apache/maven/model/profile/DefaultProfileSelectorTest.java +++ b/compat/maven-model-builder/src/test/java/org/apache/maven/model/profile/DefaultProfileSelectorTest.java @@ -68,6 +68,6 @@ public boolean presentInConfig( assertEquals(1, problems.getErrors().size()); assertEquals( "Failed to determine activation for profile one: BOOM", - problems.getErrors().get(0)); + problems.getErrors().getFirst()); } } diff --git a/compat/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java b/compat/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java index 853d5d065fc8..0bb8e3a0abf0 100644 --- a/compat/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java +++ b/compat/maven-model-builder/src/test/java/org/apache/maven/model/profile/activation/JdkVersionProfileActivatorTest.java @@ -195,6 +195,6 @@ private void assertActivationWithProblems( assertEquals(0, problems.getErrors().size()); assertEquals(1, problems.getWarnings().size()); - assertTrue(problems.getWarnings().get(0).contains(warningContains)); + assertTrue(problems.getWarnings().getFirst().contains(warningContains)); } } diff --git a/compat/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java b/compat/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java index cdfa9caac1a5..ef1a8f4389e5 100644 --- a/compat/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java +++ b/compat/maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java @@ -121,7 +121,7 @@ void testMissingModelVersion() throws Exception { assertViolations(result, 0, 1, 0); - assertEquals("'modelVersion' is missing.", result.getErrors().get(0)); + assertEquals("'modelVersion' is missing.", result.getErrors().getFirst()); } @Test @@ -131,7 +131,7 @@ void testBadModelVersion() throws Exception { assertViolations(result, 1, 0, 0); - assertTrue(result.getFatals().get(0).contains("modelVersion")); + assertTrue(result.getFatals().getFirst().contains("modelVersion")); } @Test @@ -141,7 +141,7 @@ void testModelVersionMessage() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("'modelVersion' must be one of")); + assertTrue(result.getErrors().getFirst().contains("'modelVersion' must be one of")); } @Test @@ -150,7 +150,7 @@ void testMissingArtifactId() throws Exception { assertViolations(result, 0, 1, 0); - assertEquals("'artifactId' is missing.", result.getErrors().get(0)); + assertEquals("'artifactId' is missing.", result.getErrors().getFirst()); } @Test @@ -159,7 +159,7 @@ void testMissingGroupId() throws Exception { assertViolations(result, 0, 1, 0); - assertEquals("'groupId' is missing.", result.getErrors().get(0)); + assertEquals("'groupId' is missing.", result.getErrors().getFirst()); } @Test @@ -170,7 +170,7 @@ void testInvalidCoordinateIds() throws Exception { assertEquals( "'groupId' with value 'o/a/m' does not match a valid id pattern.", - result.getErrors().get(0)); + result.getErrors().getFirst()); assertEquals( "'artifactId' with value 'm$-do$' does not match a valid id pattern.", @@ -183,7 +183,7 @@ void testMissingType() throws Exception { assertViolations(result, 0, 1, 0); - assertEquals("'packaging' is missing.", result.getErrors().get(0)); + assertEquals("'packaging' is missing.", result.getErrors().getFirst()); } @Test @@ -192,7 +192,7 @@ void testMissingVersion() throws Exception { assertViolations(result, 0, 1, 0); - assertEquals("'version' is missing.", result.getErrors().get(0)); + assertEquals("'version' is missing.", result.getErrors().getFirst()); } @Test @@ -201,7 +201,7 @@ void testInvalidAggregatorPackaging() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("Aggregator projects require 'pom' as packaging.")); + assertTrue(result.getErrors().getFirst().contains("Aggregator projects require 'pom' as packaging.")); } @Test @@ -211,7 +211,7 @@ void testMissingDependencyArtifactId() throws Exception { assertViolations(result, 0, 1, 0); assertTrue(result.getErrors() - .get(0) + .getFirst() .contains("'dependencies.dependency.artifactId' for groupId:null:jar is missing")); } @@ -222,7 +222,7 @@ void testMissingDependencyGroupId() throws Exception { assertViolations(result, 0, 1, 0); assertTrue(result.getErrors() - .get(0) + .getFirst() .contains("'dependencies.dependency.groupId' for null:artifactId:jar is missing")); } @@ -233,7 +233,7 @@ void testMissingDependencyVersion() throws Exception { assertViolations(result, 0, 1, 0); assertTrue(result.getErrors() - .get(0) + .getFirst() .contains("'dependencies.dependency.version' for groupId:artifactId:jar is missing")); } @@ -244,7 +244,7 @@ void testMissingDependencyManagementArtifactId() throws Exception { assertViolations(result, 0, 1, 0); assertTrue(result.getErrors() - .get(0) + .getFirst() .contains("'dependencyManagement.dependencies.dependency.artifactId' for groupId:null:jar is missing")); } @@ -255,7 +255,7 @@ void testMissingDependencyManagementGroupId() throws Exception { assertViolations(result, 0, 1, 0); assertTrue(result.getErrors() - .get(0) + .getFirst() .contains("'dependencyManagement.dependencies.dependency.groupId' for null:artifactId:jar is missing")); } @@ -282,7 +282,7 @@ void testMissingPluginArtifactId() throws Exception { assertEquals( "'build.plugins.plugin.artifactId' is missing.", - result.getErrors().get(0)); + result.getErrors().getFirst()); } @Test @@ -294,7 +294,7 @@ void testEmptyPluginVersion() throws Exception { assertEquals( "'build.plugins.plugin.version' for org.apache.maven.plugins:maven-it-plugin" + " must be a valid version but is ''.", - result.getErrors().get(0)); + result.getErrors().getFirst()); } @Test @@ -305,7 +305,7 @@ void testMissingRepositoryId() throws Exception { assertViolations(result, 0, 4, 0); assertEquals( - "'repositories.repository.id' is missing.", result.getErrors().get(0)); + "'repositories.repository.id' is missing.", result.getErrors().getFirst()); assertEquals( "'repositories.repository.[null].url' is missing.", @@ -328,7 +328,7 @@ void testMissingResourceDirectory() throws Exception { assertEquals( "'build.resources.resource.directory' is missing.", - result.getErrors().get(0)); + result.getErrors().getFirst()); assertEquals( "'build.testResources.testResource.directory' is missing.", @@ -341,7 +341,7 @@ void testBadPluginDependencyScope() throws Exception { assertViolations(result, 0, 3, 0); - assertTrue(result.getErrors().get(0).contains("test:d")); + assertTrue(result.getErrors().getFirst().contains("test:d")); assertTrue(result.getErrors().get(1).contains("test:e")); @@ -354,7 +354,7 @@ void testBadDependencyScope() throws Exception { assertViolations(result, 0, 0, 2); - assertTrue(result.getWarnings().get(0).contains("test:f")); + assertTrue(result.getWarnings().getFirst().contains("test:f")); assertTrue(result.getWarnings().get(1).contains("test:g")); } @@ -365,7 +365,7 @@ void testBadDependencyManagementScope() throws Exception { assertViolations(result, 0, 0, 1); - assertContains(result.getWarnings().get(0), "test:g"); + assertContains(result.getWarnings().getFirst(), "test:g"); } @Test @@ -375,7 +375,8 @@ void testBadDependencyVersion() throws Exception { assertViolations(result, 0, 2, 0); assertContains( - result.getErrors().get(0), "'dependencies.dependency.version' for test:b:jar must be a valid version"); + result.getErrors().getFirst(), + "'dependencies.dependency.version' for test:b:jar must be a valid version"); assertContains( result.getErrors().get(1), "'dependencies.dependency.version' for test:c:jar must not contain any of these characters"); @@ -387,7 +388,7 @@ void testDuplicateModule() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("child")); + assertTrue(result.getErrors().getFirst().contains("child")); } @Test @@ -396,7 +397,7 @@ void testDuplicateProfileId() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("non-unique-id")); + assertTrue(result.getErrors().getFirst().contains("non-unique-id")); } @Test @@ -406,7 +407,7 @@ void testBadPluginVersion() throws Exception { assertViolations(result, 0, 4, 0); assertContains( - result.getErrors().get(0), "'build.plugins.plugin.version' for test:mip must be a valid version"); + result.getErrors().getFirst(), "'build.plugins.plugin.version' for test:mip must be a valid version"); assertContains( result.getErrors().get(1), "'build.plugins.plugin.version' for test:rmv must be a valid version"); assertContains( @@ -422,7 +423,7 @@ void testDistributionManagementStatus() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("distributionManagement.status")); + assertTrue(result.getErrors().getFirst().contains("distributionManagement.status")); } @Test @@ -430,7 +431,7 @@ void testIncompleteParent() throws Exception { SimpleProblemCollector result = validateRaw("incomplete-parent.xml"); assertViolations(result, 3, 0, 0); - assertTrue(result.getFatals().get(0).contains("parent.groupId")); + assertTrue(result.getFatals().getFirst().contains("parent.groupId")); assertTrue(result.getFatals().get(1).contains("parent.artifactId")); assertTrue(result.getFatals().get(2).contains("parent.version")); } @@ -444,7 +445,7 @@ void testHardCodedSystemPath() throws Exception { assertViolations(result, 0, 0, 1); assertContains( - result.getWarnings().get(0), + result.getWarnings().getFirst(), "'dependencies.dependency.systemPath' for test:a:jar should use a variable instead of a hard-coded path"); SimpleProblemCollector result31 = @@ -453,7 +454,7 @@ void testHardCodedSystemPath() throws Exception { assertViolations(result31, 0, 0, 3); assertContains( - result31.getWarnings().get(0), + result31.getWarnings().getFirst(), "'dependencies.dependency.scope' for test:a:jar declares usage of deprecated 'system' scope"); assertContains( result31.getWarnings().get(1), @@ -469,7 +470,7 @@ void testEmptyModule() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("'modules.module[0]' has been specified without a path")); + assertTrue(result.getErrors().getFirst().contains("'modules.module[0]' has been specified without a path")); } @Test @@ -478,7 +479,7 @@ void testDuplicatePlugin() throws Exception { assertViolations(result, 0, 0, 4); - assertTrue(result.getWarnings().get(0).contains("duplicate declaration of plugin test:duplicate")); + assertTrue(result.getWarnings().getFirst().contains("duplicate declaration of plugin test:duplicate")); assertTrue(result.getWarnings().get(1).contains("duplicate declaration of plugin test:managed-duplicate")); assertTrue(result.getWarnings().get(2).contains("duplicate declaration of plugin profile:duplicate")); assertTrue(result.getWarnings().get(3).contains("duplicate declaration of plugin profile:managed-duplicate")); @@ -490,7 +491,7 @@ void testDuplicatePluginExecution() throws Exception { assertViolations(result, 0, 4, 0); - assertContains(result.getErrors().get(0), "duplicate execution with id a"); + assertContains(result.getErrors().getFirst(), "duplicate execution with id a"); assertContains(result.getErrors().get(1), "duplicate execution with id default"); assertContains(result.getErrors().get(2), "duplicate execution with id c"); assertContains(result.getErrors().get(3), "duplicate execution with id b"); @@ -502,7 +503,7 @@ void testReservedRepositoryId() throws Exception { assertViolations(result, 0, 0, 4); - assertContains(result.getWarnings().get(0), "'repositories.repository.id'" + " must not be 'local'"); + assertContains(result.getWarnings().getFirst(), "'repositories.repository.id'" + " must not be 'local'"); assertContains(result.getWarnings().get(1), "'pluginRepositories.pluginRepository.id' must not be 'local'"); assertContains(result.getWarnings().get(2), "'distributionManagement.repository.id' must not be 'local'"); assertContains( @@ -515,7 +516,7 @@ void testMissingPluginDependencyGroupId() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains(":a:")); + assertTrue(result.getErrors().getFirst().contains(":a:")); } @Test @@ -524,7 +525,7 @@ void testMissingPluginDependencyArtifactId() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("test:")); + assertTrue(result.getErrors().getFirst().contains("test:")); } @Test @@ -533,7 +534,7 @@ void testMissingPluginDependencyVersion() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("test:a")); + assertTrue(result.getErrors().getFirst().contains("test:a")); } @Test @@ -542,7 +543,7 @@ void testBadPluginDependencyVersion() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("test:b")); + assertTrue(result.getErrors().getFirst().contains("test:b")); } @Test @@ -551,7 +552,7 @@ void testBadVersion() throws Exception { assertViolations(result, 0, 0, 1); - assertContains(result.getWarnings().get(0), "'version' must not contain any of these characters"); + assertContains(result.getWarnings().getFirst(), "'version' must not contain any of these characters"); } @Test @@ -560,7 +561,7 @@ void testBadSnapshotVersion() throws Exception { assertViolations(result, 0, 0, 1); - assertContains(result.getWarnings().get(0), "'version' uses an unsupported snapshot version format"); + assertContains(result.getWarnings().getFirst(), "'version' uses an unsupported snapshot version format"); } @Test @@ -570,7 +571,8 @@ void testBadRepositoryId() throws Exception { assertViolations(result, 0, 0, 4); assertContains( - result.getWarnings().get(0), "'repositories.repository.id' must not contain any of these characters"); + result.getWarnings().getFirst(), + "'repositories.repository.id' must not contain any of these characters"); assertContains( result.getWarnings().get(1), "'pluginRepositories.pluginRepository.id' must not contain any of these characters"); @@ -590,7 +592,8 @@ void testBadDependencyExclusionId() throws Exception { assertViolations(result, 0, 0, 2); assertContains( - result.getWarnings().get(0), "'dependencies.dependency.exclusions.exclusion.groupId' for gid:aid:jar"); + result.getWarnings().getFirst(), + "'dependencies.dependency.exclusions.exclusion.groupId' for gid:aid:jar"); assertContains( result.getWarnings().get(1), "'dependencies.dependency.exclusions.exclusion.artifactId' for gid:aid:jar"); @@ -609,7 +612,7 @@ void testMissingDependencyExclusionId() throws Exception { assertViolations(result, 0, 0, 2); assertContains( - result.getWarnings().get(0), + result.getWarnings().getFirst(), "'dependencies.dependency.exclusions.exclusion.groupId' for gid:aid:jar is missing"); assertContains( result.getWarnings().get(1), @@ -623,7 +626,7 @@ void testBadImportScopeType() throws Exception { assertViolations(result, 0, 0, 1); assertContains( - result.getWarnings().get(0), + result.getWarnings().getFirst(), "'dependencyManagement.dependencies.dependency.type' for test:a:jar must be 'pom'"); } @@ -634,7 +637,7 @@ void testBadImportScopeClassifier() throws Exception { assertViolations(result, 0, 1, 0); assertContains( - result.getErrors().get(0), + result.getErrors().getFirst(), "'dependencyManagement.dependencies.dependency.classifier' for test:a:pom:cls must be empty"); } @@ -645,7 +648,7 @@ void testSystemPathRefersToProjectBasedir() throws Exception { assertViolations(result, 0, 0, 2); assertContains( - result.getWarnings().get(0), + result.getWarnings().getFirst(), "'dependencies.dependency.systemPath' for test:a:jar should not point at files within the project directory"); assertContains( result.getWarnings().get(1), @@ -657,7 +660,7 @@ void testSystemPathRefersToProjectBasedir() throws Exception { assertViolations(result31, 0, 0, 4); assertContains( - result31.getWarnings().get(0), + result31.getWarnings().getFirst(), "'dependencies.dependency.scope' for test:a:jar declares usage of deprecated 'system' scope"); assertContains( result31.getWarnings().get(1), @@ -678,7 +681,7 @@ void testInvalidVersionInPluginManagement() throws Exception { assertEquals( "'build.pluginManagement.plugins.plugin.(groupId:artifactId)' version of a plugin must be defined. ", - result.getFatals().get(0)); + result.getFatals().getFirst()); } @Test @@ -689,7 +692,7 @@ void testInvalidGroupIdInPluginManagement() throws Exception { assertEquals( "'build.pluginManagement.plugins.plugin.(groupId:artifactId)' groupId of a plugin must be defined. ", - result.getFatals().get(0)); + result.getFatals().getFirst()); } @Test @@ -700,7 +703,7 @@ void testInvalidArtifactIdInPluginManagement() throws Exception { assertEquals( "'build.pluginManagement.plugins.plugin.(groupId:artifactId)' artifactId of a plugin must be defined. ", - result.getFatals().get(0)); + result.getFatals().getFirst()); } @Test @@ -711,7 +714,7 @@ void testInvalidGroupAndArtifactIdInPluginManagement() throws Exception { assertEquals( "'build.pluginManagement.plugins.plugin.(groupId:artifactId)' groupId of a plugin must be defined. ", - result.getFatals().get(0)); + result.getFatals().getFirst()); assertEquals( "'build.pluginManagement.plugins.plugin.(groupId:artifactId)' artifactId of a plugin must be defined. ", @@ -732,7 +735,7 @@ void testDeprecatedDependencyMetaversionsLatestAndRelease() throws Exception { assertViolations(result, 0, 0, 2); assertContains( - result.getWarnings().get(0), + result.getWarnings().getFirst(), "'dependencies.dependency.version' for test:a:jar is either LATEST or RELEASE (both of them are being deprecated)"); assertContains( result.getWarnings().get(1), @@ -747,7 +750,7 @@ void testSelfReferencingDependencyInRawModel() throws Exception { assertEquals( "'dependencies.dependency[com.example.group:testinvalidpom:0.0.1-SNAPSHOT]' for com.example.group:testinvalidpom:0.0.1-SNAPSHOT is referencing itself.", - result.getFatals().get(0)); + result.getFatals().getFirst()); } @Test @@ -787,7 +790,7 @@ void testCiFriendlyBad() throws Exception { assertViolations(result, 0, 0, 1); assertEquals( "'version' contains an expression but should be a constant.", - result.getWarnings().get(0)); + result.getWarnings().getFirst()); } @Test @@ -796,7 +799,7 @@ void testCiFriendlyBadSha1Plus() throws Exception { assertViolations(result, 0, 0, 1); assertEquals( "'version' contains an expression but should be a constant.", - result.getWarnings().get(0)); + result.getWarnings().getFirst()); } @Test @@ -805,7 +808,7 @@ void testCiFriendlyBadSha1Plus2() throws Exception { assertViolations(result, 0, 0, 1); assertEquals( "'version' contains an expression but should be a constant.", - result.getWarnings().get(0)); + result.getWarnings().getFirst()); } @Test @@ -814,7 +817,7 @@ void testParentVersionLATEST() throws Exception { assertViolations(result, 0, 0, 1); assertEquals( "'parent.version' is either LATEST or RELEASE (both of them are being deprecated)", - result.getWarnings().get(0)); + result.getWarnings().getFirst()); } @Test @@ -823,7 +826,7 @@ void testParentVersionRELEASE() throws Exception { assertViolations(result, 0, 0, 1); assertEquals( "'parent.version' is either LATEST or RELEASE (both of them are being deprecated)", - result.getWarnings().get(0)); + result.getWarnings().getFirst()); } @Test @@ -863,7 +866,7 @@ void profileActivationFileWithProjectExpression() throws Exception { "'profiles.profile[exists-project-version].activation.file.exists' " + "Failed to interpolate profile activation property ${project.version}/test.txt: " + "${project.version} expressions are not supported during profile activation.", - result.getWarnings().get(0)); + result.getWarnings().getFirst()); assertEquals( "'profiles.profile[missing-project-version].activation.file.missing' " @@ -882,7 +885,7 @@ void profileActivationPropertyWithProjectExpression() throws Exception { "'profiles.profile[property-name-project-version].activation.property.name' " + "Failed to interpolate profile activation property ${project.version}: " + "${project.version} expressions are not supported during profile activation.", - result.getWarnings().get(0)); + result.getWarnings().getFirst()); assertEquals( "'profiles.profile[property-value-project-version].activation.property.value' " diff --git a/compat/maven-model/src/test/java/org/apache/maven/model/DependencyManagementTest.java b/compat/maven-model/src/test/java/org/apache/maven/model/DependencyManagementTest.java index 1a32e0e8e323..d33cdfea13a1 100644 --- a/compat/maven-model/src/test/java/org/apache/maven/model/DependencyManagementTest.java +++ b/compat/maven-model/src/test/java/org/apache/maven/model/DependencyManagementTest.java @@ -64,8 +64,8 @@ void testDependencies() { dm.addDependency(d1); assertNotNull(dm.getDependencies()); assertEquals(1, dm.getDependencies().size()); - dm.getDependencies().get(0).setArtifactId("myArtifactId"); - assertEquals("myArtifactId", dm.getDependencies().get(0).getArtifactId()); + dm.getDependencies().getFirst().setArtifactId("myArtifactId"); + assertEquals("myArtifactId", dm.getDependencies().getFirst().getArtifactId()); dm.setDependencies(null); assertNotNull(dm.getDependencies()); assertEquals(0, dm.getDependencies().size()); diff --git a/compat/maven-model/src/test/java/org/apache/maven/model/pom/PomMemoryAnalyzer.java b/compat/maven-model/src/test/java/org/apache/maven/model/pom/PomMemoryAnalyzer.java index f616b8989331..64412786f905 100644 --- a/compat/maven-model/src/test/java/org/apache/maven/model/pom/PomMemoryAnalyzer.java +++ b/compat/maven-model/src/test/java/org/apache/maven/model/pom/PomMemoryAnalyzer.java @@ -22,7 +22,6 @@ import java.lang.reflect.Modifier; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; @@ -72,7 +71,7 @@ public static void main(String[] args) throws Exception { System.exit(1); } - Path rootDir = Paths.get(args[0]); + Path rootDir = Path.of(args[0]); PomMemoryAnalyzer analyzer = new PomMemoryAnalyzer(); MavenStaxReader reader = new MavenStaxReader(); diff --git a/compat/maven-model/src/test/java/org/apache/maven/model/v4/ModelXmlTest.java b/compat/maven-model/src/test/java/org/apache/maven/model/v4/ModelXmlTest.java index b7d17e808d40..d6c62d1a0fea 100644 --- a/compat/maven-model/src/test/java/org/apache/maven/model/v4/ModelXmlTest.java +++ b/compat/maven-model/src/test/java/org/apache/maven/model/v4/ModelXmlTest.java @@ -56,29 +56,31 @@ void testXmlRoundtripWithProperties() throws Exception { @Test void testNamespaceInXmlNode() throws XMLStreamException { - String xml = "\n" - + " \n" - + " \n" - + " \n" - + " \n" - + " foo\n" - + " \n" - + " \n" - + " \n" - + " \n" - + ""; + String xml = + """ + + + + + + foo + + + + + """; Model model = fromXml(xml); - Plugin plugin = model.getBuild().getPlugins().get(0); + Plugin plugin = model.getBuild().getPlugins().getFirst(); XmlNode node = plugin.getConfiguration(); assertNotNull(node); assertEquals("http://maven.apache.org/POM/4.0.0", node.namespaceUri()); assertEquals("m", node.prefix()); assertEquals("configuration", node.name()); assertEquals(1, node.children().size()); - XmlNode myConfig = node.children().get(0); + XmlNode myConfig = node.children().getFirst(); assertEquals("http://fabric8.io/fabric8-maven-plugin", myConfig.namespaceUri()); assertEquals("", myConfig.prefix()); assertEquals("myConfig", myConfig.name()); diff --git a/compat/maven-model/src/test/java/org/apache/maven/model/v4/Xpp3DomPerfTest.java b/compat/maven-model/src/test/java/org/apache/maven/model/v4/Xpp3DomPerfTest.java index 090292cffa35..8db2ce0af3b4 100644 --- a/compat/maven-model/src/test/java/org/apache/maven/model/v4/Xpp3DomPerfTest.java +++ b/compat/maven-model/src/test/java/org/apache/maven/model/v4/Xpp3DomPerfTest.java @@ -24,7 +24,6 @@ import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -59,7 +58,7 @@ public static class AdditionState { @Setup(Level.Iteration) public void setUp() throws IOException { - Path userHome = Paths.get(System.getProperty("user.home")); + Path userHome = Path.of(System.getProperty("user.home")); poms = Files.walk(userHome.resolve(".m2/repository/org/apache/maven")) .filter(p -> p.getFileName().toString().endsWith(".pom")) .collect(Collectors.toList()); diff --git a/compat/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java b/compat/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java index f9839369e23a..187630750049 100644 --- a/compat/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java +++ b/compat/maven-plugin-api/src/test/java/org/apache/maven/plugin/descriptor/PluginDescriptorBuilderTest.java @@ -59,7 +59,7 @@ void testBuildReader() throws Exception { assertEquals(2, pd.getMojos().size()); assertEquals(1, pd.getDependencies().size()); - MojoDescriptor md = pd.getMojos().get(0); + MojoDescriptor md = pd.getMojos().getFirst(); assertEquals("jar", md.getGoal()); assertEquals("mojo-description", md.getDescription()); @@ -93,7 +93,7 @@ void testBuildReader() throws Exception { assertEquals("${project.build.finalName}", pc.getAttribute("default-value")); assertEquals("java.lang.String", pc.getAttribute("implementation")); - Parameter mp = md.getParameters().get(0); + Parameter mp = md.getParameters().getFirst(); assertEquals("finalName", mp.getName()); assertEquals("jarName", mp.getAlias()); @@ -107,13 +107,13 @@ void testBuildReader() throws Exception { assertEquals("${project.build.finalName}", mp.getDefaultValue()); assertEquals("3.0.0", mp.getSince()); - ComponentRequirement cr = md.getRequirements().get(0); + ComponentRequirement cr = md.getRequirements().getFirst(); assertEquals("org.codehaus.plexus.archiver.Archiver", cr.getRole()); assertEquals("jar", cr.getRoleHint()); assertEquals("jarArchiver", cr.getFieldName()); - ComponentDependency cd = pd.getDependencies().get(0); + ComponentDependency cd = pd.getDependencies().getFirst(); assertEquals("org.apache.maven", cd.getGroupId()); assertEquals("maven-plugin-api", cd.getArtifactId()); diff --git a/compat/maven-repository-metadata/src/test/java/org/apache/maven/artifact/repository/metadata/MetadataTest.java b/compat/maven-repository-metadata/src/test/java/org/apache/maven/artifact/repository/metadata/MetadataTest.java index 8d5472b85bbe..89a56872ad7d 100644 --- a/compat/maven-repository-metadata/src/test/java/org/apache/maven/artifact/repository/metadata/MetadataTest.java +++ b/compat/maven-repository-metadata/src/test/java/org/apache/maven/artifact/repository/metadata/MetadataTest.java @@ -100,11 +100,13 @@ void mergeSnapshotWithEmptyList() throws Exception { assertEquals(1, target.getVersioning().getSnapshotVersions().size()); assertEquals( - "sources", target.getVersioning().getSnapshotVersions().get(0).getClassifier()); - assertEquals("jar", target.getVersioning().getSnapshotVersions().get(0).getExtension()); + "sources", + target.getVersioning().getSnapshotVersions().getFirst().getClassifier()); + assertEquals( + "jar", target.getVersioning().getSnapshotVersions().getFirst().getExtension()); assertEquals( "20200710072412", - target.getVersioning().getSnapshotVersions().get(0).getUpdated()); + target.getVersioning().getSnapshotVersions().getFirst().getUpdated()); } @Test @@ -120,7 +122,7 @@ void mergeWithSameSnapshotWithDifferentVersionsAndNewerLastUpdated() { assertTrue(target.merge(source)); Versioning actualVersioning = target.getVersioning(); assertEquals(2, actualVersioning.getSnapshotVersions().size()); - assertEquals(sv2, actualVersioning.getSnapshotVersions().get(0)); + assertEquals(sv2, actualVersioning.getSnapshotVersions().getFirst()); assertEquals(sv3, actualVersioning.getSnapshotVersions().get(1)); assertEquals(formatDate(after, false), actualVersioning.getLastUpdated()); assertEquals(formatDate(after, true), actualVersioning.getSnapshot().getTimestamp()); @@ -137,7 +139,7 @@ void mergeWithSameSnapshotWithDifferentVersionsAndOlderLastUpdated() { // nothing should be updated, as the target was already updated at a later date than source assertFalse(target.merge(source)); assertEquals(1, target.getVersioning().getSnapshotVersions().size()); - assertEquals(sv1, target.getVersioning().getSnapshotVersions().get(0)); + assertEquals(sv1, target.getVersioning().getSnapshotVersions().getFirst()); assertEquals(formatDate(after, false), target.getVersioning().getLastUpdated()); assertEquals( formatDate(after, true), target.getVersioning().getSnapshot().getTimestamp()); @@ -153,7 +155,7 @@ void mergeWithSameSnapshotWithSameVersionAndTimestamp() { // TODO: improve merge here? assertTrue(target.merge(source)); assertEquals(1, target.getVersioning().getSnapshotVersions().size()); - assertEquals(sv1, target.getVersioning().getSnapshotVersions().get(0)); + assertEquals(sv1, target.getVersioning().getSnapshotVersions().getFirst()); assertEquals(formatDate(date, false), target.getVersioning().getLastUpdated()); assertEquals( formatDate(date, true), target.getVersioning().getSnapshot().getTimestamp()); diff --git a/compat/maven-resolver-provider/pom.xml b/compat/maven-resolver-provider/pom.xml index adce9f0a7d40..c87b4f22febb 100644 --- a/compat/maven-resolver-provider/pom.xml +++ b/compat/maven-resolver-provider/pom.xml @@ -32,6 +32,10 @@ under the License. Components completing Maven Resolver for utilizing Maven POM and repository metadata. + + jakarta.inject + jakarta.inject-api + org.apache.maven maven-api-annotations diff --git a/compat/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java b/compat/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java index b7cc1d90811b..199e9cf4d650 100644 --- a/compat/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java +++ b/compat/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java @@ -240,17 +240,19 @@ private Model loadPom( if (logger.isDebugEnabled()) { String problem = (problems.size() == 1) ? "problem" : "problems"; String problemPredicate = problem + ((problems.size() == 1) ? " was" : " were"); - StringBuilder message = new StringBuilder(String.format( - "%s %s encountered while building the effective model for %s during %s\n", - problems.size(), - problemPredicate, - request.getArtifact(), - RequestTraceHelper.interpretTrace(true, request.getTrace()))); + StringBuilder message = new StringBuilder( + "%s %s encountered while building the effective model for %s during %s\n" + .formatted( + problems.size(), + problemPredicate, + request.getArtifact(), + RequestTraceHelper.interpretTrace(true, request.getTrace()))); message.append(StringUtils.capitalizeFirstLetter(problem)); for (ModelProblem modelProblem : problems) { - message.append(String.format( - "\n* %s @ %s", - modelProblem.getMessage(), ModelProblemUtils.formatLocation(modelProblem, null))); + message.append("\n* %s @ %s" + .formatted( + modelProblem.getMessage(), + ModelProblemUtils.formatLocation(modelProblem, null))); } logger.warn(message.toString()); } else { diff --git a/compat/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java b/compat/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java index ef2e32469d55..1b5fd3fe7959 100644 --- a/compat/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java +++ b/compat/maven-resolver-provider/src/main/java/org/apache/maven/repository/internal/DefaultModelResolver.java @@ -180,8 +180,7 @@ public ModelSource resolveModel(final Parent parent) throws UnresolvableModelExc if (versionRangeResult.getHighestVersion() == null) { throw new UnresolvableModelException( - String.format( - "No versions matched the requested parent version range '%s'", parent.getVersion()), + "No versions matched the requested parent version range '%s'".formatted(parent.getVersion()), parent.getGroupId(), parent.getArtifactId(), parent.getVersion()); @@ -192,9 +191,8 @@ public ModelSource resolveModel(final Parent parent) throws UnresolvableModelExc && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null) { // Message below is checked for in the MNG-2199 core IT. throw new UnresolvableModelException( - String.format( - "The requested parent version range '%s' does not specify an upper bound", - parent.getVersion()), + "The requested parent version range '%s' does not specify an upper bound" + .formatted(parent.getVersion()), parent.getGroupId(), parent.getArtifactId(), parent.getVersion()); @@ -223,9 +221,8 @@ public ModelSource resolveModel(final Dependency dependency) throws Unresolvable if (versionRangeResult.getHighestVersion() == null) { throw new UnresolvableModelException( - String.format( - "No versions matched the requested dependency version range '%s'", - dependency.getVersion()), + "No versions matched the requested dependency version range '%s'" + .formatted(dependency.getVersion()), dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion()); @@ -236,9 +233,8 @@ public ModelSource resolveModel(final Dependency dependency) throws Unresolvable && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null) { // Message below is checked for in the MNG-4463 core IT. throw new UnresolvableModelException( - String.format( - "The requested dependency version range '%s' does not specify an upper bound", - dependency.getVersion()), + "The requested dependency version range '%s' does not specify an upper bound" + .formatted(dependency.getVersion()), dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion()); diff --git a/compat/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java b/compat/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java index cc58b3d80d70..b29ed0858101 100644 --- a/compat/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java +++ b/compat/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataTest.java @@ -44,7 +44,7 @@ class RemoteSnapshotMetadataTest { @BeforeEach void setLocaleToUseBuddhistCalendar() { defaultLocale = Locale.getDefault(); - Locale.setDefault(new Locale("th", "TH")); + Locale.setDefault(Locale.of("th", "TH")); } @AfterEach diff --git a/compat/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java b/compat/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java index ce33186a73e1..f50e76ec3cd6 100644 --- a/compat/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java +++ b/compat/maven-resolver-provider/src/test/java/org/apache/maven/repository/internal/RepositorySystemTest.java @@ -65,7 +65,7 @@ void testReadArtifactDescriptor() throws Exception { List deps = result.getDependencies(); assertEquals(2, deps.size()); - checkUtSimpleArtifactDependencies(deps.get(0), deps.get(1)); + checkUtSimpleArtifactDependencies(deps.getFirst(), deps.get(1)); } /** @@ -126,7 +126,7 @@ void testCollectDependencies() throws Exception { List nodes = collectResult.getRoot().getChildren(); assertEquals(2, nodes.size()); checkUtSimpleArtifactDependencies( - nodes.get(0).getDependency(), nodes.get(1).getDependency()); + nodes.getFirst().getDependency(), nodes.get(1).getDependency()); } @Test @@ -178,7 +178,7 @@ void testResolveArtifacts() throws Exception { List results = system.resolveArtifacts(session, requests); assertEquals(3, results.size()); - checkArtifactResult(results.get(0), "artifact-1.0.jar"); + checkArtifactResult(results.getFirst(), "artifact-1.0.jar"); checkArtifactResult(results.get(1), "artifact-1.0.zip"); checkArtifactResult(results.get(2), "artifact-1.0-classifier.zip"); } diff --git a/compat/maven-settings-builder/pom.xml b/compat/maven-settings-builder/pom.xml index dac986044776..35090d27e4c8 100644 --- a/compat/maven-settings-builder/pom.xml +++ b/compat/maven-settings-builder/pom.xml @@ -38,6 +38,10 @@ under the License. + + jakarta.inject + jakarta.inject-api + org.codehaus.plexus plexus-interpolation diff --git a/compat/maven-settings-builder/src/main/java/org/apache/maven/settings/crypto/DefaultSettingsDecryptionResult.java b/compat/maven-settings-builder/src/main/java/org/apache/maven/settings/crypto/DefaultSettingsDecryptionResult.java index ab0440452416..9ed561df45ff 100644 --- a/compat/maven-settings-builder/src/main/java/org/apache/maven/settings/crypto/DefaultSettingsDecryptionResult.java +++ b/compat/maven-settings-builder/src/main/java/org/apache/maven/settings/crypto/DefaultSettingsDecryptionResult.java @@ -47,7 +47,7 @@ class DefaultSettingsDecryptionResult implements SettingsDecryptionResult { @Override public Server getServer() { - return servers.isEmpty() ? null : servers.get(0); + return servers.isEmpty() ? null : servers.getFirst(); } @Override @@ -57,7 +57,7 @@ public List getServers() { @Override public Proxy getProxy() { - return proxies.isEmpty() ? null : proxies.get(0); + return proxies.isEmpty() ? null : proxies.getFirst(); } @Override diff --git a/compat/maven-settings-builder/src/main/java/org/apache/maven/settings/crypto/MavenSecDispatcher.java b/compat/maven-settings-builder/src/main/java/org/apache/maven/settings/crypto/MavenSecDispatcher.java index 4ac37151d812..f521cd41fcdf 100644 --- a/compat/maven-settings-builder/src/main/java/org/apache/maven/settings/crypto/MavenSecDispatcher.java +++ b/compat/maven-settings-builder/src/main/java/org/apache/maven/settings/crypto/MavenSecDispatcher.java @@ -23,7 +23,6 @@ import javax.inject.Singleton; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Map; import org.apache.maven.api.Constants; @@ -50,9 +49,9 @@ public MavenSecDispatcher(Map dispatchers) { private static Path configurationFile() { String mavenUserConf = System.getProperty(Constants.MAVEN_USER_CONF); if (mavenUserConf != null) { - return Paths.get(mavenUserConf, FILE_NAME); + return Path.of(mavenUserConf, FILE_NAME); } // this means we are in UT or alike - return Paths.get(System.getProperty("user.home"), ".m2", FILE_NAME); + return Path.of(System.getProperty("user.home"), ".m2", FILE_NAME); } } diff --git a/compat/maven-settings-builder/src/test/java/org/apache/maven/settings/validation/DefaultSettingsValidatorTest.java b/compat/maven-settings-builder/src/test/java/org/apache/maven/settings/validation/DefaultSettingsValidatorTest.java index 0feff31d3cbd..0343eb5c7099 100644 --- a/compat/maven-settings-builder/src/test/java/org/apache/maven/settings/validation/DefaultSettingsValidatorTest.java +++ b/compat/maven-settings-builder/src/test/java/org/apache/maven/settings/validation/DefaultSettingsValidatorTest.java @@ -98,7 +98,7 @@ void testValidateMirror() throws Exception { SimpleProblemCollector problems = new SimpleProblemCollector(); validator.validate(settings, problems); assertEquals(4, problems.messages.size()); - assertContains(problems.messages.get(0), "'mirrors.mirror.id' must not be 'local'"); + assertContains(problems.messages.getFirst(), "'mirrors.mirror.id' must not be 'local'"); assertContains(problems.messages.get(1), "'mirrors.mirror.url' for local is missing"); assertContains(problems.messages.get(2), "'mirrors.mirror.mirrorOf' for local is missing"); assertContains(problems.messages.get(3), "'mirrors.mirror.id' must not contain any of these characters"); @@ -121,7 +121,8 @@ void testValidateRepository() throws Exception { validator.validate(settings, problems); assertEquals(3, problems.messages.size()); assertContains( - problems.messages.get(0), "'profiles.profile[default].repositories.repository.id' must not be 'local'"); + problems.messages.getFirst(), + "'profiles.profile[default].repositories.repository.id' must not be 'local'"); assertContains( problems.messages.get(1), "'profiles.profile[default].repositories.repository.url' for local is missing"); @@ -144,7 +145,8 @@ void testValidateUniqueServerId() throws Exception { validator.validate(settings, problems); assertEquals(1, problems.messages.size()); assertContains( - problems.messages.get(0), "'servers.server.id' must be unique but found duplicate server with id test"); + problems.messages.getFirst(), + "'servers.server.id' must be unique but found duplicate server with id test"); } @Test @@ -161,7 +163,7 @@ void testValidateUniqueProfileId() throws Exception { validator.validate(settings, problems); assertEquals(1, problems.messages.size()); assertContains( - problems.messages.get(0), + problems.messages.getFirst(), "'profiles.profile.id' must be unique but found duplicate profile with id test"); } @@ -184,7 +186,7 @@ void testValidateUniqueRepositoryId() throws Exception { validator.validate(settings, problems); assertEquals(1, problems.messages.size()); assertContains( - problems.messages.get(0), + problems.messages.getFirst(), "'profiles.profile[pro].repositories.repository.id' must be unique" + " but found duplicate repository with id test"); } @@ -203,7 +205,7 @@ void testValidateUniqueProxyId() throws Exception { validator.validate(settings, problems); assertEquals(1, problems.messages.size()); assertContains( - problems.messages.get(0), + problems.messages.getFirst(), "'proxies.proxy.id' must be unique" + " but found duplicate proxy with id " + id); } @@ -216,7 +218,7 @@ void testValidateProxy() throws Exception { SimpleProblemCollector problems = new SimpleProblemCollector(); validator.validate(settings, problems); assertEquals(1, problems.messages.size()); - assertContains(problems.messages.get(0), "'proxies.proxy.host' for default is missing"); + assertContains(problems.messages.getFirst(), "'proxies.proxy.host' for default is missing"); } private static class SimpleProblemCollector implements SettingsProblemCollector { diff --git a/compat/maven-toolchain-builder/pom.xml b/compat/maven-toolchain-builder/pom.xml index d1b4ada0fd15..7984e15db728 100644 --- a/compat/maven-toolchain-builder/pom.xml +++ b/compat/maven-toolchain-builder/pom.xml @@ -32,6 +32,10 @@ under the License. The effective toolchain builder. + + jakarta.inject + jakarta.inject-api + org.apache.maven maven-api-toolchain diff --git a/compat/maven-toolchain-builder/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java b/compat/maven-toolchain-builder/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java index 8e3fb5d467ea..6234051f6d23 100644 --- a/compat/maven-toolchain-builder/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java +++ b/compat/maven-toolchain-builder/src/test/java/org/apache/maven/toolchain/building/DefaultToolchainsBuilderTest.java @@ -100,12 +100,13 @@ void testBuildRequestWithUserToolchains() throws Exception { assertNotNull(result.getEffectiveToolchains()); assertEquals(1, result.getEffectiveToolchains().getToolchains().size()); assertEquals( - "TYPE", result.getEffectiveToolchains().getToolchains().get(0).getType()); + "TYPE", + result.getEffectiveToolchains().getToolchains().getFirst().getType()); assertEquals( "user_value", result.getEffectiveToolchains() .getToolchains() - .get(0) + .getFirst() .getProvides() .get("key")); assertNotNull(result.getProblems()); @@ -130,12 +131,13 @@ void testBuildRequestWithGlobalToolchains() throws Exception { assertNotNull(result.getEffectiveToolchains()); assertEquals(1, result.getEffectiveToolchains().getToolchains().size()); assertEquals( - "TYPE", result.getEffectiveToolchains().getToolchains().get(0).getType()); + "TYPE", + result.getEffectiveToolchains().getToolchains().getFirst().getType()); assertEquals( "global_value", result.getEffectiveToolchains() .getToolchains() - .get(0) + .getFirst() .getProvides() .get("key")); assertNotNull(result.getProblems()); @@ -170,12 +172,13 @@ void testBuildRequestWithBothToolchains() throws Exception { assertNotNull(result.getEffectiveToolchains()); assertEquals(2, result.getEffectiveToolchains().getToolchains().size()); assertEquals( - "TYPE", result.getEffectiveToolchains().getToolchains().get(0).getType()); + "TYPE", + result.getEffectiveToolchains().getToolchains().getFirst().getType()); assertEquals( "user_value", result.getEffectiveToolchains() .getToolchains() - .get(0) + .getFirst() .getProvides() .get("key")); assertEquals( @@ -253,11 +256,11 @@ void testEnvironmentVariablesAreInterpolated() throws Exception { interpolatedValue, result.getEffectiveToolchains() .getToolchains() - .get(0) + .getFirst() .getProvides() .get("key")); org.codehaus.plexus.util.xml.Xpp3Dom toolchainConfiguration = (org.codehaus.plexus.util.xml.Xpp3Dom) - result.getEffectiveToolchains().getToolchains().get(0).getConfiguration(); + result.getEffectiveToolchains().getToolchains().getFirst().getConfiguration(); assertEquals( interpolatedValue, toolchainConfiguration.getChild("jdkHome").getValue()); assertNotNull(result.getProblems()); @@ -283,7 +286,7 @@ void testNonExistingEnvironmentVariablesAreNotInterpolated() throws Exception { "${env.testNonExistingKey}", result.getEffectiveToolchains() .getToolchains() - .get(0) + .getFirst() .getProvides() .get("key")); assertNotNull(result.getProblems()); @@ -310,7 +313,7 @@ void testEnvironmentVariablesWithSpecialCharactersAreInterpolated() throws Excep interpolatedValue, result.getEffectiveToolchains() .getToolchains() - .get(0) + .getFirst() .getProvides() .get("key")); assertNotNull(result.getProblems()); diff --git a/compat/maven-toolchain-builder/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java b/compat/maven-toolchain-builder/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java index 3379ef666d12..d5691b0359a5 100644 --- a/compat/maven-toolchain-builder/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java +++ b/compat/maven-toolchain-builder/src/test/java/org/apache/maven/toolchain/merge/MavenToolchainMergerTest.java @@ -95,7 +95,7 @@ void testMergeJdkExtend() throws Exception { merger.merge(jdks, jdksExtend, TrackableBase.USER_LEVEL); assertEquals(2, jdks.getToolchains().size()); - Xpp3Dom config0 = (Xpp3Dom) jdks.getToolchains().get(0).getConfiguration(); + Xpp3Dom config0 = (Xpp3Dom) jdks.getToolchains().getFirst().getConfiguration(); assertEquals("lib/tools.jar", config0.getChild("toolsJar").getValue()); assertEquals(2, config0.getChildCount()); Xpp3Dom config1 = (Xpp3Dom) jdks.getToolchains().get(1).getConfiguration(); @@ -113,7 +113,7 @@ void testMergeJdkExtend() throws Exception { // switch dominant with recessive merger.merge(jdksExtend, jdks, TrackableBase.USER_LEVEL); assertEquals(2, jdksExtend.getToolchains().size()); - Xpp3Dom config0 = (Xpp3Dom) jdksExtend.getToolchains().get(0).getConfiguration(); + Xpp3Dom config0 = (Xpp3Dom) jdksExtend.getToolchains().getFirst().getConfiguration(); assertEquals("lib/tools.jar", config0.getChild("toolsJar").getValue()); assertEquals(2, config0.getChildCount()); Xpp3Dom config1 = (Xpp3Dom) jdksExtend.getToolchains().get(1).getConfiguration(); diff --git a/impl/maven-cli/pom.xml b/impl/maven-cli/pom.xml index 4ab36ecf7e4a..9d084f3c7628 100644 --- a/impl/maven-cli/pom.xml +++ b/impl/maven-cli/pom.xml @@ -180,6 +180,10 @@ under the License. commons-cli commons-cli + + jakarta.inject + jakarta.inject-api + ch.qos.logback logback-classic diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/extensions/BootstrapCoreExtensionManager.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/extensions/BootstrapCoreExtensionManager.java index 89dd0e0c0e3f..811ae188c198 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/extensions/BootstrapCoreExtensionManager.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/extensions/BootstrapCoreExtensionManager.java @@ -203,7 +203,7 @@ private CoreExtensionEntry createExtension(CoreExtension extension, List> userProperties() { @Override public String source() { - return String.format( - "layered(%s)", options.stream().map(Options::source).toList()); + return "layered(%s)".formatted(options.stream().map(Options::source).toList()); } @Override @@ -147,7 +146,7 @@ public void warnAboutDeprecatedOptions(ParserRequest request, Consumer p @Override public void displayHelp(ParserRequest request, Consumer printWriter) { - options.get(0).displayHelp(request, printWriter); + options.getFirst().displayHelp(request, printWriter); } protected Optional returnFirstPresentOrEmpty(Function> getter) { diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupInvoker.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupInvoker.java index c0b8c50b56f3..3b4ea971b65f 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupInvoker.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupInvoker.java @@ -694,9 +694,8 @@ protected Runnable settings(C context, boolean emitSettingsWarnings, SettingsBui if (emitSettingsWarnings && settingsResult.getProblems().hasWarningProblems()) { int totalProblems = settingsResult.getProblems().totalProblemsReported(); context.logger.info(""); - context.logger.info(String.format( - "%s %s encountered while building the effective settings (use -e to see details)", - totalProblems, (totalProblems == 1) ? "problem was" : "problems were")); + context.logger.info("%s %s encountered while building the effective settings (use -e to see details)" + .formatted(totalProblems, (totalProblems == 1) ? "problem was" : "problems were")); if (context.invokerRequest.options().showErrors().orElse(false)) { for (BuilderProblem problem : diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PrecedenceCoreExtensionSelector.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PrecedenceCoreExtensionSelector.java index 6edfde98eee4..64c263edc2b9 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PrecedenceCoreExtensionSelector.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PrecedenceCoreExtensionSelector.java @@ -61,11 +61,11 @@ protected List selectCoreExtensions(C context, List detectCI() { ArrayList result = ServiceLoader.load(CIDetector.class).stream() .map(ServiceLoader.Provider::get) .map(CIDetector::detectCI) - .filter(Optional::isPresent) - .map(Optional::get) + .flatMap(Optional::stream) .collect(Collectors.toCollection(ArrayList::new)); if (result.size() > 1) { diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/LayeredMavenOptions.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/LayeredMavenOptions.java index d88e08b04721..fc02dc7c6393 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/LayeredMavenOptions.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/LayeredMavenOptions.java @@ -39,7 +39,7 @@ public static MavenOptions layerMavenOptions(Collection options) { if (o.isEmpty()) { throw new IllegalArgumentException("No options specified (or all were null)"); } else if (o.size() == 1) { - return o.get(0); + return o.getFirst(); } else { return new LayeredMavenOptions<>(o); } diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/MavenInvoker.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/MavenInvoker.java index 44b435712eaf..6f3f61966249 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/MavenInvoker.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/MavenInvoker.java @@ -207,9 +207,8 @@ protected void toolchains(MavenContext context, MavenExecutionRequest request) t if (toolchainsResult.getProblems().hasWarningProblems()) { int totalProblems = toolchainsResult.getProblems().totalProblemsReported(); context.logger.info(""); - context.logger.info(String.format( - "%s %s encountered while building the effective toolchains (use -e to see details)", - totalProblems, (totalProblems == 1) ? "problem was" : "problems were")); + context.logger.info("%s %s encountered while building the effective toolchains (use -e to see details)" + .formatted(totalProblems, (totalProblems == 1) ? "problem was" : "problems were")); if (context.invokerRequest.options().showErrors().orElse(false)) { for (BuilderProblem problem : @@ -507,8 +506,8 @@ protected int doExecute(MavenContext context, MavenExecutionRequest request) thr // Sort the failedProjects list in the topologically sorted order. failedProjects.sort(comparing(sortedProjects::indexOf)); - MavenProject firstFailedProject = failedProjects.get(0); - if (!firstFailedProject.equals(sortedProjects.get(0))) { + MavenProject firstFailedProject = failedProjects.getFirst(); + if (!firstFailedProject.equals(sortedProjects.getFirst())) { String resumeFromSelector = getResumeFromSelector(sortedProjects, firstFailedProject); logBuildResumeHint(context, "mvn [args] -rf " + resumeFromSelector); } diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/EncryptInvoker.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/EncryptInvoker.java index 6ae551a6a4cf..2cfce92d7f32 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/EncryptInvoker.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/EncryptInvoker.java @@ -89,7 +89,7 @@ protected int execute(EncryptContext context) throws Exception { return badGoalsErrorMessage("No goal or multiple goals specified, specify only one goal.", context); } - String goalName = options.goals().get().get(0); + String goalName = options.goals().get().getFirst(); Goal goal = context.goals.get(goalName); if (goal == null) { diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/EncryptParser.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/EncryptParser.java index 378f81f38326..4d8ba83a726b 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/EncryptParser.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/EncryptParser.java @@ -70,6 +70,6 @@ protected CommonsCliEncryptOptions parseEncryptCliOptions(List args) { @Override protected Options assembleOptions(List parsedOptions) { // nothing to assemble, we deal with CLI only - return parsedOptions.get(0); + return parsedOptions.getFirst(); } } diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnsh/ShellParser.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnsh/ShellParser.java index 31c87e2f9056..822b769e5475 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnsh/ShellParser.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnsh/ShellParser.java @@ -69,6 +69,6 @@ protected CommonsCliShellOptions parseShellCliOptions(List args) { @Override protected Options assembleOptions(List parsedOptions) { // nothing to assemble, we deal with CLI only - return parsedOptions.get(0); + return parsedOptions.getFirst(); } } diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenProperties.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenProperties.java index da01bf6a9650..7bfd7a7f7f9f 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenProperties.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/props/MavenProperties.java @@ -281,7 +281,7 @@ public String put(String key, List commentLines, List valueLines valueLines.add(escapedKey + "="); sb.append(escapedKey).append("="); } else { - String val0 = valueLines.get(0); + String val0 = valueLines.getFirst(); String rv0 = typed ? val0 : escapeJava(val0); if (!val0.trim().startsWith(escapedKey)) { valueLines.set(0, escapedKey + " = " + rv0 /*+ (0 < lastLine? "\\": "")*/); diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/transfer/FileSizeFormat.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/transfer/FileSizeFormat.java index 4721750a837c..71471022ad2d 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/transfer/FileSizeFormat.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/transfer/FileSizeFormat.java @@ -160,7 +160,7 @@ public void formatRate(MessageBuilder builder, double rate) { ScaleUnit unit = ScaleUnit.getScaleUnit(Math.round(rate)); double scaledRate = rate / unit.bytes(); - builder.append(String.format("%.1f", scaledRate)); + builder.append("%.1f".formatted(scaledRate)); builder.append(" ").append(unit.symbol()).append("/s"); } diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/utils/CLIReportingUtils.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/utils/CLIReportingUtils.java index 18ae405b3409..8289b55628e5 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/utils/CLIReportingUtils.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/utils/CLIReportingUtils.java @@ -172,13 +172,13 @@ public static String formatDuration(Duration duration) { long millis = duration.toMillisPart(); if (days > 0) { - return String.format("%d d %02d:%02d h", days, hours, minutes); + return "%d d %02d:%02d h".formatted(days, hours, minutes); } else if (hours > 0) { - return String.format("%02d:%02d h", hours, minutes); + return "%02d:%02d h".formatted(hours, minutes); } else if (minutes > 0) { - return String.format("%02d:%02d min", minutes, seconds); + return "%02d:%02d min".formatted(minutes, seconds); } else { - return String.format("%d.%03d s", seconds, millis); + return "%d.%03d s".formatted(seconds, millis); } } } diff --git a/impl/maven-core/pom.xml b/impl/maven-core/pom.xml index 653d9ec7ae44..8a9d3e9cc7be 100644 --- a/impl/maven-core/pom.xml +++ b/impl/maven-core/pom.xml @@ -33,6 +33,10 @@ under the License. + + jakarta.inject + jakarta.inject-api + org.apache.maven maven-api-annotations diff --git a/impl/maven-core/src/main/java/org/apache/maven/DefaultMaven.java b/impl/maven-core/src/main/java/org/apache/maven/DefaultMaven.java index 4a64c009a2a6..7e17376cbd87 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/DefaultMaven.java +++ b/impl/maven-core/src/main/java/org/apache/maven/DefaultMaven.java @@ -313,7 +313,7 @@ private MavenExecutionResult doExecute( validateOptionalProfiles(session, request.getProfileActivation()); if (session.getResult().hasExceptions()) { - addExceptionToResult(result, session.getResult().getExceptions().get(0)); + addExceptionToResult(result, session.getResult().getExceptions().getFirst()); persistResumptionData(result, session); return result; } else { diff --git a/impl/maven-core/src/main/java/org/apache/maven/ReactorReader.java b/impl/maven-core/src/main/java/org/apache/maven/ReactorReader.java index 1c242712ba49..b1cd341a602d 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/ReactorReader.java +++ b/impl/maven-core/src/main/java/org/apache/maven/ReactorReader.java @@ -218,7 +218,7 @@ private File determineBuildOutputDirectoryForArtifact(final MavenProject project } private boolean isPackagedArtifactUpToDate(MavenProject project, File packagedArtifactFile) { - Path outputDirectory = Paths.get(project.getBuild().getOutputDirectory()); + Path outputDirectory = Path.of(project.getBuild().getOutputDirectory()); if (!outputDirectory.toFile().exists()) { return true; } diff --git a/impl/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java b/impl/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java index 1617b19c3714..2eed57b62418 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java +++ b/impl/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java @@ -391,7 +391,7 @@ private void checkLayout(String repositoryId, String layoutId, ArtifactRepositor throws InvalidRepositoryException { if (layout == null) { throw new InvalidRepositoryException( - String.format("Cannot find ArtifactRepositoryLayout instance for: %s %s", layoutId, repositoryId), + "Cannot find ArtifactRepositoryLayout instance for: %s %s".formatted(layoutId, repositoryId), repositoryId); } } @@ -637,7 +637,7 @@ public List getEffectiveRepositories(List type) { @Override protected Object fromString(String value) throws ComponentConfigurationException { - return Paths.get(value.replace('/' == File.separatorChar ? '\\' : '/', File.separatorChar)); + return Path.of(value.replace('/' == File.separatorChar ? '\\' : '/', File.separatorChar)); } @Override diff --git a/impl/maven-core/src/main/java/org/apache/maven/configuration/internal/EnhancedConfigurationConverter.java b/impl/maven-core/src/main/java/org/apache/maven/configuration/internal/EnhancedConfigurationConverter.java index 0aff600e7591..58ac1b17ee2e 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/configuration/internal/EnhancedConfigurationConverter.java +++ b/impl/maven-core/src/main/java/org/apache/maven/configuration/internal/EnhancedConfigurationConverter.java @@ -59,8 +59,8 @@ protected Object fromExpression( failIfNotTypeCompatible(result, type, configuration); return result; } catch (final ExpressionEvaluationException e) { - final String reason = String.format( - "Cannot evaluate expression '%s' for configuration entry '%s'", value, configuration.getName()); + final String reason = "Cannot evaluate expression '%s' for configuration entry '%s'" + .formatted(value, configuration.getName()); throw new ComponentConfigurationException(configuration, reason, e); } diff --git a/impl/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionDataRepository.java b/impl/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionDataRepository.java index f19ca25fc534..5fb7bd66e64d 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionDataRepository.java +++ b/impl/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionDataRepository.java @@ -26,7 +26,6 @@ import java.io.Writer; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Properties; import java.util.stream.Stream; @@ -51,7 +50,7 @@ public void persistResumptionData(MavenProject rootProject, BuildResumptionData throws BuildResumptionPersistenceException { Properties properties = convertToProperties(buildResumptionData); - Path resumeProperties = Paths.get(rootProject.getBuild().getDirectory(), RESUME_PROPERTIES_FILENAME); + Path resumeProperties = Path.of(rootProject.getBuild().getDirectory(), RESUME_PROPERTIES_FILENAME); try { Files.createDirectories(resumeProperties.getParent()); try (Writer writer = Files.newBufferedWriter(resumeProperties)) { @@ -75,13 +74,13 @@ private Properties convertToProperties(final BuildResumptionData buildResumption @Override public void applyResumptionData(MavenExecutionRequest request, MavenProject rootProject) { Properties properties = - loadResumptionFile(Paths.get(rootProject.getBuild().getDirectory())); + loadResumptionFile(Path.of(rootProject.getBuild().getDirectory())); applyResumptionProperties(request, properties); } @Override public void removeResumptionData(MavenProject rootProject) { - Path resumeProperties = Paths.get(rootProject.getBuild().getDirectory(), RESUME_PROPERTIES_FILENAME); + Path resumeProperties = Path.of(rootProject.getBuild().getDirectory(), RESUME_PROPERTIES_FILENAME); try { Files.deleteIfExists(resumeProperties); } catch (IOException e) { diff --git a/impl/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java b/impl/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java index 400e1653cc31..ad142437a6b9 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java +++ b/impl/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java @@ -93,7 +93,7 @@ public class MavenSession implements Cloneable { public void setProjects(List projects) { if (!projects.isEmpty()) { - MavenProject first = projects.get(0); + MavenProject first = projects.getFirst(); this.currentProject = ThreadLocal.withInitial(() -> first); this.topLevelProject = projects.stream() .filter(project -> project.isExecutionRoot()) diff --git a/impl/maven-core/src/main/java/org/apache/maven/graph/ProjectSelector.java b/impl/maven-core/src/main/java/org/apache/maven/graph/ProjectSelector.java index 25b9adae022b..bc511fc8d679 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/graph/ProjectSelector.java +++ b/impl/maven-core/src/main/java/org/apache/maven/graph/ProjectSelector.java @@ -96,7 +96,7 @@ public Set getRequiredProjectsBySelectors( for (String selector : projectSelectors) { Optional optSelectedProject = findOptionalProjectBySelector(projects, baseDirectory, selector); - if (!optSelectedProject.isPresent()) { + if (optSelectedProject.isEmpty()) { String message = "Could not find the selected project in the reactor: " + selector; throw new MavenExecutionException(message, request.getPom()); } diff --git a/impl/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java b/impl/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java index 9d1a3441e7bf..cc17c3730e1f 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java +++ b/impl/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java @@ -19,7 +19,6 @@ package org.apache.maven.internal.aether; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -367,7 +366,7 @@ public SessionBuilder newRepositorySessionBuilder(MavenExecutionRequest request) .map(this::resolve) .forEach(paths::add); } - paths.add(Paths.get(request.getLocalRepository().getBasedir())); + paths.add(Path.of(request.getLocalRepository().getBasedir())); String localRepoTail = mergedProps.get(Constants.MAVEN_REPO_LOCAL_TAIL); if (localRepoTail != null) { Arrays.stream(localRepoTail.split(",")) @@ -403,13 +402,13 @@ public SessionBuilder newRepositorySessionBuilder(MavenExecutionRequest request) private Path resolve(String string) { if (string.startsWith("~/") || string.startsWith("~\\")) { // resolve based on $HOME - return Paths.get(System.getProperty("user.home")) + return Path.of(System.getProperty("user.home")) .resolve(string.substring(2)) .normalize() .toAbsolutePath(); } else { // resolve based on $CWD - return Paths.get(string).normalize().toAbsolutePath(); + return Path.of(string).normalize().toAbsolutePath(); } } @@ -457,7 +456,7 @@ private VersionFilter buildVersionFilter(String filterExpression) { if (filters.isEmpty()) { return null; } else if (filters.size() == 1) { - return filters.get(0); + return filters.getFirst(); } else { return ChainedVersionFilter.newInstance(filters); } diff --git a/impl/maven-core/src/main/java/org/apache/maven/internal/aether/ReverseTreeRepositoryListener.java b/impl/maven-core/src/main/java/org/apache/maven/internal/aether/ReverseTreeRepositoryListener.java index a7379ae3cb9d..06864241628c 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/internal/aether/ReverseTreeRepositoryListener.java +++ b/impl/maven-core/src/main/java/org/apache/maven/internal/aether/ReverseTreeRepositoryListener.java @@ -124,10 +124,11 @@ public void artifactResolved(RepositoryEvent event) { indent.append(" "); } } else if (collectStepTrace != null) { - if (collectStepTrace.getPath().get(0).getArtifact() == null) { + if (collectStepTrace.getPath().getFirst().getArtifact() == null) { return; } - baseName = ArtifactIdUtils.toId(collectStepTrace.getPath().get(0).getArtifact()) + baseName = ArtifactIdUtils.toId( + collectStepTrace.getPath().getFirst().getArtifact()) .replace(":", "_"); trackingFile = trackingDir.resolve(baseName + ext); if (Files.exists(trackingFile)) { diff --git a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/SisuDiBridgeModule.java b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/SisuDiBridgeModule.java index a51a0fa4a365..d73bd714f543 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/SisuDiBridgeModule.java +++ b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/SisuDiBridgeModule.java @@ -187,7 +187,7 @@ private Supplier getBeanSupplier(Dependency dep, Key key) { if (!list.isEmpty()) { list.sort(getBindingComparator()); //noinspection unchecked - return () -> (Q) getInstance(list.iterator().next()); + return () -> (Q) getInstance(list.getFirst()); } else if (dep.optional()) { return () -> null; } else { diff --git a/impl/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/DefaultConsumerPomArtifactTransformer.java b/impl/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/DefaultConsumerPomArtifactTransformer.java index 7a1d32e07710..d195907d8114 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/DefaultConsumerPomArtifactTransformer.java +++ b/impl/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/DefaultConsumerPomArtifactTransformer.java @@ -27,7 +27,6 @@ import java.io.Writer; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -78,7 +77,7 @@ public void injectTransformedArtifacts(RepositorySystemSession session, MavenPro } if (Features.consumerPom(session.getUserProperties(), true)) { Path buildDir = - project.getBuild() != null ? Paths.get(project.getBuild().getDirectory()) : null; + project.getBuild() != null ? Path.of(project.getBuild().getDirectory()) : null; if (buildDir != null) { Files.createDirectories(buildDir); } @@ -193,8 +192,8 @@ void write(Model model, Path dest) throws IOException, XMLStreamException { Files.createDirectories(dest.getParent()); try (Writer w = Files.newBufferedWriter(dest)) { MavenStaxWriter writer = new MavenStaxWriter(); - writer.setNamespace(String.format(NAMESPACE_FORMAT, version)); - writer.setSchemaLocation(String.format(SCHEMA_LOCATION_FORMAT, version)); + writer.setNamespace(NAMESPACE_FORMAT.formatted(version)); + writer.setSchemaLocation(SCHEMA_LOCATION_FORMAT.formatted(version)); writer.setAddLocationInformation(false); writer.write(w, model); } diff --git a/impl/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/TransformedArtifact.java b/impl/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/TransformedArtifact.java index e928e6101896..dcfcc9dc2121 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/TransformedArtifact.java +++ b/impl/maven-core/src/main/java/org/apache/maven/internal/transformation/impl/TransformedArtifact.java @@ -135,7 +135,7 @@ static String sha1(Path path) throws NoSuchAlgorithmException, IOException { } StringBuilder result = new StringBuilder(); for (byte b : md.digest()) { - result.append(String.format("%02x", b)); + result.append("%02x".formatted(b)); } return result.toString(); } diff --git a/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildThreadFactory.java b/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildThreadFactory.java index 7f55ba972fc2..35469574eed1 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildThreadFactory.java +++ b/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildThreadFactory.java @@ -31,6 +31,6 @@ public class BuildThreadFactory implements ThreadFactory { @Override public Thread newThread(Runnable r) { - return new Thread(r, String.format("%s-%d", PREFIX, id.getAndIncrement())); + return new Thread(r, "%s-%d".formatted(PREFIX, id.getAndIncrement())); } } diff --git a/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleStarter.java b/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleStarter.java index 645c6e8692c4..0bfc65d28c8a 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleStarter.java +++ b/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleStarter.java @@ -116,9 +116,8 @@ public void execute(MavenSession session) { int degreeOfConcurrency = session.getRequest().getDegreeOfConcurrency(); if (degreeOfConcurrency > 1) { logger.info(""); - logger.info(String.format( - "Using the %s implementation with a thread count of %d", - builder.getClass().getSimpleName(), degreeOfConcurrency)); + logger.info("Using the %s implementation with a thread count of %d" + .formatted(builder.getClass().getSimpleName(), degreeOfConcurrency)); } builder.build(session, reactorContext, projectBuilds, taskSegments, reactorBuildStatus); diff --git a/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/concurrent/BuildPlanExecutor.java b/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/concurrent/BuildPlanExecutor.java index 3bca5cf6b3f3..92facff25a48 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/concurrent/BuildPlanExecutor.java +++ b/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/concurrent/BuildPlanExecutor.java @@ -525,8 +525,8 @@ private void executeStep(BuildStep step) throws IOException, LifecycleExecutionE // Handle the stored exception Throwable failure; if (failures.size() == 1) { - failure = failures.get( - 0); // Single exception, no need to wrap it in a LifecycleExecutionException + failure = failures.getFirst(); // Single exception, no need to wrap it in a + // LifecycleExecutionException } else { failure = new LifecycleExecutionException("Error building project"); failures.forEach(failure::addSuppressed); diff --git a/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/concurrent/ConcurrentLifecycleStarter.java b/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/concurrent/ConcurrentLifecycleStarter.java index 3ba6c99499b6..f58ff33f7857 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/concurrent/ConcurrentLifecycleStarter.java +++ b/impl/maven-core/src/main/java/org/apache/maven/lifecycle/internal/concurrent/ConcurrentLifecycleStarter.java @@ -99,9 +99,8 @@ public void execute(MavenSession session) { int degreeOfConcurrency = session.getRequest().getDegreeOfConcurrency(); if (degreeOfConcurrency > 1) { logger.info(""); - logger.info(String.format( - "Using the %s implementation with a thread count of %d", - executor.getClass().getSimpleName(), degreeOfConcurrency)); + logger.info("Using the %s implementation with a thread count of %d" + .formatted(executor.getClass().getSimpleName(), degreeOfConcurrency)); } ClassLoader oldContextClassLoader = Thread.currentThread().getContextClassLoader(); diff --git a/impl/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorV4.java b/impl/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorV4.java index 3264fce446ae..d1dc3068f0e3 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorV4.java +++ b/impl/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorV4.java @@ -20,7 +20,6 @@ import java.io.File; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.HashMap; import java.util.Map; @@ -84,7 +83,7 @@ public PluginParameterExpressionEvaluatorV4(Session session, Project project, Mo } if (basedir == null) { - basedir = Paths.get(System.getProperty("user.dir")); + basedir = Path.of(System.getProperty("user.dir")); } this.basedir = basedir; diff --git a/impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java b/impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java index 1f969db53072..0bf3baad5c0a 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java +++ b/impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java @@ -315,7 +315,7 @@ public void checkPrerequisites(PluginDescriptor pluginDescriptor) throws PluginI PluginIncompatibleException pie = new PluginIncompatibleException( pluginDescriptor.getPlugin(), "The plugin " + pluginDescriptor.getId() + " has unmet prerequisites: " + messages, - prerequisiteExceptions.get(0)); + prerequisiteExceptions.getFirst()); // the first exception is added as cause, all other ones as suppressed exceptions prerequisiteExceptions.stream().skip(1).forEach(pie::addSuppressed); throw pie; @@ -988,7 +988,7 @@ public ExtensionRealmCache.CacheRecord setupExtensionsRealm( // ignore plugin descriptor parsing errors at this point // these errors will reported during calculation of project build execution plan try { - pluginDescriptor = extractPluginDescriptor(artifacts.get(0), plugin); + pluginDescriptor = extractPluginDescriptor(artifacts.getFirst(), plugin); } catch (PluginDescriptorParsingException | InvalidPluginDescriptorException e) { // ignore, see above } @@ -997,7 +997,7 @@ public ExtensionRealmCache.CacheRecord setupExtensionsRealm( discoverPluginComponents(extensionRealm, plugin, pluginDescriptor); ExtensionDescriptor extensionDescriptor = null; - Artifact extensionArtifact = artifacts.get(0); + Artifact extensionArtifact = artifacts.getFirst(); try { extensionDescriptor = extensionDescriptorBuilder.build(extensionArtifact.getFile()); } catch (IOException e) { diff --git a/impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java b/impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java index 16aee3db3130..0db6d1de134a 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java +++ b/impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java @@ -123,7 +123,7 @@ public Artifact resolve(Plugin plugin, List repositories, Repo pluginArtifact instanceof RelocatedArtifact relocated ? ": " + relocated.getMessage() : ""; logger.warn( "The artifact {} has been relocated to {}{}", - result.getRelocations().get(0), + result.getRelocations().getFirst(), pluginArtifact, message); } diff --git a/impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginValidationManager.java b/impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginValidationManager.java index 0bd14d1635d1..8ef5257aa13b 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginValidationManager.java +++ b/impl/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginValidationManager.java @@ -22,7 +22,6 @@ import javax.inject.Singleton; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -313,7 +312,7 @@ private String pluginDeclaration(MavenSession mavenSession, MojoDescriptor mojoD stringBuilder.append(" (").append(location).append(")"); } else { Path topDirectory = mavenSession.getTopDirectory(); - Path locationPath = Paths.get(location).toAbsolutePath().normalize(); + Path locationPath = Path.of(location).toAbsolutePath().normalize(); if (locationPath.startsWith(topDirectory)) { locationPath = topDirectory.relativize(locationPath); } diff --git a/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java b/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java index a14dfaabe158..391dd616a186 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java +++ b/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java @@ -578,17 +578,15 @@ private List convert( ArrayList problems = new ArrayList<>(); problemCollector.problems().map(BuildSession::convert).forEach(problems::add); if (problemCollector.problemsOverflow()) { - problems.add( - 0, - new DefaultModelProblem( - "Too many model problems reported (listed problems are just a subset of reported problems)", - org.apache.maven.model.building.ModelProblem.Severity.WARNING, - null, - null, - -1, - -1, - null, - null)); + problems.addFirst(new DefaultModelProblem( + "Too many model problems reported (listed problems are just a subset of reported problems)", + org.apache.maven.model.building.ModelProblem.Severity.WARNING, + null, + null, + -1, + -1, + null, + null)); return new ArrayList<>(problems) { @Override public int size() { diff --git a/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java b/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java index 345ffeb658cf..85de345b8236 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java +++ b/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java @@ -195,7 +195,7 @@ public synchronized ProjectRealmCache.CacheRecord createProjectRealm( if (!plugin.isExtensions() && artifacts.size() == 1 - && artifacts.get(0).getFile() != null) { + && artifacts.getFirst().getFile() != null) { /* * This is purely for backward-compat with 2.x where consisting of a single artifact where * loaded into the core and hence available to plugins, in contrast to bigger extensions that were diff --git a/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java b/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java index ab8407e6257d..e4002719aed7 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java +++ b/impl/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java @@ -172,8 +172,8 @@ public DependencyResolutionResult resolve(DependencyResolutionRequest request) org.eclipse.aether.artifact.Artifact artifact = child.getDependency().getArtifact(); String message = artifact instanceof RelocatedArtifact relocated ? relocated.getMessage() : null; - logger.warn("The artifact " + child.getRelocations().get(0) + " has been relocated to " + artifact - + (message != null ? ": " + message : "")); + logger.warn("The artifact " + child.getRelocations().getFirst() + " has been relocated to " + + artifact + (message != null ? ": " + message : "")); } } } diff --git a/impl/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java b/impl/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java index f8605c4cda77..26db1935aa24 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java +++ b/impl/maven-core/src/main/java/org/apache/maven/project/ProjectModelResolver.java @@ -191,8 +191,7 @@ public ModelSource resolveModel(final Parent parent) throws UnresolvableModelExc if (versionRangeResult.getHighestVersion() == null) { throw new UnresolvableModelException( - String.format( - "No versions matched the requested parent version range '%s'", parent.getVersion()), + "No versions matched the requested parent version range '%s'".formatted(parent.getVersion()), parent.getGroupId(), parent.getArtifactId(), parent.getVersion()); @@ -203,9 +202,8 @@ public ModelSource resolveModel(final Parent parent) throws UnresolvableModelExc && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null) { // Message below is checked for in the MNG-2199 core IT. throw new UnresolvableModelException( - String.format( - "The requested parent version range '%s' does not specify an upper bound", - parent.getVersion()), + "The requested parent version range '%s' does not specify an upper bound" + .formatted(parent.getVersion()), parent.getGroupId(), parent.getArtifactId(), parent.getVersion()); @@ -233,9 +231,8 @@ public ModelSource resolveModel(final Dependency dependency) throws Unresolvable if (versionRangeResult.getHighestVersion() == null) { throw new UnresolvableModelException( - String.format( - "No versions matched the requested dependency version range '%s'", - dependency.getVersion()), + "No versions matched the requested dependency version range '%s'" + .formatted(dependency.getVersion()), dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion()); @@ -246,9 +243,8 @@ public ModelSource resolveModel(final Dependency dependency) throws Unresolvable && versionRangeResult.getVersionConstraint().getRange().getUpperBound() == null) { // Message below is checked for in the MNG-4463 core IT. throw new UnresolvableModelException( - String.format( - "The requested dependency version range '%s' does not specify an upper bound", - dependency.getVersion()), + "The requested dependency version range '%s' does not specify an upper bound" + .formatted(dependency.getVersion()), dependency.getGroupId(), dependency.getArtifactId(), dependency.getVersion()); diff --git a/impl/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java b/impl/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java index 7c1f8e10205b..5b5982501128 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java @@ -84,7 +84,8 @@ void testThatErrorDuringProjectDependencyGraphCreationAreStored() throws Excepti MavenExecutionResult result = maven.execute(request); - assertEquals(ProjectCycleException.class, result.getExceptions().get(0).getClass()); + assertEquals( + ProjectCycleException.class, result.getExceptions().getFirst().getClass()); } @Test diff --git a/impl/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java b/impl/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java index b56822dda613..cb067d3a8c2a 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/MavenLifecycleParticipantTest.java @@ -45,7 +45,7 @@ public static class InjectDependencyLifecycleListener extends AbstractMavenLifec @Override public void afterProjectsRead(MavenSession session) { - MavenProject project = session.getProjects().get(0); + MavenProject project = session.getProjects().getFirst(); Dependency dependency = new Dependency(); dependency.setArtifactId(INJECTED_ARTIFACT_ID); @@ -118,7 +118,7 @@ void testDependencyInjection() throws Exception { ArrayList artifacts = new ArrayList<>(project.getArtifacts()); assertEquals(1, artifacts.size()); - assertEquals(INJECTED_ARTIFACT_ID, artifacts.get(0).getArtifactId()); + assertEquals(INJECTED_ARTIFACT_ID, artifacts.getFirst().getArtifactId()); } @Test diff --git a/impl/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorPathTest.java b/impl/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorPathTest.java index 263478ccb256..b483cf4316b0 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorPathTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/configuration/DefaultBeanConfiguratorPathTest.java @@ -23,7 +23,6 @@ import java.io.File; import java.io.StringReader; import java.nio.file.Path; -import java.nio.file.Paths; import org.apache.maven.api.xml.XmlService; import org.apache.maven.configuration.internal.DefaultBeanConfigurator; @@ -69,7 +68,7 @@ void testMinimal() throws BeanConfigurationException { configurator.configureBean(request); - assertEquals(Paths.get("test"), bean.file); + assertEquals(Path.of("test"), bean.file); } @Test @@ -93,7 +92,7 @@ void testPreAndPostProcessing() throws BeanConfigurationException { configurator.configureBean(request); - assertEquals(Paths.get("base/test").toAbsolutePath(), bean.file); + assertEquals(Path.of("base/test").toAbsolutePath(), bean.file); } @Test @@ -107,7 +106,7 @@ void testChildConfigurationElement() throws BeanConfigurationException { configurator.configureBean(request); - assertEquals(Paths.get("test"), bean.file); + assertEquals(Path.of("test"), bean.file); } static class SomeBean { diff --git a/impl/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java b/impl/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java index 334029918b19..7c147dd210a4 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/execution/DefaultMavenExecutionRequestPopulatorTest.java @@ -56,7 +56,7 @@ void testPluginRepositoryInjection() throws Exception { List repositories = request.getPluginArtifactRepositories(); assertEquals(1, repositories.size()); - assertEquals(r.getId(), repositories.get(0).getId()); - assertEquals(r.getUrl(), repositories.get(0).getUrl()); + assertEquals(r.getId(), repositories.getFirst().getId()); + assertEquals(r.getUrl(), repositories.getFirst().getUrl()); } } diff --git a/impl/maven-core/src/test/java/org/apache/maven/graph/DefaultGraphBuilderTest.java b/impl/maven-core/src/test/java/org/apache/maven/graph/DefaultGraphBuilderTest.java index cabbf41e1857..460d4a44a149 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/graph/DefaultGraphBuilderTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/graph/DefaultGraphBuilderTest.java @@ -19,7 +19,7 @@ package org.apache.maven.graph; import java.io.File; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -300,7 +300,7 @@ void testGetReactorProjects( parameterInactiveRequiredProjects.forEach(projectActivation::deactivateRequiredProject); parameterInactiveOptionalProjects.forEach(projectActivation::deactivateOptionalProject); - when(mavenExecutionRequest.getRootDirectory()).thenReturn(Paths.get(".")); + when(mavenExecutionRequest.getRootDirectory()).thenReturn(Path.of(".")); when(mavenExecutionRequest.getProjectActivation()).thenReturn(projectActivation); when(mavenExecutionRequest.getMakeBehavior()).thenReturn(parameterMakeBehavior); when(mavenExecutionRequest.getPom()).thenReturn(parameterRequestedPom); diff --git a/impl/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java b/impl/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java index fab4c1cfb134..78ec1ad64fdd 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/graph/DefaultProjectDependencyGraphTest.java @@ -58,7 +58,7 @@ void testNonTransitiveFiltering() throws DuplicateProjectException, CycleDetecte new DefaultProjectDependencyGraph(Arrays.asList(aProject, bProject, cProject)), Arrays.asList(aProject, cProject)); final List sortedProjects = graph.getSortedProjects(); - assertEquals(aProject, sortedProjects.get(0)); + assertEquals(aProject, sortedProjects.getFirst()); assertEquals(cProject, sortedProjects.get(1)); assertTrue(graph.getDownstreamProjects(aProject, false).contains(cProject)); @@ -68,7 +68,7 @@ void testNonTransitiveFiltering() throws DuplicateProjectException, CycleDetecte void testGetSortedProjects() throws DuplicateProjectException, CycleDetectedException { ProjectDependencyGraph graph = new DefaultProjectDependencyGraph(Arrays.asList(depender1, aProject)); final List sortedProjects = graph.getSortedProjects(); - assertEquals(aProject, sortedProjects.get(0)); + assertEquals(aProject, sortedProjects.getFirst()); assertEquals(depender1, sortedProjects.get(1)); } @@ -77,7 +77,7 @@ void testVerifyExpectedParentStructure() throws CycleDetectedException, Duplicat // This test verifies the baseline structure used in subsequent tests. If this fails, the rest will fail. ProjectDependencyGraph graph = threeProjectsDependingOnASingle(); final List sortedProjects = graph.getSortedProjects(); - assertEquals(aProject, sortedProjects.get(0)); + assertEquals(aProject, sortedProjects.getFirst()); assertEquals(depender1, sortedProjects.get(1)); assertEquals(depender2, sortedProjects.get(2)); assertEquals(depender3, sortedProjects.get(3)); @@ -87,7 +87,7 @@ void testVerifyExpectedParentStructure() throws CycleDetectedException, Duplicat void testVerifyThatDownstreamProjectsComeInSortedOrder() throws CycleDetectedException, DuplicateProjectException { final List downstreamProjects = threeProjectsDependingOnASingle().getDownstreamProjects(aProject, true); - assertEquals(depender1, downstreamProjects.get(0)); + assertEquals(depender1, downstreamProjects.getFirst()); assertEquals(depender2, downstreamProjects.get(1)); assertEquals(depender3, downstreamProjects.get(2)); } @@ -98,7 +98,7 @@ void testTransitivesInOrder() throws CycleDetectedException, DuplicateProjectExc new DefaultProjectDependencyGraph(Arrays.asList(depender1, depender4, depender2, depender3, aProject)); final List downstreamProjects = graph.getDownstreamProjects(aProject, true); - assertEquals(depender1, downstreamProjects.get(0)); + assertEquals(depender1, downstreamProjects.getFirst()); assertEquals(depender3, downstreamProjects.get(1)); assertEquals(depender4, downstreamProjects.get(2)); assertEquals(depender2, downstreamProjects.get(3)); @@ -110,7 +110,7 @@ void testNonTransitivesInOrder() throws CycleDetectedException, DuplicateProject new DefaultProjectDependencyGraph(Arrays.asList(depender1, depender4, depender2, depender3, aProject)); final List downstreamProjects = graph.getDownstreamProjects(aProject, false); - assertEquals(depender1, downstreamProjects.get(0)); + assertEquals(depender1, downstreamProjects.getFirst()); assertEquals(depender3, downstreamProjects.get(1)); assertEquals(depender4, downstreamProjects.get(2)); assertEquals(depender2, downstreamProjects.get(3)); @@ -122,7 +122,7 @@ void testWithTransitiveOnly() throws CycleDetectedException, DuplicateProjectExc Arrays.asList(depender1, transitiveOnly, depender2, depender3, aProject)); final List downstreamProjects = graph.getDownstreamProjects(aProject, true); - assertEquals(depender1, downstreamProjects.get(0)); + assertEquals(depender1, downstreamProjects.getFirst()); assertEquals(depender3, downstreamProjects.get(1)); assertEquals(transitiveOnly, downstreamProjects.get(2)); assertEquals(depender2, downstreamProjects.get(3)); @@ -134,7 +134,7 @@ void testWithMissingTransitiveOnly() throws CycleDetectedException, DuplicatePro Arrays.asList(depender1, transitiveOnly, depender2, depender3, aProject)); final List downstreamProjects = graph.getDownstreamProjects(aProject, false); - assertEquals(depender1, downstreamProjects.get(0)); + assertEquals(depender1, downstreamProjects.getFirst()); assertEquals(depender3, downstreamProjects.get(1)); assertEquals(depender2, downstreamProjects.get(2)); } @@ -143,7 +143,7 @@ void testWithMissingTransitiveOnly() throws CycleDetectedException, DuplicatePro void testGetUpstreamProjects() throws CycleDetectedException, DuplicateProjectException { ProjectDependencyGraph graph = threeProjectsDependingOnASingle(); final List downstreamProjects = graph.getUpstreamProjects(depender1, true); - assertEquals(aProject, downstreamProjects.get(0)); + assertEquals(aProject, downstreamProjects.getFirst()); } private ProjectDependencyGraph threeProjectsDependingOnASingle() diff --git a/impl/maven-core/src/test/java/org/apache/maven/internal/impl/DefaultProjectManagerTest.java b/impl/maven-core/src/test/java/org/apache/maven/internal/impl/DefaultProjectManagerTest.java index 560fd9941b6b..41beae4fc4d1 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/internal/impl/DefaultProjectManagerTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/internal/impl/DefaultProjectManagerTest.java @@ -19,7 +19,6 @@ package org.apache.maven.internal.impl; import java.nio.file.Path; -import java.nio.file.Paths; import org.apache.maven.api.ProducedArtifact; import org.apache.maven.api.Project; @@ -43,7 +42,7 @@ void attachArtifact() { MavenProject mavenProject = new MavenProject(); Project project = new DefaultProject(session, mavenProject); ProducedArtifact artifact = Mockito.mock(ProducedArtifact.class); - Path path = Paths.get(""); + Path path = Path.of(""); DefaultVersionParser versionParser = new DefaultVersionParser(new DefaultModelVersionParser(new GenericVersionScheme())); DefaultProjectManager projectManager = new DefaultProjectManager(session, artifactManager); diff --git a/impl/maven-core/src/test/java/org/apache/maven/internal/impl/DefaultSessionTest.java b/impl/maven-core/src/test/java/org/apache/maven/internal/impl/DefaultSessionTest.java index a25276b22ec3..8a19ae296dcb 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/internal/impl/DefaultSessionTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/internal/impl/DefaultSessionTest.java @@ -18,7 +18,7 @@ */ package org.apache.maven.internal.impl; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.Collections; import org.apache.maven.execution.DefaultMavenExecutionRequest; @@ -54,10 +54,10 @@ void testRootDirectory() { RepositorySystemSession rss = new DefaultRepositorySystemSession(h -> false); DefaultMavenExecutionRequest mer = new DefaultMavenExecutionRequest(); MavenSession ms = new MavenSession(null, rss, mer, null); - ms.getRequest().setRootDirectory(Paths.get("myRootDirectory")); + ms.getRequest().setRootDirectory(Path.of("myRootDirectory")); DefaultSession session = new DefaultSession(ms, mock(RepositorySystem.class), Collections.emptyList(), null, null, null); - assertEquals(Paths.get("myRootDirectory"), session.getRootDirectory()); + assertEquals(Path.of("myRootDirectory"), session.getRootDirectory()); } } diff --git a/impl/maven-core/src/test/java/org/apache/maven/internal/impl/TestApi.java b/impl/maven-core/src/test/java/org/apache/maven/internal/impl/TestApi.java index 7bb328744c18..254872e5470d 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/internal/impl/TestApi.java +++ b/impl/maven-core/src/test/java/org/apache/maven/internal/impl/TestApi.java @@ -186,7 +186,7 @@ void testResolveArtifactCoordinatesDependencies() { assertNotNull(paths); assertEquals(10, paths.size()); - assertEquals("test-extension-1.jar", paths.get(0).getFileName().toString()); + assertEquals("test-extension-1.jar", paths.getFirst().getFileName().toString()); // JUnit has an "Automatic-Module-Name", so it appears on the module path. Map> dispatched = session.resolveDependencies( @@ -198,9 +198,9 @@ void testResolveArtifactCoordinatesDependencies() { assertEquals(1, unresolved.size()); assertEquals(8, classes.size()); // "plexus.pom" and "junit.jar" are excluded. assertEquals(1, modules.size()); - assertEquals("plexus-1.0.11.pom", unresolved.get(0).getFileName().toString()); - assertEquals("test-extension-1.jar", classes.get(0).getFileName().toString()); - assertEquals("junit-4.13.1.jar", modules.get(0).getFileName().toString()); + assertEquals("plexus-1.0.11.pom", unresolved.getFirst().getFileName().toString()); + assertEquals("test-extension-1.jar", classes.getFirst().getFileName().toString()); + assertEquals("junit-4.13.1.jar", modules.getFirst().getFileName().toString()); assertTrue(paths.containsAll(classes)); assertTrue(paths.containsAll(modules)); @@ -214,7 +214,7 @@ void testResolveArtifactCoordinatesDependencies() { assertEquals(9, classes.size()); assertNull(modules); assertTrue(paths.containsAll(classes)); - assertEquals("plexus-1.0.11.pom", unresolved.get(0).getFileName().toString()); + assertEquals("plexus-1.0.11.pom", unresolved.getFirst().getFileName().toString()); } @Test diff --git a/impl/maven-core/src/test/java/org/apache/maven/internal/transformation/impl/ConsumerPomArtifactTransformerTest.java b/impl/maven-core/src/test/java/org/apache/maven/internal/transformation/impl/ConsumerPomArtifactTransformerTest.java index 4f3847386132..664ec70eefba 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/internal/transformation/impl/ConsumerPomArtifactTransformerTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/internal/transformation/impl/ConsumerPomArtifactTransformerTest.java @@ -22,7 +22,6 @@ import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import org.apache.maven.model.Model; import org.apache.maven.model.v4.MavenStaxReader; @@ -45,9 +44,9 @@ void transform() throws Exception { when(systemSessionMock.getData()).thenReturn(sessionDataMock); Path beforePomFile = - Paths.get("src/test/resources/projects/transform/before.pom").toAbsolutePath(); + Path.of("src/test/resources/projects/transform/before.pom").toAbsolutePath(); Path afterPomFile = - Paths.get("src/test/resources/projects/transform/after.pom").toAbsolutePath(); + Path.of("src/test/resources/projects/transform/after.pom").toAbsolutePath(); Path tempFile = Files.createTempFile("", ".pom"); Files.delete(tempFile); try (InputStream expected = Files.newInputStream(beforePomFile)) { @@ -71,10 +70,10 @@ void transformJarConsumerPom() throws Exception { SessionData sessionDataMock = Mockito.mock(SessionData.class); when(systemSessionMock.getData()).thenReturn(sessionDataMock); - Path beforePomFile = Paths.get("src/test/resources/projects/transform/jar/before.pom") - .toAbsolutePath(); + Path beforePomFile = + Path.of("src/test/resources/projects/transform/jar/before.pom").toAbsolutePath(); Path afterPomFile = - Paths.get("src/test/resources/projects/transform/jar/after.pom").toAbsolutePath(); + Path.of("src/test/resources/projects/transform/jar/after.pom").toAbsolutePath(); Path tempFile = Files.createTempFile("", ".pom"); Files.delete(tempFile); try (InputStream expected = Files.newInputStream(beforePomFile)) { diff --git a/impl/maven-core/src/test/java/org/apache/maven/internal/transformation/impl/ConsumerPomBuilderTest.java b/impl/maven-core/src/test/java/org/apache/maven/internal/transformation/impl/ConsumerPomBuilderTest.java index 5bd794795259..4146ba47c09f 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/internal/transformation/impl/ConsumerPomBuilderTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/internal/transformation/impl/ConsumerPomBuilderTest.java @@ -21,7 +21,6 @@ import javax.inject.Inject; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; @@ -93,9 +92,9 @@ void testTrivialConsumer() throws Exception { InternalMavenSession.from(InternalSession.from(session)) .getMavenSession() .getRequest() - .setRootDirectory(Paths.get("src/test/resources/consumer/trivial")); + .setRootDirectory(Path.of("src/test/resources/consumer/trivial")); - Path file = Paths.get("src/test/resources/consumer/trivial/child/pom.xml"); + Path file = Path.of("src/test/resources/consumer/trivial/child/pom.xml"); ModelBuilder.ModelBuilderSession mbs = modelBuilder.newSession(); InternalSession.from(session).getData().set(SessionData.key(ModelBuilder.ModelBuilderSession.class), mbs); @@ -118,10 +117,10 @@ void testSimpleConsumer() throws Exception { MavenExecutionRequest request = InternalMavenSession.from(InternalSession.from(session)) .getMavenSession() .getRequest(); - request.setRootDirectory(Paths.get("src/test/resources/consumer/simple")); + request.setRootDirectory(Path.of("src/test/resources/consumer/simple")); request.getUserProperties().setProperty("changelist", "MNG6957"); - Path file = Paths.get("src/test/resources/consumer/simple/simple-parent/simple-weather/pom.xml"); + Path file = Path.of("src/test/resources/consumer/simple/simple-parent/simple-weather/pom.xml"); ModelBuilder.ModelBuilderSession mbs = modelBuilder.newSession(); InternalSession.from(session).getData().set(SessionData.key(ModelBuilder.ModelBuilderSession.class), mbs); @@ -134,7 +133,7 @@ void testSimpleConsumer() throws Exception { MavenProject project = new MavenProject(orgModel); project.setOriginalModel(new org.apache.maven.model.Model(orgModel)); - request.setRootDirectory(Paths.get("src/test/resources/consumer/simple")); + request.setRootDirectory(Path.of("src/test/resources/consumer/simple")); Model model = builder.build(session, project, file); assertNotNull(model); diff --git a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java index 0856e5ce6e52..0e7ab4b9be1c 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java @@ -93,7 +93,7 @@ void testCustomLifecycle() throws ComponentLookupException { List.of(new DefaultLifecycleRegistry.LifecycleWrapperProvider(mockedPlexusContainer))), new DefaultLookup(mockedPlexusContainer)); - assertThat(dl.getLifeCycles().get(0).getId(), is("clean")); + assertThat(dl.getLifeCycles().getFirst().getId(), is("clean")); assertThat(dl.getLifeCycles().get(1).getId(), is("default")); assertThat(dl.getLifeCycles().get(2).getId(), is("site")); assertThat(dl.getLifeCycles().get(3).getId(), is("etl")); diff --git a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java index 800d4bf59924..bf165771e6e0 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java @@ -87,7 +87,7 @@ void testCalculationOfBuildPlanWithIndividualTaskWherePluginIsSpecifiedInThePom( assertEquals("1.0", session.getCurrentProject().getVersion()); List executionPlan = getExecutions(calculateExecutionPlan(session, "resources:resources")); assertEquals(1, executionPlan.size()); - MojoExecution mojoExecution = executionPlan.get(0); + MojoExecution mojoExecution = executionPlan.getFirst(); assertNotNull(mojoExecution); assertEquals( "org.apache.maven.plugins", @@ -109,7 +109,7 @@ void testCalculationOfBuildPlanWithIndividualTaskOfTheCleanLifecycle() throws Ex assertEquals("1.0", session.getCurrentProject().getVersion()); List executionPlan = getExecutions(calculateExecutionPlan(session, "clean")); assertEquals(1, executionPlan.size()); - MojoExecution mojoExecution = executionPlan.get(0); + MojoExecution mojoExecution = executionPlan.getFirst(); assertNotNull(mojoExecution); assertEquals( "org.apache.maven.plugins", @@ -131,7 +131,7 @@ void testCalculationOfBuildPlanWithIndividualTaskOfTheCleanCleanGoal() throws Ex assertEquals("1.0", session.getCurrentProject().getVersion()); List executionPlan = getExecutions(calculateExecutionPlan(session, "clean:clean")); assertEquals(1, executionPlan.size()); - MojoExecution mojoExecution = executionPlan.get(0); + MojoExecution mojoExecution = executionPlan.getFirst(); assertNotNull(mojoExecution); assertEquals( "org.apache.maven.plugins", @@ -362,7 +362,7 @@ void testSetupMojoExecution() throws Exception { MavenExecutionPlan executionPlan = lifeCycleExecutionPlanCalculator.calculateExecutionPlan( session, session.getCurrentProject(), Arrays.asList(task), false); - MojoExecution execution = executionPlan.getMojoExecutions().get(0); + MojoExecution execution = executionPlan.getMojoExecutions().getFirst(); assertEquals("maven-it-plugin", execution.getArtifactId(), execution.toString()); assertNull(execution.getConfiguration()); diff --git a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java index 8f45138ef089..060240ae3711 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/BuildListCalculatorTest.java @@ -38,7 +38,7 @@ void testCalculateProjectBuilds() throws Exception { final MavenSession session = ProjectDependencyGraphStub.getMavenSession(); List taskSegments = lifecycleTaskSegmentCalculator.calculateTaskSegments(session); final ProjectBuildList buildList = buildListCalculator.calculateProjectBuilds(session, taskSegments); - final ProjectBuildList segments = buildList.getByTaskSegment(taskSegments.get(0)); + final ProjectBuildList segments = buildList.getByTaskSegment(taskSegments.getFirst()); assertEquals(3, taskSegments.size(), "Stub data contains 3 segments"); assertEquals(6, segments.size(), "Stub data contains 6 items"); final ProjectSegment build = segments.get(0); diff --git a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java index 27afe6573dd3..0d819f78fb5a 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/ConcurrencyDependencyGraphTest.java @@ -61,20 +61,20 @@ void testConcurrencyGraphPrimaryVersion() final List projectBuilds = graph.getRootSchedulableBuilds(); assertEquals(1, projectBuilds.size()); - assertEquals(A, projectBuilds.iterator().next()); + assertEquals(A, projectBuilds.getFirst()); final List subsequent = graph.markAsFinished(A); assertEquals(2, subsequent.size()); - assertEquals(ProjectDependencyGraphStub.B, subsequent.get(0)); + assertEquals(ProjectDependencyGraphStub.B, subsequent.getFirst()); assertEquals(C, subsequent.get(1)); final List bDescendants = graph.markAsFinished(B); assertEquals(1, bDescendants.size()); - assertEquals(Y, bDescendants.get(0)); + assertEquals(Y, bDescendants.getFirst()); final List cDescendants = graph.markAsFinished(C); assertEquals(2, cDescendants.size()); - assertEquals(X, cDescendants.get(0)); + assertEquals(X, cDescendants.getFirst()); assertEquals(Z, cDescendants.get(1)); } @@ -91,11 +91,11 @@ void testConcurrencyGraphDifferentCompletionOrder() graph.markAsFinished(A); final List cDescendants = graph.markAsFinished(C); assertEquals(1, cDescendants.size()); - assertEquals(Z, cDescendants.get(0)); + assertEquals(Z, cDescendants.getFirst()); final List bDescendants = graph.markAsFinished(B); assertEquals(2, bDescendants.size()); - assertEquals(X, bDescendants.get(0)); + assertEquals(X, bDescendants.getFirst()); assertEquals(Y, bDescendants.get(1)); } } diff --git a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java index a6bc0d26e440..607d76e27b50 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleTaskSegmentCalculatorImplTest.java @@ -39,7 +39,7 @@ void testCalculateProjectBuilds() throws Exception { List taskSegments = lifecycleTaskSegmentCalculator.calculateTaskSegments(session); final ProjectBuildList buildList = buildListCalculator.calculateProjectBuilds(session, taskSegments); - final ProjectBuildList segments = buildList.getByTaskSegment(taskSegments.get(0)); + final ProjectBuildList segments = buildList.getByTaskSegment(taskSegments.getFirst()); assertEquals(3, taskSegments.size(), "Stub data contains 3 segments"); assertEquals(6, segments.size(), "Stub data contains 6 items"); final ProjectSegment build = segments.get(0); diff --git a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java index 48e0b5d316b6..fca14dc8608a 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/PhaseRecorderTest.java @@ -38,7 +38,7 @@ void testObserveExecution() throws Exception { MavenExecutionPlan plan = LifecycleExecutionPlanCalculatorStub.getProjectAExecutionPlan(); final List executions = plan.getMojoExecutions(); - final MojoExecution mojoExecution1 = executions.get(0); + final MojoExecution mojoExecution1 = executions.getFirst(); final MojoExecution mojoExecution2 = executions.get(1); phaseRecorder.observeExecution(mojoExecution1); diff --git a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraphTest.java b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraphTest.java index 6cfc7fb943e3..00c6d7c6a3a2 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraphTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/builder/multithreaded/ConcurrencyDependencyGraphTest.java @@ -48,8 +48,7 @@ void testGraph() throws Exception { List rootSchedulableBuilds = graph.getRootSchedulableBuilds(); // only Project.A has no dependencies assertEquals(1, rootSchedulableBuilds.size()); - assertEquals( - ProjectDependencyGraphStub.A, rootSchedulableBuilds.iterator().next()); + assertEquals(ProjectDependencyGraphStub.A, rootSchedulableBuilds.getFirst()); // double check A deps List dependenciesA = graph.getDependencies(ProjectDependencyGraphStub.A); assertEquals(0, dependenciesA.size()); @@ -68,7 +67,7 @@ void testGraph() throws Exception { Set unfinishedProjects = graph.getUnfinishedProjects(); assertEquals(5, unfinishedProjects.size()); - graph.markAsFinished(schedulableNewProcesses.get(0)); + graph.markAsFinished(schedulableNewProcesses.getFirst()); assertEquals(2, graph.getFinishedProjects().size()); assertEquals(4, graph.getUnfinishedProjects().size()); diff --git a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/concurrent/BuildPlanCreatorTest.java b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/concurrent/BuildPlanCreatorTest.java index 1881f2dcbda1..4956a53717e7 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/concurrent/BuildPlanCreatorTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/internal/concurrent/BuildPlanCreatorTest.java @@ -118,7 +118,7 @@ void testAllPhase() { private void assertIsSuccessor(BuildStep predecessor, BuildStep successor) { assertTrue( successor.isSuccessorOf(predecessor), - String.format("Expected '%s' to be a successor of '%s'", successor.toString(), predecessor.toString())); + "Expected '%s' to be a successor of '%s'".formatted(successor.toString(), predecessor.toString())); } @SuppressWarnings("checkstyle:UnusedLocalVariable") diff --git a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/mapping/LifecyclePhaseTest.java b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/mapping/LifecyclePhaseTest.java index afa112d08454..dd2ef86930af 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/lifecycle/mapping/LifecyclePhaseTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/lifecycle/mapping/LifecyclePhaseTest.java @@ -61,7 +61,7 @@ void testSet() { assertNotNull(mojos); assertEquals(2, mojos.size()); - LifecycleMojo mojo1 = mojos.get(0); + LifecycleMojo mojo1 = mojos.getFirst(); assertNotNull(mojo1); assertEquals("jar:jar", mojo1.getGoal()); diff --git a/impl/maven-core/src/test/java/org/apache/maven/model/ModelBuilderTest.java b/impl/maven-core/src/test/java/org/apache/maven/model/ModelBuilderTest.java index 7b6ff839f27d..a5f5e0020c8b 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/model/ModelBuilderTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/model/ModelBuilderTest.java @@ -21,7 +21,7 @@ import javax.inject.Inject; import java.io.File; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.Collections; import java.util.List; @@ -68,7 +68,7 @@ public class ModelBuilderTest { void testModelBuilder() throws Exception { MavenExecutionRequest mavenRequest = new DefaultMavenExecutionRequest(); mavenRequest.setLocalRepository(mavenRepositorySystem.createLocalRepository(new File("target/test-repo/"))); - mavenRequest.setRootDirectory(Paths.get("src/test/resources/projects/tree")); + mavenRequest.setRootDirectory(Path.of("src/test/resources/projects/tree")); DefaultProjectBuildingRequest request = new DefaultProjectBuildingRequest(); RepositorySystemSession.CloseableSession rsession = repositorySessionFactory diff --git a/impl/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java b/impl/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java index f1621347257f..66c9d065569c 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java @@ -181,6 +181,6 @@ void testBuildExtensionsPluginLoading() throws Exception { plugin, session.getCurrentProject().getRemotePluginRepositories(), session.getRepositorySession()); ClassRealm pluginRealm = pluginManager.getPluginRealm(session, pluginDescriptor); - assertEquals(pluginRealm, pluginDescriptor.getComponents().get(0).getRealm()); + assertEquals(pluginRealm, pluginDescriptor.getComponents().getFirst().getRealm()); } } diff --git a/impl/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java b/impl/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java index 0aa04debdf3c..c8911a1c9a3a 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java @@ -23,7 +23,6 @@ import java.io.File; import java.net.URI; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -115,7 +114,7 @@ void testPluginArtifactsExpressionReference() throws Exception { assertNotNull(depResults); assertEquals(1, depResults.size()); - assertSame(depArtifact, depResults.get(0), "dependency artifact is wrong."); + assertSame(depArtifact, depResults.getFirst(), "dependency artifact is wrong."); } @Test @@ -393,7 +392,7 @@ void testShouldExtractPluginArtifacts() throws Exception { assertEquals(1, artifacts.size()); - Artifact result = artifacts.get(0); + Artifact result = artifacts.getFirst(); assertEquals("testGroup", result.getGroupId()); } @@ -415,14 +414,14 @@ void testRootDirectoryWithNull() throws Exception { @Test void testRootDirectory() throws Exception { - this.rootDirectory = Paths.get("myRootDirectory"); + this.rootDirectory = Path.of("myRootDirectory"); ExpressionEvaluator ee = createExpressionEvaluator(createDefaultProject(), null, new Properties()); assertInstanceOf(Path.class, ee.evaluate("${session.rootDirectory}")); } @Test public void testUri() throws Exception { - Path path = Paths.get("").toAbsolutePath(); + Path path = Path.of("").toAbsolutePath(); MavenSession mavenSession = createMavenSession(null); mavenSession.getRequest().setTopDirectory(path); @@ -435,7 +434,7 @@ public void testUri() throws Exception { @Test public void testPath() throws Exception { - Path path = Paths.get("").toAbsolutePath(); + Path path = Path.of("").toAbsolutePath(); MavenSession mavenSession = createMavenSession(null); mavenSession.getRequest().setTopDirectory(path); @@ -448,7 +447,7 @@ public void testPath() throws Exception { @Test public void testPluginInjection() throws Exception { - Path path = Paths.get("rép➜α").toAbsolutePath(); + Path path = Path.of("rép➜α").toAbsolutePath(); MavenSession mavenSession = createMavenSession(null); mavenSession.getRequest().setTopDirectory(path); diff --git a/impl/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorV4Test.java b/impl/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorV4Test.java index 4b25cf559bcc..fddac262fa84 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorV4Test.java +++ b/impl/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorV4Test.java @@ -23,7 +23,6 @@ import java.io.File; import java.net.URI; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collection; import java.util.Collections; import java.util.Map; @@ -359,7 +358,7 @@ void testRootDirectoryWithNull() throws Exception { @Test void testRootDirectory() throws Exception { - this.rootDirectory = Paths.get("myRootDirectory"); + this.rootDirectory = Path.of("myRootDirectory"); ExpressionEvaluator ee = createExpressionEvaluator(createDefaultProject(), new Properties()); assertInstanceOf(Path.class, ee.evaluate("${session.rootDirectory}")); } @@ -432,7 +431,7 @@ private MavenSession newMavenSession() throws Exception { @Test public void testUri() throws Exception { - Path path = Paths.get("").toAbsolutePath(); + Path path = Path.of("").toAbsolutePath(); MavenSession mavenSession = createMavenSession(null); mavenSession.getRequest().setTopDirectory(path); @@ -445,7 +444,7 @@ public void testUri() throws Exception { @Test public void testPath() throws Exception { - Path path = Paths.get("").toAbsolutePath(); + Path path = Path.of("").toAbsolutePath(); MavenSession mavenSession = createMavenSession(null); mavenSession.getRequest().setTopDirectory(path); @@ -458,7 +457,7 @@ public void testPath() throws Exception { @Test public void testPluginInjection() throws Exception { - Path path = Paths.get("rép➜α").toAbsolutePath(); + Path path = Path.of("rép➜α").toAbsolutePath(); MavenSession mavenSession = createMavenSession(null); mavenSession.getRequest().setTopDirectory(path); diff --git a/impl/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java b/impl/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java index 3c5bcdd0accd..88467f7ec111 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/project/DefaultMavenProjectBuilderTest.java @@ -95,10 +95,11 @@ void testDuplicatePluginDefinitionsMerged() throws Exception { File f1 = getTestFile("src/test/resources/projects/duplicate-plugins-merged-pom.xml"); MavenProject project = getProject(f1); - assertEquals(2, project.getBuildPlugins().get(0).getDependencies().size()); - assertEquals(2, project.getBuildPlugins().get(0).getExecutions().size()); + assertEquals(2, project.getBuildPlugins().getFirst().getDependencies().size()); + assertEquals(2, project.getBuildPlugins().getFirst().getExecutions().size()); assertEquals( - "first", project.getBuildPlugins().get(0).getExecutions().get(0).getId()); + "first", + project.getBuildPlugins().getFirst().getExecutions().getFirst().getId()); } @Test @@ -163,7 +164,7 @@ void testPartialResultUponBadDependencyDeclaration() throws Exception { List results = e.getResults(); assertNotNull(results); assertEquals(1, results.size()); - ProjectBuildingResult result = results.get(0); + ProjectBuildingResult result = results.getFirst(); assertNotNull(result); assertNotNull(result.getProject()); assertEquals(1, result.getProblems().size()); @@ -364,7 +365,7 @@ void testActivatedDefaultProfileBySource() throws Exception { List activeProfiles = new DefaultProject(session, project).getDeclaredActiveProfiles(); assertEquals(1, activeProfiles.size()); - org.apache.maven.api.model.Profile profile = activeProfiles.get(0); + org.apache.maven.api.model.Profile profile = activeProfiles.getFirst(); assertEquals("active-by-default", profile.getId()); InputLocation location = profile.getLocation(""); assertNotNull(location); @@ -402,7 +403,7 @@ void testActivatedExternalProfileBySource() throws Exception { List activeProfiles = new DefaultProject(session, project).getDeclaredActiveProfiles(); assertEquals(2, activeProfiles.size()); - org.apache.maven.api.model.Profile profile = activeProfiles.get(0); + org.apache.maven.api.model.Profile profile = activeProfiles.getFirst(); assertEquals("active-by-default", profile.getId()); InputLocation location = profile.getLocation(""); assertNotNull(location); @@ -540,7 +541,7 @@ public void testSubprojectDiscovery() throws Exception { List results = projectBuilder.build(List.of(pom), true, configuration); assertEquals(2, results.size()); - MavenProject p1 = results.get(0).getProject(); + MavenProject p1 = results.getFirst().getProject(); MavenProject p2 = results.get(1).getProject(); MavenProject parent = p1.getArtifactId().equals("parent") ? p1 : p2; assertEquals(List.of("child"), parent.getModel().getDelegate().getSubprojects()); diff --git a/impl/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java b/impl/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java index 4fe089e6ceff..aa3ecdfed1e0 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java @@ -1601,7 +1601,7 @@ void testPluginExecutionInheritanceWhenChildDoesNotDeclarePlugin() throws Except List executions = (List) pom.getValue( "build/pluginsAsMap[@name='org.apache.maven.its.plugins:maven-it-plugin-log-file']/executions"); assertEquals(1, executions.size()); - assertEquals("inherited-execution", executions.get(0).getId()); + assertEquals("inherited-execution", executions.getFirst().getId()); } @Test @@ -1611,7 +1611,7 @@ void testPluginExecutionInheritanceWhenChildDoesDeclarePluginAsWell() throws Exc List executions = (List) pom.getValue( "build/pluginsAsMap[@name='org.apache.maven.its.plugins:maven-it-plugin-log-file']/executions"); assertEquals(1, executions.size()); - assertEquals("inherited-execution", executions.get(0).getId()); + assertEquals("inherited-execution", executions.getFirst().getId()); } /* MNG-4193 */ @@ -1736,7 +1736,7 @@ void testDefaultPluginsExecutionContributedByPackagingExecuteBeforeUserDefinedEx (List) pom.getValue("build/plugins[@artifactId='maven-resources-plugin']/executions"); assertNotNull(executions); assertEquals(4, executions.size()); - assertEquals("default-resources", executions.get(0).getId()); + assertEquals("default-resources", executions.getFirst().getId()); assertEquals("default-testResources", executions.get(1).getId()); assertEquals("test-1", executions.get(2).getId()); assertEquals("test-2", executions.get(3).getId()); diff --git a/impl/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java b/impl/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java index 541ac8063c60..bdd17a6dd9ce 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/project/ProjectBuilderTest.java @@ -124,7 +124,7 @@ void testResolveDependencies() throws Exception { .lookup(org.apache.maven.project.ProjectBuilder.class) .build(Collections.singletonList(pomFile), false, configuration); assertEquals(1, results.size()); - MavenProject mavenProject = results.get(0).getProject(); + MavenProject mavenProject = results.getFirst().getProject(); assertEquals(1, mavenProject.getArtifacts().size()); final MavenProject project = mavenProject; @@ -158,7 +158,7 @@ void testDontResolveDependencies() throws Exception { .lookup(org.apache.maven.project.ProjectBuilder.class) .build(Collections.singletonList(pomFile), false, configuration); assertEquals(1, results.size()); - MavenProject mavenProject = results.get(0).getProject(); + MavenProject mavenProject = results.getFirst().getProject(); assertEquals(0, mavenProject.getArtifacts().size()); } @@ -206,7 +206,7 @@ void testReadErroneousMavenProjectContainsReference() throws Exception { assertThrows(ProjectBuildingException.class, () -> projectBuilder.build(pomFile, configuration)); assertEquals(1, ex1.getResults().size()); - MavenProject project1 = ex1.getResults().get(0).getProject(); + MavenProject project1 = ex1.getResults().getFirst().getProject(); assertNotNull(project1); assertEquals("testArtifactMissingVersion", project1.getArtifactId()); assertEquals(pomFile, project1.getFile()); @@ -217,7 +217,7 @@ void testReadErroneousMavenProjectContainsReference() throws Exception { () -> projectBuilder.build(Collections.singletonList(pomFile), true, configuration)); assertEquals(1, ex2.getResults().size()); - MavenProject project2 = ex2.getResults().get(0).getProject(); + MavenProject project2 = ex2.getResults().getFirst().getProject(); assertNotNull(project2); assertEquals("testArtifactMissingVersion", project2.getArtifactId()); assertEquals(pomFile, project2.getFile()); @@ -242,8 +242,8 @@ void testReadInvalidPom() throws Exception { ProjectBuildingException.class, () -> projectBuilder.build(Collections.singletonList(pomFile), false, configuration)); assertEquals(1, pex.getResults().size()); - assertNotNull(pex.getResults().get(0).getPomFile()); - assertThat(pex.getResults().get(0).getProblems().size(), greaterThan(0)); + assertNotNull(pex.getResults().getFirst().getPomFile()); + assertThat(pex.getResults().getFirst().getProblems().size(), greaterThan(0)); assertThat( pex.getResults(), contains(projectBuildingResultWithProblemMessage( @@ -312,7 +312,7 @@ void testBuildProperties() throws Exception { configuration.setResolveDependencies(true); List result = projectBuilder.build(Collections.singletonList(file), false, configuration); - MavenProject project = result.get(0).getProject(); + MavenProject project = result.getFirst().getProject(); // verify a few typical parameters are not duplicated assertEquals(1, project.getTestCompileSourceRoots().size()); assertEquals(1, project.getCompileSourceRoots().size()); diff --git a/impl/maven-core/src/test/java/org/apache/maven/project/ProjectBuildingResultWithLocationMatcher.java b/impl/maven-core/src/test/java/org/apache/maven/project/ProjectBuildingResultWithLocationMatcher.java index ac46ca37e57e..8cce44a70c9e 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/project/ProjectBuildingResultWithLocationMatcher.java +++ b/impl/maven-core/src/test/java/org/apache/maven/project/ProjectBuildingResultWithLocationMatcher.java @@ -54,7 +54,7 @@ public void describeTo(Description description) { } private String formatLocation(int columnNumber, int lineNumber) { - return String.format("line %d, column %d", lineNumber, columnNumber); + return "line %d, column %d".formatted(lineNumber, columnNumber); } @Override diff --git a/impl/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java b/impl/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java index ada0b514b43c..2cb03ce280f7 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/project/ProjectSorterTest.java @@ -156,7 +156,7 @@ void testMatchingArtifactIdsDifferentGroupIds() throws Exception { projects = new ProjectSorter(projects).getSortedProjects(); - assertEquals(project2, projects.get(0)); + assertEquals(project2, projects.getFirst()); assertEquals(project1, projects.get(1)); } @@ -171,7 +171,7 @@ void testMatchingGroupIdsDifferentArtifactIds() throws Exception { projects = new ProjectSorter(projects).getSortedProjects(); - assertEquals(project2, projects.get(0)); + assertEquals(project2, projects.getFirst()); assertEquals(project1, projects.get(1)); } @@ -198,7 +198,7 @@ void testMatchingIdsAndDifferentVersions() throws Exception { projects.add(project2); projects = new ProjectSorter(projects).getSortedProjects(); - assertEquals(project1, projects.get(0)); + assertEquals(project1, projects.getFirst()); assertEquals(project2, projects.get(1)); } @@ -236,7 +236,7 @@ void testPluginDependenciesInfluenceSorting() throws Exception { projects = new ProjectSorter(projects).getSortedProjects(); - assertEquals(parentProject, projects.get(0)); + assertEquals(parentProject, projects.getFirst()); // the order of these two is non-deterministic, based on when they're added to the reactor. assertThat(projects, hasItem(pluginProject)); @@ -273,7 +273,7 @@ void testPluginDependenciesInfluenceSortingDeclarationInParent() throws Exceptio projects = new ProjectSorter(projects).getSortedProjects(); - assertEquals(parentProject, projects.get(0)); + assertEquals(parentProject, projects.getFirst()); // the order of these two is non-deterministic, based on when they're added to the reactor. assertThat(projects, hasItem(pluginProject)); @@ -311,7 +311,7 @@ void testDependencyPrecedesProjectThatUsesSpecificDependencyVersion() throws Exc projects = new ProjectSorter(projects).getSortedProjects(); - assertEquals(pluginProject, projects.get(0)); + assertEquals(pluginProject, projects.getFirst()); assertEquals(usingProject, projects.get(1)); } @@ -328,7 +328,7 @@ void testDependencyPrecedesProjectThatUsesUnresolvedDependencyVersion() throws E projects = new ProjectSorter(projects).getSortedProjects(); - assertEquals(pluginProject, projects.get(0)); + assertEquals(pluginProject, projects.getFirst()); assertEquals(usingProject, projects.get(1)); } } diff --git a/impl/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java b/impl/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java index 68449cb89bac..d7aa0b82108f 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/project/canonical/CanonicalProjectBuilderTest.java @@ -86,9 +86,9 @@ void testProjectBuilder() throws Exception { List executions = plugin.getExecutions(); - PluginExecution execution = executions.get(0); + PluginExecution execution = executions.getFirst(); - String g0 = execution.getGoals().get(0); + String g0 = execution.getGoals().getFirst(); assertEquals("plexus:runtime", g0); diff --git a/impl/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java b/impl/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java index ae1ee942cfd0..05dae9f5af16 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java @@ -26,7 +26,6 @@ import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import org.apache.maven.MavenTestHelper; import org.apache.maven.api.settings.InputSource; @@ -113,7 +112,7 @@ private PomTestWrapper buildPom(String pomPath) throws Exception { String localRepoPath = System.getProperty( "maven.repo.local", System.getProperty("user.home") + File.separator + ".m2" + File.separator + "repository"); - Path absolutePath = Paths.get(localRepoPath).toAbsolutePath(); + Path absolutePath = Path.of(localRepoPath).toAbsolutePath(); config.setLocalRepository(MavenRepositorySystem.createArtifactRepository( "local", absolutePath, new DefaultRepositoryLayout(), null, null)); config.setActiveProfileIds(settings.getActiveProfiles()); diff --git a/impl/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java b/impl/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java index 791b0df1978b..15e891560e88 100644 --- a/impl/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java +++ b/impl/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java @@ -56,7 +56,7 @@ void testShouldAppendRecessivePluginGroupIds() { assertNotNull(pluginGroups); assertEquals(3, pluginGroups.size()); - assertEquals("org.apache.maven.plugins", pluginGroups.get(0)); + assertEquals("org.apache.maven.plugins", pluginGroups.getFirst()); assertEquals("org.codehaus.modello", pluginGroups.get(1)); assertEquals("org.codehaus.plexus", pluginGroups.get(2)); } diff --git a/impl/maven-di/src/main/java/org/apache/maven/di/impl/InjectorImpl.java b/impl/maven-di/src/main/java/org/apache/maven/di/impl/InjectorImpl.java index 266122ef3155..2c3760c4dda7 100644 --- a/impl/maven-di/src/main/java/org/apache/maven/di/impl/InjectorImpl.java +++ b/impl/maven-di/src/main/java/org/apache/maven/di/impl/InjectorImpl.java @@ -214,7 +214,7 @@ public Supplier doGetCompiledBinding(Dependency dep) { List> bindingList = new ArrayList<>(res); Comparator> comparing = Comparator.comparing(Binding::getPriority); bindingList.sort(comparing.reversed()); - Binding binding = bindingList.get(0); + Binding binding = bindingList.getFirst(); return compile(binding); } if (key.getRawType() == List.class) { diff --git a/impl/maven-di/src/main/java/org/apache/maven/di/impl/ReflectionUtils.java b/impl/maven-di/src/main/java/org/apache/maven/di/impl/ReflectionUtils.java index 809e39e9552e..5e62578b3576 100644 --- a/impl/maven-di/src/main/java/org/apache/maven/di/impl/ReflectionUtils.java +++ b/impl/maven-di/src/main/java/org/apache/maven/di/impl/ReflectionUtils.java @@ -172,15 +172,14 @@ public static List getAnnotatedElements if (!injectFactoryMethods.isEmpty()) { throw failedImplicitBinding(key, "both inject constructor and inject factory method are present"); } - return bindingFromConstructor( - key, (Constructor) injectConstructors.iterator().next()); + return bindingFromConstructor(key, (Constructor) injectConstructors.getFirst()); } if (!injectFactoryMethods.isEmpty()) { if (injectFactoryMethods.size() > 1) { throw failedImplicitBinding(key, "more than one inject factory method"); } - return bindingFromMethod(injectFactoryMethods.iterator().next()); + return bindingFromMethod(injectFactoryMethods.getFirst()); } if (constructors.isEmpty()) { @@ -189,8 +188,7 @@ public static List getAnnotatedElements if (constructors.size() > 1) { throw failedImplicitBinding(key, "inject annotation on class with multiple constructors"); } - Constructor declaredConstructor = - (Constructor) constructors.iterator().next(); + Constructor declaredConstructor = (Constructor) constructors.getFirst(); Class enclosingClass = cls.getEnclosingClass(); if (enclosingClass != null diff --git a/impl/maven-di/src/test/java/org/apache/maven/di/impl/InjectorImplTest.java b/impl/maven-di/src/test/java/org/apache/maven/di/impl/InjectorImplTest.java index 2c6b46e892b2..24f97ccbe00c 100644 --- a/impl/maven-di/src/test/java/org/apache/maven/di/impl/InjectorImplTest.java +++ b/impl/maven-di/src/test/java/org/apache/maven/di/impl/InjectorImplTest.java @@ -195,11 +195,11 @@ void injectListTest() { assertNotNull(services); assertEquals(2, services.size()); - assertNotNull(services.get(0)); - assertInstanceOf(InjectList.MyService.class, services.get(0)); + assertNotNull(services.getFirst()); + assertInstanceOf(InjectList.MyService.class, services.getFirst()); assertNotNull(services.get(1)); assertInstanceOf(InjectList.MyService.class, services.get(1)); - assertNotSame(services.get(0).getClass(), services.get(1).getClass()); + assertNotSame(services.getFirst().getClass(), services.get(1).getClass()); } static class InjectList { @@ -222,15 +222,16 @@ void injectMapTest() { assertEquals(2, services.size()); List> entries = new ArrayList<>(services.entrySet()); - assertNotNull(entries.get(0)); - assertInstanceOf(InjectMap.MyService.class, entries.get(0).getValue()); - assertInstanceOf(String.class, entries.get(0).getKey()); + assertNotNull(entries.getFirst()); + assertInstanceOf(InjectMap.MyService.class, entries.getFirst().getValue()); + assertInstanceOf(String.class, entries.getFirst().getKey()); assertNotNull(entries.get(1)); assertInstanceOf(String.class, entries.get(1).getKey()); assertInstanceOf(InjectMap.MyService.class, entries.get(1).getValue()); - assertNotEquals(entries.get(0).getKey(), entries.get(1).getKey()); + assertNotEquals(entries.getFirst().getKey(), entries.get(1).getKey()); assertNotSame( - entries.get(0).getValue().getClass(), entries.get(1).getValue().getClass()); + entries.getFirst().getValue().getClass(), + entries.get(1).getValue().getClass()); InjectMap.MyMojo mojo = injector.getInstance(InjectMap.MyMojo.class); assertNotNull(mojo); diff --git a/impl/maven-executor/src/main/java/org/apache/maven/api/cli/ExecutorRequest.java b/impl/maven-executor/src/main/java/org/apache/maven/api/cli/ExecutorRequest.java index 70e76da74aad..4069a325f07c 100644 --- a/impl/maven-executor/src/main/java/org/apache/maven/api/cli/ExecutorRequest.java +++ b/impl/maven-executor/src/main/java/org/apache/maven/api/cli/ExecutorRequest.java @@ -22,7 +22,6 @@ import java.io.InputStream; import java.io.OutputStream; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -172,11 +171,11 @@ static Builder mavenBuilder(@Nullable Path installationDirectory) { return new Builder( MVN, null, - getCanonicalPath(Paths.get(System.getProperty("user.dir"))), + getCanonicalPath(Path.of(System.getProperty("user.dir"))), installationDirectory != null ? getCanonicalPath(installationDirectory) : discoverInstallationDirectory(), - getCanonicalPath(Paths.get(System.getProperty("user.home"))), + getCanonicalPath(Path.of(System.getProperty("user.home"))), null, null, null, @@ -467,7 +466,7 @@ static Path discoverInstallationDirectory() { if (mavenHome == null) { throw new ExecutorException("requires maven.home Java System Property set"); } - return getCanonicalPath(Paths.get(mavenHome)); + return getCanonicalPath(Path.of(mavenHome)); } @Nonnull @@ -476,7 +475,7 @@ static Path discoverUserHomeDirectory() { if (userHome == null) { throw new ExecutorException("requires user.home Java System Property set"); } - return getCanonicalPath(Paths.get(userHome)); + return getCanonicalPath(Path.of(userHome)); } @Nonnull diff --git a/impl/maven-executor/src/main/java/org/apache/maven/cling/executor/embedded/EmbeddedMavenExecutor.java b/impl/maven-executor/src/main/java/org/apache/maven/cling/executor/embedded/EmbeddedMavenExecutor.java index 07194c279811..b0798a0e73c8 100644 --- a/impl/maven-executor/src/main/java/org/apache/maven/cling/executor/embedded/EmbeddedMavenExecutor.java +++ b/impl/maven-executor/src/main/java/org/apache/maven/cling/executor/embedded/EmbeddedMavenExecutor.java @@ -225,7 +225,7 @@ protected Context doCreate(Path mavenHome, ExecutorRequest executorRequest) { if (useMavenArgsEnv && mavenArgsEnv != null && !mavenArgsEnv.isEmpty()) { Arrays.stream(mavenArgsEnv.split(" ")) .filter(s -> !s.trim().isEmpty()) - .forEach(s -> mavenArgs.add(0, s)); + .forEach(s -> mavenArgs.addFirst(s)); } Properties properties = prepareProperties(executorRequest); diff --git a/impl/maven-executor/src/main/java/org/apache/maven/cling/executor/forked/ForkedMavenExecutor.java b/impl/maven-executor/src/main/java/org/apache/maven/cling/executor/forked/ForkedMavenExecutor.java index 095f07211cfd..0ff4c9dd233a 100644 --- a/impl/maven-executor/src/main/java/org/apache/maven/cling/executor/forked/ForkedMavenExecutor.java +++ b/impl/maven-executor/src/main/java/org/apache/maven/cling/executor/forked/ForkedMavenExecutor.java @@ -25,7 +25,6 @@ import java.io.UncheckedIOException; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -115,7 +114,7 @@ protected int doExecute(ExecutorRequest executorRequest) throws ExecutorExceptio cmdAndArguments.addAll(executorRequest.arguments()); ArrayList jvmArgs = new ArrayList<>(); - if (!executorRequest.userHomeDirectory().equals(getCanonicalPath(Paths.get(System.getProperty("user.home"))))) { + if (!executorRequest.userHomeDirectory().equals(getCanonicalPath(Path.of(System.getProperty("user.home"))))) { jvmArgs.add("-Duser.home=" + executorRequest.userHomeDirectory().toString()); } if (executorRequest.jvmArguments().isPresent()) { diff --git a/impl/maven-executor/src/test/java/org/apache/maven/cling/executor/MavenExecutorTestSupport.java b/impl/maven-executor/src/test/java/org/apache/maven/cling/executor/MavenExecutorTestSupport.java index 98a0d641d2ec..e5594d87b126 100644 --- a/impl/maven-executor/src/test/java/org/apache/maven/cling/executor/MavenExecutorTestSupport.java +++ b/impl/maven-executor/src/test/java/org/apache/maven/cling/executor/MavenExecutorTestSupport.java @@ -22,7 +22,6 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collection; import java.util.List; @@ -324,11 +323,11 @@ protected String mavenVersion(ExecutorRequest request) throws Exception { } public static ExecutorRequest.Builder mvn3ExecutorRequestBuilder() { - return ExecutorRequest.mavenBuilder(Paths.get(System.getProperty("maven3home"))); + return ExecutorRequest.mavenBuilder(Path.of(System.getProperty("maven3home"))); } public static ExecutorRequest.Builder mvn4ExecutorRequestBuilder() { - return ExecutorRequest.mavenBuilder(Paths.get(System.getProperty("maven4home"))); + return ExecutorRequest.mavenBuilder(Path.of(System.getProperty("maven4home"))); } protected void layDownFiles(Path cwd) throws IOException { diff --git a/impl/maven-executor/src/test/java/org/apache/maven/cling/executor/impl/ToolboxToolTest.java b/impl/maven-executor/src/test/java/org/apache/maven/cling/executor/impl/ToolboxToolTest.java index cd84eaca2f00..b93fdb623a57 100644 --- a/impl/maven-executor/src/test/java/org/apache/maven/cling/executor/impl/ToolboxToolTest.java +++ b/impl/maven-executor/src/test/java/org/apache/maven/cling/executor/impl/ToolboxToolTest.java @@ -21,7 +21,6 @@ import java.io.File; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Map; import org.apache.maven.cling.executor.ExecutorHelper; @@ -115,7 +114,7 @@ void localRepository3(ExecutorHelper.Mode mode) { MavenExecutorTestSupport.EMBEDDED_MAVEN_EXECUTOR, MavenExecutorTestSupport.FORKED_MAVEN_EXECUTOR); String localRepository = new ToolboxTool(helper).localRepository(helper.executorRequest()); - Path local = Paths.get(localRepository); + Path local = Path.of(localRepository); assertTrue(Files.isDirectory(local)); } @@ -131,7 +130,7 @@ void localRepository4(ExecutorHelper.Mode mode) { MavenExecutorTestSupport.EMBEDDED_MAVEN_EXECUTOR, MavenExecutorTestSupport.FORKED_MAVEN_EXECUTOR); String localRepository = new ToolboxTool(helper).localRepository(helper.executorRequest()); - Path local = Paths.get(localRepository); + Path local = Path.of(localRepository); assertTrue(Files.isDirectory(local)); } diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/AbstractSession.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/AbstractSession.java index e81a217a8e28..73a1a10b86a5 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/AbstractSession.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/AbstractSession.java @@ -837,7 +837,7 @@ public Node collectDependencies(@Nonnull DependencyCoordinates dependency, @Nonn Node root = getService(DependencyResolver.class) .collect(this, dependency, scope) .getRoot(); - return root.getChildren().iterator().next(); + return root.getChildren().getFirst(); } @Nonnull diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactResolver.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactResolver.java index acc0b23be5e2..ee456c26081f 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactResolver.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactResolver.java @@ -123,7 +123,7 @@ protected ArtifactResolverResult doResolve(ArtifactResolverRequest request) { } catch (BatchRequestException e) { String message; if (e.getResults().size() == 1) { - message = e.getResults().iterator().next().error().getMessage(); + message = e.getResults().getFirst().error().getMessage(); } else { message = "Unable to resolve artifacts: " + e.getMessage(); } diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultJavaToolchainFactory.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultJavaToolchainFactory.java index 2032e0ef631d..39c47742c468 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultJavaToolchainFactory.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultJavaToolchainFactory.java @@ -20,7 +20,6 @@ import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Map; import java.util.Optional; import java.util.function.Predicate; @@ -81,7 +80,7 @@ public JavaToolchain createToolchain(@Nonnull ToolchainModel model) { throw new ToolchainFactoryException( "Java toolchain without the " + KEY_JAVAHOME + " configuration element."); } - Path normal = Paths.get(javahome.value()).normalize(); + Path normal = Path.of(javahome.value()).normalize(); if (!Files.exists(normal)) { throw new ToolchainFactoryException("Non-existing JDK home configuration at " + normal.toAbsolutePath()); } @@ -125,7 +124,7 @@ public ToolchainModel getModel() { @Override public String findTool(String toolName) { - Path toRet = findTool(toolName, Paths.get(getJavaHome()).normalize()); + Path toRet = findTool(toolName, Path.of(getJavaHome()).normalize()); if (toRet != null) { return toRet.toAbsolutePath().toString(); } diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultSettingsBuilder.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultSettingsBuilder.java index 53731c6009cc..4588a8f7a364 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultSettingsBuilder.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultSettingsBuilder.java @@ -25,7 +25,6 @@ import java.io.IOException; import java.io.InputStream; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; @@ -131,7 +130,7 @@ public SettingsBuilderResult build(SettingsBuilderRequest request) throws Settin // for the special case of a drive-relative Windows path, make sure it's absolute to save plugins from trouble String localRepository = effective.getLocalRepository(); if (localRepository != null && !localRepository.isEmpty()) { - Path file = Paths.get(localRepository); + Path file = Path.of(localRepository); if (!file.isAbsolute() && file.toString().startsWith(File.separator)) { effective = effective.withLocalRepository(file.toAbsolutePath().toString()); } @@ -303,13 +302,13 @@ private Path getSecuritySettings(ProtoSession session) { Map properties = session.getUserProperties(); String settingsSecurity = properties.get(Constants.MAVEN_SETTINGS_SECURITY); if (settingsSecurity != null) { - return Paths.get(settingsSecurity); + return Path.of(settingsSecurity); } String mavenUserConf = properties.get(Constants.MAVEN_USER_CONF); if (mavenUserConf != null) { - return Paths.get(mavenUserConf, Constants.MAVEN_SETTINGS_SECURITY_FILE_NAME); + return Path.of(mavenUserConf, Constants.MAVEN_SETTINGS_SECURITY_FILE_NAME); } - return Paths.get(properties.get("user.home"), ".m2", Constants.MAVEN_SETTINGS_SECURITY_FILE_NAME); + return Path.of(properties.get("user.home"), ".m2", Constants.MAVEN_SETTINGS_SECURITY_FILE_NAME); } @Override diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/di/SessionScope.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/di/SessionScope.java index b47c5acde830..ddbf7c049ded 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/di/SessionScope.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/di/SessionScope.java @@ -61,21 +61,21 @@ public Collection> providers() { protected final List values = new CopyOnWriteArrayList<>(); public void enter() { - values.add(0, new ScopeState()); + values.addFirst(new ScopeState()); } protected ScopeState getScopeState() { if (values.isEmpty()) { throw new OutOfScopeException("Cannot access session scope outside of a scoping block"); } - return values.get(0); + return values.getFirst(); } public void exit() { if (values.isEmpty()) { throw new IllegalStateException(); } - values.remove(0); + values.removeFirst(); } public void seed(Class clazz, Supplier value) { diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelBuilder.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelBuilder.java index 82ebd5a770f1..9b2a51bab760 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelBuilder.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelBuilder.java @@ -24,7 +24,6 @@ import java.lang.reflect.Field; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -395,9 +394,8 @@ public ModelSource getSource(String groupId, String artifactId) { if (sources != null) { return sources.stream() .reduce((a, b) -> { - throw new IllegalStateException(String.format( - "No unique Source for %s:%s: %s and %s", - groupId, artifactId, a.getLocation(), b.getLocation())); + throw new IllegalStateException("No unique Source for %s:%s: %s and %s" + .formatted(groupId, artifactId, a.getLocation(), b.getLocation())); }) .orElse(null); } @@ -642,7 +640,7 @@ private void buildBuildPom() throws ModelBuilderException { // Check for errors again after execution if (exceptions.size() == 1) { - throw exceptions.get(0); + throw exceptions.getFirst(); } else if (exceptions.size() > 1) { MavenException fatalException = new MavenException("Multiple fatal exceptions occurred"); exceptions.forEach(fatalException::addSuppressed); @@ -1324,7 +1322,7 @@ Model doReadFileModel() throws ModelBuilderException { if ((groupId == null || artifactId == null || version == null) && (path == null || !path.isEmpty())) { Path pomFile = model.getPomFile(); - Path relativePath = Paths.get(path != null ? path : ".."); + Path relativePath = Path.of(path != null ? path : ".."); Path pomPath = pomFile.resolveSibling(relativePath).normalize(); if (Files.isDirectory(pomPath)) { pomPath = modelProcessor.locateExistingPom(pomPath); diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelProcessor.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelProcessor.java index bcd0a191f8c3..eaca426c21b8 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelProcessor.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelProcessor.java @@ -21,7 +21,6 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -125,7 +124,7 @@ public Model read(XmlReaderRequest request) throws IOException { private Path doLocateExistingPom(Path project) { if (project == null) { - project = Paths.get(System.getProperty("user.dir")); + project = Path.of(System.getProperty("user.dir")); } if (Files.isDirectory(project)) { Path pom = project.resolve("pom.xml"); diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelValidator.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelValidator.java index 126de225d4ea..fbef9764f11d 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelValidator.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultModelValidator.java @@ -2248,16 +2248,18 @@ public static SourceHint dependencyManagementKey(Dependency dependency) { String hint; if (dependency.getClassifier() == null || dependency.getClassifier().trim().isEmpty()) { - hint = String.format( - "groupId=%s, artifactId=%s, type=%s", - nvl(dependency.getGroupId()), nvl(dependency.getArtifactId()), nvl(dependency.getType())); + hint = "groupId=%s, artifactId=%s, type=%s" + .formatted( + nvl(dependency.getGroupId()), + nvl(dependency.getArtifactId()), + nvl(dependency.getType())); } else { - hint = String.format( - "groupId=%s, artifactId=%s, classifier=%s, type=%s", - nvl(dependency.getGroupId()), - nvl(dependency.getArtifactId()), - nvl(dependency.getClassifier()), - nvl(dependency.getType())); + hint = "groupId=%s, artifactId=%s, classifier=%s, type=%s" + .formatted( + nvl(dependency.getGroupId()), + nvl(dependency.getArtifactId()), + nvl(dependency.getClassifier()), + nvl(dependency.getType())); } return new SourceHint(hint, null); // DMK } diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultProfileActivationContext.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultProfileActivationContext.java index cba06096048e..d5a1fbfbf429 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultProfileActivationContext.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/DefaultProfileActivationContext.java @@ -24,7 +24,6 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.PathMatcher; -import java.nio.file.Paths; import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; import java.util.Collections; @@ -387,7 +386,7 @@ private boolean doExists(String path, boolean enableGlob) throws ModelBuilderExc fixed = pattern; glob = ""; } - Path fixedPath = Paths.get(fixed); + Path fixedPath = Path.of(fixed); return doExists(fixedPath, glob); } diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/ConditionFunctions.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/ConditionFunctions.java index 1a9087273962..e868fafbaedb 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/ConditionFunctions.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/ConditionFunctions.java @@ -59,7 +59,7 @@ public Object length(List args) { if (args.size() != 1) { throw new IllegalArgumentException("length function requires exactly one argument"); } - String s = ConditionParser.toString(args.get(0)); + String s = ConditionParser.toString(args.getFirst()); return s.length(); } @@ -74,7 +74,7 @@ public Object upper(List args) { if (args.size() != 1) { throw new IllegalArgumentException("upper function requires exactly one argument"); } - String s = ConditionParser.toString(args.get(0)); + String s = ConditionParser.toString(args.getFirst()); return s.toUpperCase(); } @@ -89,7 +89,7 @@ public Object lower(List args) { if (args.size() != 1) { throw new IllegalArgumentException("lower function requires exactly one argument"); } - String s = ConditionParser.toString(args.get(0)); + String s = ConditionParser.toString(args.getFirst()); return s.toLowerCase(); } @@ -104,7 +104,7 @@ public Object substring(List args) { if (args.size() < 2 || args.size() > 3) { throw new IllegalArgumentException("substring function requires 2 or 3 arguments"); } - String s = ConditionParser.toString(args.get(0)); + String s = ConditionParser.toString(args.getFirst()); int start = toInt(args.get(1)); int end = args.size() == 3 ? toInt(args.get(2)) : s.length(); return s.substring(start, end); @@ -121,7 +121,7 @@ public Object indexOf(List args) { if (args.size() != 2) { throw new IllegalArgumentException("indexOf function requires exactly two arguments"); } - String s = ConditionParser.toString(args.get(0)); + String s = ConditionParser.toString(args.getFirst()); String substring = ConditionParser.toString(args.get(1)); return s.indexOf(substring); } @@ -137,7 +137,7 @@ public Object contains(List args) { if (args.size() != 2) { throw new IllegalArgumentException("contains function requires exactly two arguments"); } - String s = ConditionParser.toString(args.get(0)); + String s = ConditionParser.toString(args.getFirst()); String substring = ConditionParser.toString(args.get(1)); return s.contains(substring); } @@ -153,7 +153,7 @@ public Object matches(List args) { if (args.size() != 2) { throw new IllegalArgumentException("matches function requires exactly two arguments"); } - String s = ConditionParser.toString(args.get(0)); + String s = ConditionParser.toString(args.getFirst()); String regex = ConditionParser.toString(args.get(1)); return s.matches(regex); } @@ -169,7 +169,7 @@ public Object not(List args) { if (args.size() != 1) { throw new IllegalArgumentException("not function requires exactly one argument"); } - return !ConditionParser.toBoolean(args.get(0)); + return !ConditionParser.toBoolean(args.getFirst()); } /** @@ -184,7 +184,7 @@ public Object if_(List args) { if (args.size() != 3) { throw new IllegalArgumentException("if function requires exactly three arguments"); } - boolean condition = ConditionParser.toBoolean(args.get(0)); + boolean condition = ConditionParser.toBoolean(args.getFirst()); return condition ? args.get(1) : args.get(2); } @@ -201,7 +201,7 @@ public Object exists(List args) { if (args.size() != 1) { throw new IllegalArgumentException("exists function requires exactly one argument"); } - String path = ConditionParser.toString(args.get(0)); + String path = ConditionParser.toString(args.getFirst()); return context.exists(path, true); } @@ -218,7 +218,7 @@ public Object missing(List args) { if (args.size() != 1) { throw new IllegalArgumentException("missing function requires exactly one argument"); } - String path = ConditionParser.toString(args.get(0)); + String path = ConditionParser.toString(args.getFirst()); return !context.exists(path, true); } @@ -233,7 +233,7 @@ public Object inrange(List args) { if (args.size() != 2) { throw new IllegalArgumentException("inrange function requires exactly two arguments"); } - String version = ConditionParser.toString(args.get(0)); + String version = ConditionParser.toString(args.getFirst()); String range = ConditionParser.toString(args.get(1)); return versionParser.parseVersionRange(range).contains(versionParser.parseVersion(version)); } diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/ConditionParser.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/ConditionParser.java index f596946aa253..98a38a701b90 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/ConditionParser.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/ConditionParser.java @@ -544,7 +544,7 @@ public static String toString(Object value) { if (value instanceof Double || value instanceof Float) { double doubleValue = ((Number) value).doubleValue(); if (doubleValue == Math.floor(doubleValue) && !Double.isInfinite(doubleValue)) { - return String.format("%.0f", doubleValue); + return "%.0f".formatted(doubleValue); } } return String.valueOf(value); diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/JdkVersionProfileActivator.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/JdkVersionProfileActivator.java index ae22bdd1ed63..fe6ea692c838 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/JdkVersionProfileActivator.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/JdkVersionProfileActivator.java @@ -107,7 +107,7 @@ public boolean presentInConfig(Profile profile, ProfileActivationContext context } private static boolean isInRange(String value, List range) { - int leftRelation = getRelationOrder(value, range.get(0), true); + int leftRelation = getRelationOrder(value, range.getFirst(), true); if (leftRelation == 0) { return true; diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/rootlocator/DefaultRootLocator.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/rootlocator/DefaultRootLocator.java index 712d742998bc..ce3e7cbd7192 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/model/rootlocator/DefaultRootLocator.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/model/rootlocator/DefaultRootLocator.java @@ -21,7 +21,6 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.Optional; import java.util.ServiceLoader; @@ -91,7 +90,7 @@ protected boolean isRootDirectory(Path dir) { protected Optional getRootDirectoryFallback() { String mmpd = System.getProperty("maven.multiModuleProjectDirectory"); if (mmpd != null) { - return Optional.of(getCanonicalPath(Paths.get(mmpd))); + return Optional.of(getCanonicalPath(Path.of(mmpd))); } return Optional.empty(); } diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/standalone/ApiRunner.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/standalone/ApiRunner.java index d8d1ac3f8577..40d610dc570d 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/standalone/ApiRunner.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/standalone/ApiRunner.java @@ -19,7 +19,6 @@ package org.apache.maven.impl.standalone; import java.nio.file.Path; -import java.nio.file.Paths; import java.time.Instant; import java.util.Collection; import java.util.Collections; @@ -376,11 +375,11 @@ static Session newSession(RepositorySystem system, Lookup lookup, @Nullable Loca // TODO: remove that when this go more public properties.put("user.home", "target"); - Path userHome = Paths.get(properties.get("user.home")); + Path userHome = Path.of(properties.get("user.home")); Path mavenUserHome = userHome.resolve(".m2"); Path mavenSystemHome = properties.containsKey("maven.home") - ? Paths.get(properties.get("maven.home")) - : properties.containsKey("env.MAVEN_HOME") ? Paths.get(properties.get("env.MAVEN_HOME")) : null; + ? Path.of(properties.get("maven.home")) + : properties.containsKey("env.MAVEN_HOME") ? Path.of(properties.get("env.MAVEN_HOME")) : null; DefaultRepositorySystemSession rsession = new DefaultRepositorySystemSession(h -> false); rsession.setScopeManager(new ScopeManagerImpl(Maven4ScopeManagerConfiguration.INSTANCE)); diff --git a/impl/maven-impl/src/test/java/org/apache/maven/impl/DefaultSettingsBuilderFactoryTest.java b/impl/maven-impl/src/test/java/org/apache/maven/impl/DefaultSettingsBuilderFactoryTest.java index 5419b27d6287..b43081fb5fac 100644 --- a/impl/maven-impl/src/test/java/org/apache/maven/impl/DefaultSettingsBuilderFactoryTest.java +++ b/impl/maven-impl/src/test/java/org/apache/maven/impl/DefaultSettingsBuilderFactoryTest.java @@ -19,7 +19,6 @@ package org.apache.maven.impl; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Map; import org.apache.maven.api.Session; @@ -70,6 +69,6 @@ void testCompleteWiring() { } private Path getSettings(String name) { - return Paths.get("src/test/resources/" + name + ".xml").toAbsolutePath(); + return Path.of("src/test/resources/" + name + ".xml").toAbsolutePath(); } } diff --git a/impl/maven-impl/src/test/java/org/apache/maven/impl/DefaultToolchainManagerTest.java b/impl/maven-impl/src/test/java/org/apache/maven/impl/DefaultToolchainManagerTest.java index c916d0ca5fcc..f15ce6f3e827 100644 --- a/impl/maven-impl/src/test/java/org/apache/maven/impl/DefaultToolchainManagerTest.java +++ b/impl/maven-impl/src/test/java/org/apache/maven/impl/DefaultToolchainManagerTest.java @@ -81,7 +81,7 @@ void getToolchainsWithValidTypeAndRequirements() { List result = manager.getToolchains(session, "jdk", Map.of("version", "11")); assertEquals(1, result.size()); - assertEquals(mockToolchain, result.get(0)); + assertEquals(mockToolchain, result.getFirst()); } @Test diff --git a/impl/maven-impl/src/test/java/org/apache/maven/impl/ModelVersionParserTest.java b/impl/maven-impl/src/test/java/org/apache/maven/impl/ModelVersionParserTest.java index 6feffa0ae76f..c302b98968fe 100644 --- a/impl/maven-impl/src/test/java/org/apache/maven/impl/ModelVersionParserTest.java +++ b/impl/maven-impl/src/test/java/org/apache/maven/impl/ModelVersionParserTest.java @@ -70,17 +70,17 @@ void testEnumeratedVersions() throws VersionParserException { } private void assertNotContains(VersionConstraint c, String... versions) { - assertContains(String.format("%s: %%s should not be contained\n", c.toString()), c, false, versions); + assertContains("%s: %%s should not be contained\n".formatted(c.toString()), c, false, versions); } private void assertContains(String msg, VersionConstraint c, boolean b, String... versions) { for (String v : versions) { - assertEquals(b, c.contains(versionParser.parseVersion(v)), String.format(msg, v)); + assertEquals(b, c.contains(versionParser.parseVersion(v)), msg.formatted(v)); } } private void assertContains(VersionConstraint c, String... versions) { - assertContains(String.format("%s: %%s should be contained\n", c.toString()), c, true, versions); + assertContains("%s: %%s should be contained\n".formatted(c.toString()), c, true, versions); } @Test diff --git a/impl/maven-impl/src/test/java/org/apache/maven/impl/VersionTest.java b/impl/maven-impl/src/test/java/org/apache/maven/impl/VersionTest.java index 27ad33272838..8ac8fdd959c5 100644 --- a/impl/maven-impl/src/test/java/org/apache/maven/impl/VersionTest.java +++ b/impl/maven-impl/src/test/java/org/apache/maven/impl/VersionTest.java @@ -255,7 +255,7 @@ void testCaseInsensitiveOrderingOfQualifiers() { void testCaseInsensitiveOrderingOfQualifiersIsLocaleIndependent() { Locale orig = Locale.getDefault(); try { - Locale[] locales = {Locale.ENGLISH, new Locale("tr")}; + Locale[] locales = {Locale.ENGLISH, Locale.of("tr")}; for (Locale locale : locales) { Locale.setDefault(locale); assertOrder(AbstractVersionTest.X_EQ_Y, "1-abcdefghijklmnopqrstuvwxyz", "1-ABCDEFGHIJKLMNOPQRSTUVWXYZ"); diff --git a/impl/maven-impl/src/test/java/org/apache/maven/impl/model/ComplexActivationTest.java b/impl/maven-impl/src/test/java/org/apache/maven/impl/model/ComplexActivationTest.java index eed8b9fa5ae0..3d36f77403a2 100644 --- a/impl/maven-impl/src/test/java/org/apache/maven/impl/model/ComplexActivationTest.java +++ b/impl/maven-impl/src/test/java/org/apache/maven/impl/model/ComplexActivationTest.java @@ -19,7 +19,6 @@ package org.apache.maven.impl.model; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Map; import org.apache.maven.api.Session; @@ -83,6 +82,6 @@ public void testConditionExistingAndMissingInActivation() throws Exception { } private Path getPom(String name) { - return Paths.get("src/test/resources/poms/factory/" + name + ".xml").toAbsolutePath(); + return Path.of("src/test/resources/poms/factory/" + name + ".xml").toAbsolutePath(); } } diff --git a/impl/maven-impl/src/test/java/org/apache/maven/impl/model/DefaultModelBuilderTest.java b/impl/maven-impl/src/test/java/org/apache/maven/impl/model/DefaultModelBuilderTest.java index 2b012185c4bf..cd163db1ac23 100644 --- a/impl/maven-impl/src/test/java/org/apache/maven/impl/model/DefaultModelBuilderTest.java +++ b/impl/maven-impl/src/test/java/org/apache/maven/impl/model/DefaultModelBuilderTest.java @@ -20,7 +20,6 @@ import java.lang.reflect.Field; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -107,14 +106,14 @@ public void testMergeRepositories() throws Exception { // after merge repositories = (List) repositoriesField.get(state); assertEquals(3, repositories.size()); - assertEquals("first", repositories.get(0).getId()); - assertEquals("https://some.repo", repositories.get(0).getUrl()); // interpolated + assertEquals("first", repositories.getFirst().getId()); + assertEquals("https://some.repo", repositories.getFirst().getUrl()); // interpolated assertEquals("second", repositories.get(1).getId()); assertEquals("${secondParentRepo}", repositories.get(1).getUrl()); // un-interpolated (no source) assertEquals("central", repositories.get(2).getId()); // default } private Path getPom(String name) { - return Paths.get("src/test/resources/poms/factory/" + name + ".xml").toAbsolutePath(); + return Path.of("src/test/resources/poms/factory/" + name + ".xml").toAbsolutePath(); } } diff --git a/impl/maven-impl/src/test/java/org/apache/maven/impl/model/DefaultModelInterpolatorTest.java b/impl/maven-impl/src/test/java/org/apache/maven/impl/model/DefaultModelInterpolatorTest.java index 7afe7a82e2de..4c002302c4fe 100644 --- a/impl/maven-impl/src/test/java/org/apache/maven/impl/model/DefaultModelInterpolatorTest.java +++ b/impl/maven-impl/src/test/java/org/apache/maven/impl/model/DefaultModelInterpolatorTest.java @@ -20,7 +20,6 @@ import java.nio.file.FileSystem; import java.nio.file.Path; -import java.nio.file.Paths; import java.time.Instant; import java.time.ZoneId; import java.time.format.DateTimeFormatter; @@ -170,7 +169,7 @@ public void testShouldNotThrowExceptionOnReferenceToNonExistentValue() throws Ex final SimpleProblemCollector collector = new SimpleProblemCollector(); Model out = interpolator.interpolateModel( - model, Paths.get("."), createModelBuildingRequest(context).build(), collector); + model, Path.of("."), createModelBuildingRequest(context).build(), collector); assertProblemFree(collector); assertEquals("${test}/somepath", out.getScm().getConnection()); @@ -198,7 +197,7 @@ public void testShouldNotThrowExceptionOnReferenceToValueContainingNakedExpressi final SimpleProblemCollector collector = new SimpleProblemCollector(); Model out = interpolator.interpolateModel( - model, Paths.get("."), createModelBuildingRequest(context).build(), collector); + model, Path.of("."), createModelBuildingRequest(context).build(), collector); assertProblemFree(collector); @@ -215,7 +214,7 @@ void shouldInterpolateOrganizationNameCorrectly() throws Exception { .build(); Model out = interpolator.interpolateModel( - model, Paths.get("."), createModelBuildingRequest(context).build(), new SimpleProblemCollector()); + model, Path.of("."), createModelBuildingRequest(context).build(), new SimpleProblemCollector()); assertEquals(orgName + " Tools", out.getName()); } @@ -230,10 +229,10 @@ public void shouldInterpolateDependencyVersionToSetSameAsProjectVersion() throws final SimpleProblemCollector collector = new SimpleProblemCollector(); Model out = interpolator.interpolateModel( - model, Paths.get("."), createModelBuildingRequest(context).build(), collector); + model, Path.of("."), createModelBuildingRequest(context).build(), collector); assertCollectorState(0, 0, 0, collector); - assertEquals("3.8.1", (out.getDependencies().get(0)).getVersion()); + assertEquals("3.8.1", (out.getDependencies().getFirst()).getVersion()); } @Test @@ -246,10 +245,10 @@ public void testShouldNotInterpolateDependencyVersionWithInvalidReference() thro final SimpleProblemCollector collector = new SimpleProblemCollector(); Model out = interpolator.interpolateModel( - model, Paths.get("."), createModelBuildingRequest(context).build(), collector); + model, Path.of("."), createModelBuildingRequest(context).build(), collector); assertProblemFree(collector); - assertEquals("${something}", (out.getDependencies().get(0)).getVersion()); + assertEquals("${something}", (out.getDependencies().getFirst()).getVersion()); } @Test @@ -264,10 +263,10 @@ public void testTwoReferences() throws Exception { final SimpleProblemCollector collector = new SimpleProblemCollector(); Model out = interpolator.interpolateModel( - model, Paths.get("."), createModelBuildingRequest(context).build(), collector); + model, Path.of("."), createModelBuildingRequest(context).build(), collector); assertCollectorState(0, 0, 0, collector); - assertEquals("foo-3.8.1", (out.getDependencies().get(0)).getVersion()); + assertEquals("foo-3.8.1", (out.getDependencies().getFirst()).getVersion()); } @Test @@ -283,14 +282,14 @@ public void testProperty() throws Exception { final SimpleProblemCollector collector = new SimpleProblemCollector(); Model out = interpolator.interpolateModel( model, - Paths.get("projectBasedir"), + Path.of("projectBasedir"), createModelBuildingRequest(context).build(), collector); assertProblemFree(collector); assertEquals( "file://localhost/anotherBasedir/temp-repo", - (out.getRepositories().get(0)).getUrl()); + (out.getRepositories().getFirst()).getUrl()); } @Test @@ -312,7 +311,7 @@ public void testBasedirUnx() throws Exception { assertEquals( projectBasedir.toAbsolutePath() + "/temp-repo", - (out.getRepositories().get(0)).getUrl()); + (out.getRepositories().getFirst()).getUrl()); } @Test @@ -334,12 +333,12 @@ public void testBasedirWin() throws Exception { assertEquals( projectBasedir.toAbsolutePath() + "/temp-repo", - (out.getRepositories().get(0)).getUrl()); + (out.getRepositories().getFirst()).getUrl()); } @Test public void testBaseUri() throws Exception { - Path projectBasedir = Paths.get("projectBasedir"); + Path projectBasedir = Path.of("projectBasedir"); Model model = Model.newBuilder() .version("3.8.1") @@ -356,12 +355,12 @@ public void testBaseUri() throws Exception { assertEquals( projectBasedir.resolve("temp-repo").toUri().toString(), - (out.getRepositories().get(0)).getUrl()); + (out.getRepositories().getFirst()).getUrl()); } @Test void testRootDirectory() throws Exception { - Path rootDirectory = Paths.get("myRootDirectory"); + Path rootDirectory = Path.of("myRootDirectory"); Model model = Model.newBuilder() .version("3.8.1") @@ -376,12 +375,12 @@ void testRootDirectory() throws Exception { model, rootDirectory, createModelBuildingRequest(context).build(), collector); assertProblemFree(collector); - assertEquals("file:myRootDirectory/temp-repo", (out.getRepositories().get(0)).getUrl()); + assertEquals("file:myRootDirectory/temp-repo", (out.getRepositories().getFirst()).getUrl()); } @Test void testRootDirectoryWithUri() throws Exception { - Path rootDirectory = Paths.get("myRootDirectory"); + Path rootDirectory = Path.of("myRootDirectory"); Model model = Model.newBuilder() .version("3.8.1") @@ -398,12 +397,12 @@ void testRootDirectoryWithUri() throws Exception { assertEquals( rootDirectory.resolve("temp-repo").toUri().toString(), - (out.getRepositories().get(0)).getUrl()); + (out.getRepositories().getFirst()).getUrl()); } @Test void testRootDirectoryWithNull() throws Exception { - Path projectDirectory = Paths.get("myProjectDirectory"); + Path projectDirectory = Path.of("myProjectDirectory"); this.rootDirectory = new AtomicReference<>(null); Model model = Model.newBuilder() @@ -437,7 +436,7 @@ public void testEnvars() throws Exception { final SimpleProblemCollector collector = new SimpleProblemCollector(); Model out = interpolator.interpolateModel( - model, Paths.get("."), createModelBuildingRequest(context).build(), collector); + model, Path.of("."), createModelBuildingRequest(context).build(), collector); assertProblemFree(collector); assertEquals("/path/to/home", out.getProperties().get("outputDirectory")); @@ -453,7 +452,7 @@ public void envarExpressionThatEvaluatesToNullReturnsTheLiteralString() throws E final SimpleProblemCollector collector = new SimpleProblemCollector(); Model out = interpolator.interpolateModel( - model, Paths.get("."), createModelBuildingRequest(context).build(), collector); + model, Path.of("."), createModelBuildingRequest(context).build(), collector); assertProblemFree(collector); assertEquals("${env.DOES_NOT_EXIST}", out.getProperties().get("outputDirectory")); @@ -468,7 +467,7 @@ public void expressionThatEvaluatesToNullReturnsTheLiteralString() throws Except final SimpleProblemCollector collector = new SimpleProblemCollector(); Model out = interpolator.interpolateModel( - model, Paths.get("."), createModelBuildingRequest(context).build(), collector); + model, Path.of("."), createModelBuildingRequest(context).build(), collector); assertProblemFree(collector); assertEquals("${DOES_NOT_EXIST}", out.getProperties().get("outputDirectory")); @@ -498,7 +497,7 @@ public void shouldInterpolateSourceDirectoryReferencedFromResourceDirectoryCorre @Test public void shouldInterpolateUnprefixedBasedirExpression() throws Exception { - Path basedir = Paths.get("/test/path"); + Path basedir = Path.of("/test/path"); Model model = Model.newBuilder() .dependencies(Collections.singletonList(Dependency.newBuilder() .systemPath("${basedir}/artifact.jar") @@ -515,7 +514,7 @@ public void shouldInterpolateUnprefixedBasedirExpression() throws Exception { assertEquals(1, rDeps.size()); assertEquals( basedir.resolve("artifact.jar").toAbsolutePath(), - Paths.get(rDeps.get(0).getSystemPath()).toAbsolutePath()); + Path.of(rDeps.getFirst().getSystemPath()).toAbsolutePath()); } @Test @@ -532,7 +531,7 @@ public void testRecursiveExpressionCycleNPE() throws Exception { interpolator.interpolateModel(model, null, request, collector); assertCollectorState(0, 2, 0, collector); - assertTrue(collector.getErrors().get(0).contains("recursive variable reference")); + assertTrue(collector.getErrors().getFirst().contains("recursive variable reference")); } @Disabled("per def cannot be recursive: ${basedir} is immediately going for project.basedir") @@ -550,7 +549,7 @@ public void testRecursiveExpressionCycleBaseDir() throws Exception { assertCollectorState(0, 1, 0, collector); assertEquals( - "recursive variable reference: basedir", collector.getErrors().get(0)); + "recursive variable reference: basedir", collector.getErrors().getFirst()); } @Test diff --git a/impl/maven-impl/src/test/java/org/apache/maven/impl/model/DefaultModelValidatorTest.java b/impl/maven-impl/src/test/java/org/apache/maven/impl/model/DefaultModelValidatorTest.java index 06947221f3b5..215103cc7135 100644 --- a/impl/maven-impl/src/test/java/org/apache/maven/impl/model/DefaultModelValidatorTest.java +++ b/impl/maven-impl/src/test/java/org/apache/maven/impl/model/DefaultModelValidatorTest.java @@ -109,7 +109,7 @@ void testMissingModelVersion() throws Exception { assertViolations(result, 0, 1, 0); - assertEquals("'modelVersion' is missing.", result.getErrors().get(0)); + assertEquals("'modelVersion' is missing.", result.getErrors().getFirst()); } @Test @@ -118,7 +118,7 @@ void testBadModelVersion() throws Exception { assertViolations(result, 1, 0, 0); - assertTrue(result.getFatals().get(0).contains("modelVersion")); + assertTrue(result.getFatals().getFirst().contains("modelVersion")); } @Test @@ -127,7 +127,7 @@ void testModelVersionMessage() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("'modelVersion' must be one of")); + assertTrue(result.getErrors().getFirst().contains("'modelVersion' must be one of")); } @Test @@ -136,7 +136,7 @@ void testMissingArtifactId() throws Exception { assertViolations(result, 0, 1, 0); - assertEquals("'artifactId' is missing.", result.getErrors().get(0)); + assertEquals("'artifactId' is missing.", result.getErrors().getFirst()); } @Test @@ -145,7 +145,7 @@ void testMissingGroupId() throws Exception { assertViolations(result, 0, 1, 0); - assertEquals("'groupId' is missing.", result.getErrors().get(0)); + assertEquals("'groupId' is missing.", result.getErrors().getFirst()); } @Test @@ -156,7 +156,7 @@ void testInvalidCoordinateIds() throws Exception { assertEquals( "'groupId' with value 'o/a/m' does not match a valid coordinate id pattern.", - result.getErrors().get(0)); + result.getErrors().getFirst()); assertEquals( "'artifactId' with value 'm$-do$' does not match a valid coordinate id pattern.", @@ -169,7 +169,7 @@ void testMissingType() throws Exception { assertViolations(result, 0, 1, 0); - assertEquals("'packaging' is missing.", result.getErrors().get(0)); + assertEquals("'packaging' is missing.", result.getErrors().getFirst()); } @Test @@ -178,7 +178,7 @@ void testMissingVersion() throws Exception { assertViolations(result, 0, 1, 0); - assertEquals("'version' is missing.", result.getErrors().get(0)); + assertEquals("'version' is missing.", result.getErrors().getFirst()); } @Test @@ -187,7 +187,7 @@ void testInvalidAggregatorPackaging() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("Aggregator projects require 'pom' as packaging.")); + assertTrue(result.getErrors().getFirst().contains("Aggregator projects require 'pom' as packaging.")); } @Test @@ -198,7 +198,7 @@ void testMissingDependencyArtifactId() throws Exception { assertTrue( result.getErrors() - .get(0) + .getFirst() .contains( "'dependencies.dependency.artifactId' for groupId='groupId', artifactId=, type='jar' is missing")); } @@ -211,7 +211,7 @@ void testMissingDependencyGroupId() throws Exception { assertTrue( result.getErrors() - .get(0) + .getFirst() .contains( "'dependencies.dependency.groupId' for groupId=, artifactId='artifactId', type='jar' is missing")); } @@ -224,7 +224,7 @@ void testMissingDependencyVersion() throws Exception { assertTrue( result.getErrors() - .get(0) + .getFirst() .contains( "'dependencies.dependency.version' for groupId='groupId', artifactId='artifactId', type='jar' is missing")); } @@ -237,7 +237,7 @@ void testMissingDependencyManagementArtifactId() throws Exception { assertTrue( result.getErrors() - .get(0) + .getFirst() .contains( "'dependencyManagement.dependencies.dependency.artifactId' for groupId='groupId', artifactId=, type='jar' is missing")); } @@ -250,7 +250,7 @@ void testMissingDependencyManagementGroupId() throws Exception { assertTrue( result.getErrors() - .get(0) + .getFirst() .contains( "'dependencyManagement.dependencies.dependency.groupId' for groupId=, artifactId='artifactId', type='jar' is missing")); } @@ -278,7 +278,7 @@ void testMissingPluginArtifactId() throws Exception { assertEquals( "'build.plugins.plugin.artifactId' is missing.", - result.getErrors().get(0)); + result.getErrors().getFirst()); } @Test @@ -290,7 +290,7 @@ void testEmptyPluginVersion() throws Exception { assertEquals( "'build.plugins.plugin.version' for org.apache.maven.plugins:maven-it-plugin" + " must be a valid version but is ''.", - result.getErrors().get(0)); + result.getErrors().getFirst()); } @Test @@ -301,7 +301,7 @@ void testMissingRepositoryId() throws Exception { assertViolations(result, 0, 4, 0); assertEquals( - "'repositories.repository.id' is missing.", result.getErrors().get(0)); + "'repositories.repository.id' is missing.", result.getErrors().getFirst()); assertEquals( "'repositories.repository.[null].url' is missing.", @@ -324,7 +324,7 @@ void testMissingResourceDirectory() throws Exception { assertEquals( "'build.resources.resource.directory' is missing.", - result.getErrors().get(0)); + result.getErrors().getFirst()); assertEquals( "'build.testResources.testResource.directory' is missing.", @@ -337,7 +337,7 @@ void testBadPluginDependencyScope() throws Exception { assertViolations(result, 0, 3, 0); - assertTrue(result.getErrors().get(0).contains("groupId='test', artifactId='d'")); + assertTrue(result.getErrors().getFirst().contains("groupId='test', artifactId='d'")); assertTrue(result.getErrors().get(1).contains("groupId='test', artifactId='e'")); @@ -350,7 +350,7 @@ void testBadDependencyScope() throws Exception { assertViolations(result, 0, 0, 2); - assertTrue(result.getWarnings().get(0).contains("groupId='test', artifactId='f'")); + assertTrue(result.getWarnings().getFirst().contains("groupId='test', artifactId='f'")); assertTrue(result.getWarnings().get(1).contains("groupId='test', artifactId='g'")); } @@ -361,7 +361,7 @@ void testBadDependencyManagementScope() throws Exception { assertViolations(result, 0, 0, 1); - assertContains(result.getWarnings().get(0), "groupId='test', artifactId='g'"); + assertContains(result.getWarnings().getFirst(), "groupId='test', artifactId='g'"); } @Test @@ -371,7 +371,7 @@ void testBadDependencyVersion() throws Exception { assertViolations(result, 0, 2, 0); assertContains( - result.getErrors().get(0), + result.getErrors().getFirst(), "'dependencies.dependency.version' for groupId='test', artifactId='b', type='jar' must be a valid version"); assertContains( result.getErrors().get(1), @@ -384,7 +384,7 @@ void testDuplicateModule() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("child")); + assertTrue(result.getErrors().getFirst().contains("child")); } @Test @@ -393,7 +393,7 @@ void testInvalidProfileId() throws Exception { assertViolations(result, 0, 4, 0); - assertTrue(result.getErrors().get(0).contains("+invalid-id")); + assertTrue(result.getErrors().getFirst().contains("+invalid-id")); assertTrue(result.getErrors().get(1).contains("-invalid-id")); assertTrue(result.getErrors().get(2).contains("!invalid-id")); assertTrue(result.getErrors().get(3).contains("?invalid-id")); @@ -405,7 +405,7 @@ void testDuplicateProfileId() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("non-unique-id")); + assertTrue(result.getErrors().getFirst().contains("non-unique-id")); } @Test @@ -415,7 +415,7 @@ void testBadPluginVersion() throws Exception { assertViolations(result, 0, 4, 0); assertContains( - result.getErrors().get(0), "'build.plugins.plugin.version' for test:mip must be a valid version"); + result.getErrors().getFirst(), "'build.plugins.plugin.version' for test:mip must be a valid version"); assertContains( result.getErrors().get(1), "'build.plugins.plugin.version' for test:rmv must be a valid version"); assertContains( @@ -431,7 +431,7 @@ void testDistributionManagementStatus() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("distributionManagement.status")); + assertTrue(result.getErrors().getFirst().contains("distributionManagement.status")); } @Test @@ -439,7 +439,7 @@ void testIncompleteParent() throws Exception { SimpleProblemCollector result = validateRaw("incomplete-parent.xml"); assertViolations(result, 3, 0, 0); - assertTrue(result.getFatals().get(0).contains("parent.groupId")); + assertTrue(result.getFatals().getFirst().contains("parent.groupId")); assertTrue(result.getFatals().get(1).contains("parent.artifactId")); assertTrue(result.getFatals().get(2).contains("parent.version")); } @@ -451,7 +451,7 @@ void testHardCodedSystemPath() throws Exception { assertViolations(result, 0, 0, 3); assertContains( - result.getWarnings().get(0), + result.getWarnings().getFirst(), "'dependencies.dependency.scope' for groupId='test', artifactId='a', type='jar' declares usage of deprecated 'system' scope"); assertContains( result.getWarnings().get(1), @@ -467,7 +467,7 @@ void testEmptyModule() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("'modules.module[0]' has been specified without a path")); + assertTrue(result.getErrors().getFirst().contains("'modules.module[0]' has been specified without a path")); } @Test @@ -476,7 +476,7 @@ void testDuplicatePlugin() throws Exception { assertViolations(result, 0, 4, 0); - assertTrue(result.getErrors().get(0).contains("duplicate declaration of plugin test:duplicate")); + assertTrue(result.getErrors().getFirst().contains("duplicate declaration of plugin test:duplicate")); assertTrue(result.getErrors().get(1).contains("duplicate declaration of plugin test:managed-duplicate")); assertTrue(result.getErrors().get(2).contains("duplicate declaration of plugin profile:duplicate")); assertTrue(result.getErrors().get(3).contains("duplicate declaration of plugin profile:managed-duplicate")); @@ -488,7 +488,7 @@ void testDuplicatePluginExecution() throws Exception { assertViolations(result, 0, 4, 0); - assertContains(result.getErrors().get(0), "duplicate execution with id a"); + assertContains(result.getErrors().getFirst(), "duplicate execution with id a"); assertContains(result.getErrors().get(1), "duplicate execution with id default"); assertContains(result.getErrors().get(2), "duplicate execution with id c"); assertContains(result.getErrors().get(3), "duplicate execution with id b"); @@ -500,7 +500,7 @@ void testReservedRepositoryId() throws Exception { assertViolations(result, 0, 4, 0); - assertContains(result.getErrors().get(0), "'repositories.repository.id'" + " must not be 'local'"); + assertContains(result.getErrors().getFirst(), "'repositories.repository.id'" + " must not be 'local'"); assertContains(result.getErrors().get(1), "'pluginRepositories.pluginRepository.id' must not be 'local'"); assertContains(result.getErrors().get(2), "'distributionManagement.repository.id' must not be 'local'"); assertContains(result.getErrors().get(3), "'distributionManagement.snapshotRepository.id' must not be 'local'"); @@ -512,7 +512,7 @@ void testMissingPluginDependencyGroupId() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("groupId=, artifactId='a',")); + assertTrue(result.getErrors().getFirst().contains("groupId=, artifactId='a',")); } @Test @@ -521,7 +521,7 @@ void testMissingPluginDependencyArtifactId() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("groupId='test', artifactId=,")); + assertTrue(result.getErrors().getFirst().contains("groupId='test', artifactId=,")); } @Test @@ -530,7 +530,7 @@ void testMissingPluginDependencyVersion() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("groupId='test', artifactId='a',")); + assertTrue(result.getErrors().getFirst().contains("groupId='test', artifactId='a',")); } @Test @@ -539,7 +539,7 @@ void testBadPluginDependencyVersion() throws Exception { assertViolations(result, 0, 1, 0); - assertTrue(result.getErrors().get(0).contains("groupId='test', artifactId='b'")); + assertTrue(result.getErrors().getFirst().contains("groupId='test', artifactId='b'")); } @Test @@ -548,7 +548,7 @@ void testBadVersion() throws Exception { assertViolations(result, 0, 1, 0); - assertContains(result.getErrors().get(0), "'version' must not contain any of these characters"); + assertContains(result.getErrors().getFirst(), "'version' must not contain any of these characters"); } @Test @@ -557,7 +557,7 @@ void testBadSnapshotVersion() throws Exception { assertViolations(result, 0, 1, 0); - assertContains(result.getErrors().get(0), "'version' uses an unsupported snapshot version format"); + assertContains(result.getErrors().getFirst(), "'version' uses an unsupported snapshot version format"); } @Test @@ -567,7 +567,7 @@ void testBadRepositoryId() throws Exception { assertViolations(result, 0, 4, 0); assertContains( - result.getErrors().get(0), "'repositories.repository.id' must not contain any of these characters"); + result.getErrors().getFirst(), "'repositories.repository.id' must not contain any of these characters"); assertContains( result.getErrors().get(1), "'pluginRepositories.pluginRepository.id' must not contain any of these characters"); @@ -587,7 +587,7 @@ void testBadDependencyExclusionId() throws Exception { assertViolations(result, 0, 0, 2); assertContains( - result.getWarnings().get(0), + result.getWarnings().getFirst(), "'dependencies.dependency.exclusions.exclusion.groupId' for groupId='gid', artifactId='aid', type='jar'"); assertContains( result.getWarnings().get(1), @@ -607,7 +607,7 @@ void testMissingDependencyExclusionId() throws Exception { assertViolations(result, 0, 0, 2); assertContains( - result.getWarnings().get(0), + result.getWarnings().getFirst(), "'dependencies.dependency.exclusions.exclusion.groupId' for groupId='gid', artifactId='aid', type='jar' is missing"); assertContains( result.getWarnings().get(1), @@ -621,7 +621,7 @@ void testBadImportScopeType() throws Exception { assertViolations(result, 0, 0, 1); assertContains( - result.getWarnings().get(0), + result.getWarnings().getFirst(), "'dependencyManagement.dependencies.dependency.type' for groupId='test', artifactId='a', type='jar' must be 'pom'"); } @@ -632,7 +632,7 @@ void testBadImportScopeClassifier() throws Exception { assertViolations(result, 0, 1, 0); assertContains( - result.getErrors().get(0), + result.getErrors().getFirst(), "'dependencyManagement.dependencies.dependency.classifier' for groupId='test', artifactId='a', classifier='cls', type='pom' must be empty"); } @@ -643,7 +643,7 @@ void testSystemPathRefersToProjectBasedir() throws Exception { assertViolations(result, 0, 0, 4); assertContains( - result.getWarnings().get(0), + result.getWarnings().getFirst(), "'dependencies.dependency.scope' for groupId='test', artifactId='a', type='jar' declares usage of deprecated 'system' scope"); assertContains( result.getWarnings().get(1), @@ -664,7 +664,7 @@ void testInvalidVersionInPluginManagement() throws Exception { assertEquals( "'build.pluginManagement.plugins.plugin.(groupId:artifactId)' version of a plugin must be defined. ", - result.getFatals().get(0)); + result.getFatals().getFirst()); } @Test @@ -675,7 +675,7 @@ void testInvalidGroupIdInPluginManagement() throws Exception { assertEquals( "'build.pluginManagement.plugins.plugin.(groupId:artifactId)' groupId of a plugin must be defined. ", - result.getFatals().get(0)); + result.getFatals().getFirst()); } @Test @@ -686,7 +686,7 @@ void testInvalidArtifactIdInPluginManagement() throws Exception { assertEquals( "'build.pluginManagement.plugins.plugin.(groupId:artifactId)' artifactId of a plugin must be defined. ", - result.getFatals().get(0)); + result.getFatals().getFirst()); } @Test @@ -697,7 +697,7 @@ void testInvalidGroupAndArtifactIdInPluginManagement() throws Exception { assertEquals( "'build.pluginManagement.plugins.plugin.(groupId:artifactId)' groupId of a plugin must be defined. ", - result.getFatals().get(0)); + result.getFatals().getFirst()); assertEquals( "'build.pluginManagement.plugins.plugin.(groupId:artifactId)' artifactId of a plugin must be defined. ", @@ -718,7 +718,7 @@ void testDeprecatedDependencyMetaversionsLatestAndRelease() throws Exception { assertViolations(result, 0, 0, 2); assertContains( - result.getWarnings().get(0), + result.getWarnings().getFirst(), "'dependencies.dependency.version' for groupId='test', artifactId='a', type='jar' is either LATEST or RELEASE (both of them are being deprecated)"); assertContains( result.getWarnings().get(1), @@ -733,7 +733,7 @@ void testSelfReferencingDependencyInRawModel() throws Exception { assertEquals( "'dependencies.dependency[com.example.group:testinvalidpom:0.0.1-SNAPSHOT]' for com.example.group:testinvalidpom:0.0.1-SNAPSHOT is referencing itself.", - result.getFatals().get(0)); + result.getFatals().getFirst()); } @Test @@ -773,7 +773,7 @@ void testCiFriendlyBad() throws Exception { assertViolations(result, 0, 0, 1); assertEquals( "'version' contains an expression but should be a constant.", - result.getWarnings().get(0)); + result.getWarnings().getFirst()); } @Test @@ -782,7 +782,7 @@ void testCiFriendlyBadSha1Plus() throws Exception { assertViolations(result, 0, 0, 1); assertEquals( "'version' contains an expression but should be a constant.", - result.getWarnings().get(0)); + result.getWarnings().getFirst()); } @Test @@ -791,7 +791,7 @@ void testCiFriendlyBadSha1Plus2() throws Exception { assertViolations(result, 0, 0, 1); assertEquals( "'version' contains an expression but should be a constant.", - result.getWarnings().get(0)); + result.getWarnings().getFirst()); } @Test @@ -800,7 +800,7 @@ void testParentVersionLATEST() throws Exception { assertViolations(result, 0, 0, 1); assertEquals( "'parent.version' is either LATEST or RELEASE (both of them are being deprecated)", - result.getWarnings().get(0)); + result.getWarnings().getFirst()); } @Test @@ -809,7 +809,7 @@ void testParentVersionRELEASE() throws Exception { assertViolations(result, 0, 0, 1); assertEquals( "'parent.version' is either LATEST or RELEASE (both of them are being deprecated)", - result.getWarnings().get(0)); + result.getWarnings().getFirst()); } @Test @@ -818,7 +818,7 @@ void repositoryWithExpression() throws Exception { assertViolations(result, 0, 1, 0); assertEquals( "'repositories.repository.[repo].url' contains an unsupported expression (only expressions starting with 'project.basedir' or 'project.rootDirectory' are supported).", - result.getErrors().get(0)); + result.getErrors().getFirst()); } @Test @@ -846,7 +846,7 @@ void profileActivationFileWithProjectExpression() throws Exception { "'profiles.profile[exists-project-version].activation.file.exists' " + "Failed to interpolate profile activation property ${project.version}/test.txt: " + "${project.version} expressions are not supported during profile activation.", - result.getWarnings().get(0)); + result.getWarnings().getFirst()); assertEquals( "'profiles.profile[missing-project-version].activation.file.missing' " @@ -865,7 +865,7 @@ void profileActivationPropertyWithProjectExpression() throws Exception { "'profiles.profile[property-name-project-version].activation.property.name' " + "Failed to interpolate profile activation property ${project.version}: " + "${project.version} expressions are not supported during profile activation.", - result.getWarnings().get(0)); + result.getWarnings().getFirst()); assertEquals( "'profiles.profile[property-value-project-version].activation.property.value' " diff --git a/impl/maven-impl/src/test/java/org/apache/maven/impl/model/profile/ConditionParserTest.java b/impl/maven-impl/src/test/java/org/apache/maven/impl/model/profile/ConditionParserTest.java index 56d2cbb3aec9..8f2ecee54aab 100644 --- a/impl/maven-impl/src/test/java/org/apache/maven/impl/model/profile/ConditionParserTest.java +++ b/impl/maven-impl/src/test/java/org/apache/maven/impl/model/profile/ConditionParserTest.java @@ -265,7 +265,7 @@ void testPropertyAlias() { @Test void testNestedPropertyAlias() { functions.put("property", args -> { - if (args.get(0).equals("project.rootDirectory")) { + if (args.getFirst().equals("project.rootDirectory")) { return "/home/user/project"; } return null; diff --git a/impl/maven-impl/src/test/java/org/apache/maven/impl/model/profile/ConditionProfileActivatorTest.java b/impl/maven-impl/src/test/java/org/apache/maven/impl/model/profile/ConditionProfileActivatorTest.java index 5d371c2fc3cc..bf4f3cf56673 100644 --- a/impl/maven-impl/src/test/java/org/apache/maven/impl/model/profile/ConditionProfileActivatorTest.java +++ b/impl/maven-impl/src/test/java/org/apache/maven/impl/model/profile/ConditionProfileActivatorTest.java @@ -213,7 +213,7 @@ private void assertActivationWithProblems( assertEquals(0, problems.getErrors().size(), problems.getErrors().toString()); assertEquals(1, problems.getWarnings().size(), problems.getWarnings().toString()); assertTrue( - problems.getWarnings().get(0).contains(warningContains), + problems.getWarnings().getFirst().contains(warningContains), problems.getWarnings().toString()); } diff --git a/impl/maven-impl/src/test/java/org/apache/maven/impl/model/profile/JdkVersionProfileActivatorTest.java b/impl/maven-impl/src/test/java/org/apache/maven/impl/model/profile/JdkVersionProfileActivatorTest.java index 9f72bee87af1..ec9523fa0084 100644 --- a/impl/maven-impl/src/test/java/org/apache/maven/impl/model/profile/JdkVersionProfileActivatorTest.java +++ b/impl/maven-impl/src/test/java/org/apache/maven/impl/model/profile/JdkVersionProfileActivatorTest.java @@ -191,6 +191,6 @@ private void assertActivationWithProblems( assertEquals(0, problems.getErrors().size()); assertEquals(1, problems.getWarnings().size()); - assertTrue(problems.getWarnings().get(0).contains(warningContains)); + assertTrue(problems.getWarnings().getFirst().contains(warningContains)); } } diff --git a/impl/maven-impl/src/test/java/org/apache/maven/impl/resolver/DefaultModelResolverTest.java b/impl/maven-impl/src/test/java/org/apache/maven/impl/resolver/DefaultModelResolverTest.java index e680267895ad..fead85d9d694 100644 --- a/impl/maven-impl/src/test/java/org/apache/maven/impl/resolver/DefaultModelResolverTest.java +++ b/impl/maven-impl/src/test/java/org/apache/maven/impl/resolver/DefaultModelResolverTest.java @@ -19,7 +19,6 @@ package org.apache.maven.impl.resolver; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.concurrent.atomic.AtomicReference; @@ -54,7 +53,7 @@ class DefaultModelResolverTest { @BeforeEach void setup() { - Path basedir = Paths.get(System.getProperty("basedir", "")); + Path basedir = Path.of(System.getProperty("basedir", "")); Path localRepoPath = basedir.resolve("target/local-repo"); Path remoteRepoPath = basedir.resolve("src/test/remote-repo"); Session s = ApiRunner.createSession( diff --git a/impl/maven-impl/src/test/java/org/apache/maven/impl/standalone/RequestTraceTest.java b/impl/maven-impl/src/test/java/org/apache/maven/impl/standalone/RequestTraceTest.java index 934350477018..a1511507260d 100644 --- a/impl/maven-impl/src/test/java/org/apache/maven/impl/standalone/RequestTraceTest.java +++ b/impl/maven-impl/src/test/java/org/apache/maven/impl/standalone/RequestTraceTest.java @@ -19,7 +19,7 @@ package org.apache.maven.impl.standalone; import java.nio.file.Files; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.List; import java.util.concurrent.CopyOnWriteArrayList; @@ -64,7 +64,7 @@ void testTraces() { ModelBuilderResult result = builder.newSession() .build(ModelBuilderRequest.builder() .session(session) - .source(Sources.buildSource(Paths.get("pom.xml").toAbsolutePath())) + .source(Sources.buildSource(Path.of("pom.xml").toAbsolutePath())) .requestType(ModelBuilderRequest.RequestType.BUILD_PROJECT) .recursive(true) .build()); @@ -96,8 +96,7 @@ public void artifactResolved(RepositoryEvent event) { .build()) .getRoot() .getChildren() - .iterator() - .next(); + .getFirst(); for (RepositoryEvent event : events) { org.eclipse.aether.RequestTrace trace = event.getTrace(); diff --git a/impl/maven-impl/src/test/java/org/apache/maven/impl/standalone/TestApiStandalone.java b/impl/maven-impl/src/test/java/org/apache/maven/impl/standalone/TestApiStandalone.java index a0c519a9eaf5..6a8ef1736324 100644 --- a/impl/maven-impl/src/test/java/org/apache/maven/impl/standalone/TestApiStandalone.java +++ b/impl/maven-impl/src/test/java/org/apache/maven/impl/standalone/TestApiStandalone.java @@ -19,7 +19,7 @@ package org.apache.maven.impl.standalone; import java.nio.file.Files; -import java.nio.file.Paths; +import java.nio.file.Path; import org.apache.maven.api.ArtifactCoordinates; import org.apache.maven.api.DownloadedArtifact; @@ -54,7 +54,7 @@ void testStandalone() { ModelBuilderResult result = builder.newSession() .build(ModelBuilderRequest.builder() .session(session) - .source(Sources.buildSource(Paths.get("pom.xml").toAbsolutePath())) + .source(Sources.buildSource(Path.of("pom.xml").toAbsolutePath())) .requestType(ModelBuilderRequest.RequestType.BUILD_PROJECT) .recursive(true) .build()); diff --git a/impl/maven-impl/src/test/resources/poms/factory/props-and-profiles-grand-parent.xml b/impl/maven-impl/src/test/resources/poms/factory/props-and-profiles-grand-parent.xml index 26230696587a..ae10708f0bdc 100644 --- a/impl/maven-impl/src/test/resources/poms/factory/props-and-profiles-grand-parent.xml +++ b/impl/maven-impl/src/test/resources/poms/factory/props-and-profiles-grand-parent.xml @@ -27,7 +27,7 @@ true - 17 + 21 diff --git a/impl/maven-support/src/test/java/org/apache/maven/model/v4/MavenStaxReaderTest.java b/impl/maven-support/src/test/java/org/apache/maven/model/v4/MavenStaxReaderTest.java index d88c3522e182..672dec2738cf 100644 --- a/impl/maven-support/src/test/java/org/apache/maven/model/v4/MavenStaxReaderTest.java +++ b/impl/maven-support/src/test/java/org/apache/maven/model/v4/MavenStaxReaderTest.java @@ -34,9 +34,11 @@ class MavenStaxReaderTest { @Test void testNamespaceReporting() throws Exception { - String xml = "\n" - + " 4.0.0\n" - + ""; + String xml = + """ + + 4.0.0 + """; Model model = fromXml(xml); assertEquals("http://maven.apache.org/POM/4.0.0", model.getNamespaceUri()); @@ -52,15 +54,17 @@ void testEmptyNamespaceReporting() throws Exception { @Test void testNamespaceConsistency() throws XMLStreamException { - String xml = "\n" - + " \n" - + " \n" - + " \n" - + " maven-test-plugin\n" - + " \n" - + " \n" - + " \n" - + ""; + String xml = + """ + + + + + maven-test-plugin + + + + """; Model model = fromXml(xml); assertEquals("http://maven.apache.org/POM/4.0.0", model.getNamespaceUri()); @@ -68,15 +72,17 @@ void testNamespaceConsistency() throws XMLStreamException { @Test void testNamespaceInconsistencyThrows() { - String xml = "\n" - + " \n" - + " \n" - + " \n" - + " maven-test-plugin\n" - + " \n" - + " \n" - + " \n" - + ""; + String xml = + """ + + + + + maven-test-plugin + + + + """; XMLStreamException ex = assertThrows(XMLStreamException.class, () -> fromXml(xml)); assertTrue(ex.getMessage().contains("Unexpected namespace for element 'build'")); @@ -86,15 +92,17 @@ void testNamespaceInconsistencyThrows() { @Test void testEmptyNamespaceConsistency() throws XMLStreamException { - String xml = "\n" - + " \n" - + " \n" - + " \n" - + " maven-test-plugin\n" - + " \n" - + " \n" - + " \n" - + ""; + String xml = + """ + + + + + maven-test-plugin + + + + """; Model model = fromXml(xml); assertEquals("", model.getNamespaceUri()); @@ -102,15 +110,17 @@ void testEmptyNamespaceConsistency() throws XMLStreamException { @Test void testEmptyNamespaceInconsistencyThrows() { - String xml = "\n" - + " \n" - + " \n" - + " \n" - + " maven-test-plugin\n" - + " \n" - + " \n" - + " \n" - + ""; + String xml = + """ + + + + + maven-test-plugin + + + + """; XMLStreamException ex = assertThrows(XMLStreamException.class, () -> fromXml(xml)); assertTrue(ex.getMessage().contains("Unexpected namespace for element 'build'")); @@ -120,20 +130,22 @@ void testEmptyNamespaceInconsistencyThrows() { @Test void testPluginConfigurationAllowsOtherNamespaces() throws XMLStreamException { - String xml = "\n" - + " \n" - + " \n" - + " \n" - + " maven-test-plugin\n" - + " \n" - + " \n" - + " value\n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + ""; + String xml = + """ + + + + + maven-test-plugin + + + value + + + + + + """; Model model = fromXml(xml); assertNotNull(model); diff --git a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java b/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java index e06ea7c58e7d..17bd041eefc2 100644 --- a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java +++ b/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/MojoExtension.java @@ -30,7 +30,6 @@ import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -239,7 +238,7 @@ public Object resolveParameter(ParameterContext parameterContext, ExtensionConte Model localModel = new MavenStaxReader().read(r); model = new MavenMerger().merge(localModel, model, false, null); model = new DefaultModelPathTranslator(new DefaultPathTranslator()) - .alignToBaseDirectory(model, Paths.get(getBasedir()), null); + .alignToBaseDirectory(model, Path.of(getBasedir()), null); } } goal = parameterInjectMojo.goal(); @@ -362,7 +361,7 @@ public void beforeEach(ExtensionContext context) throws Exception { */ - Path basedirPath = Paths.get(getBasedir()); + Path basedirPath = Path.of(getBasedir()); InjectMojo mojo = AnnotationSupport.findAnnotation(context.getElement().get(), InjectMojo.class) .orElse(null); @@ -418,7 +417,7 @@ public void beforeEach(ExtensionContext context) throws Exception { model = new MavenMerger().merge(tmodel, defaultModel, false, null); } tmodel = new DefaultModelPathTranslator(new DefaultPathTranslator()) - .alignToBaseDirectory(tmodel, Paths.get(getBasedir()), null); + .alignToBaseDirectory(tmodel, Path.of(getBasedir()), null); context.getStore(ExtensionContext.Namespace.GLOBAL).put(Model.class, tmodel); // mojo execution @@ -458,7 +457,7 @@ private Project createProject(InternalSession s) { stub.setMainArtifact(artifact); } stub.setModel(model); - stub.setBasedir(Paths.get(MojoExtension.getBasedir())); + stub.setBasedir(Path.of(MojoExtension.getBasedir())); stub.setPomPath(modelPath[0]); s.getService(ArtifactManager.class).setPath(stub.getPomArtifact(), modelPath[0]); return stub; @@ -584,7 +583,7 @@ static ModelXmlFactory newModelXmlFactory(Session session) { private Reader openPomUrl(Class holder, String pom, Path[] modelPath) throws IOException { if (pom.startsWith("file:")) { - Path path = Paths.get(getBasedir()).resolve(pom.substring("file:".length())); + Path path = Path.of(getBasedir()).resolve(pom.substring("file:".length())); modelPath[0] = path; return Files.newBufferedReader(path); } else if (pom.startsWith("classpath:")) { @@ -596,7 +595,7 @@ private Reader openPomUrl(Class holder, String pom, Path[] modelPath) throws } else if (pom.contains("")) { return new StringReader(pom); } else { - Path path = Paths.get(getBasedir()).resolve(pom); + Path path = Path.of(getBasedir()).resolve(pom); modelPath[0] = path; return Files.newBufferedReader(path); } @@ -610,7 +609,7 @@ protected String[] mojoCoordinates(String goal) throws Exception { if (goal.matches(".*:.*:.*:.*")) { return goal.split(":"); } else { - Path pluginPom = Paths.get(getPluginBasedir(), "pom.xml"); + Path pluginPom = Path.of(getPluginBasedir(), "pom.xml"); Xpp3Dom pluginPomDom = Xpp3DomBuilder.build(Files.newBufferedReader(pluginPom)); String artifactId = pluginPomDom.getChild("artifactId").getValue(); String groupId = resolveFromRootThenParent(pluginPomDom, "groupId"); diff --git a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionMock.java b/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionMock.java index bf7ddefb3a80..8869b351b9ff 100644 --- a/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionMock.java +++ b/impl/maven-testing/src/main/java/org/apache/maven/api/plugin/testing/stubs/SessionMock.java @@ -20,7 +20,6 @@ import java.net.URI; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -132,7 +131,7 @@ public class SessionMock { public static InternalSession getMockSession(String localRepo) { LocalRepository localRepository = mock(LocalRepository.class); when(localRepository.getId()).thenReturn("local"); - when(localRepository.getPath()).thenReturn(Paths.get(localRepo)); + when(localRepository.getPath()).thenReturn(Path.of(localRepo)); return getMockSession(localRepository); } diff --git a/impl/maven-testing/src/test/java/org/apache/maven/api/plugin/testing/ExpressionEvaluatorTest.java b/impl/maven-testing/src/test/java/org/apache/maven/api/plugin/testing/ExpressionEvaluatorTest.java index 30834c5b25d9..ec99cd1a7adf 100644 --- a/impl/maven-testing/src/test/java/org/apache/maven/api/plugin/testing/ExpressionEvaluatorTest.java +++ b/impl/maven-testing/src/test/java/org/apache/maven/api/plugin/testing/ExpressionEvaluatorTest.java @@ -19,7 +19,6 @@ package org.apache.maven.api.plugin.testing; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Properties; import org.apache.maven.api.Project; @@ -126,14 +125,14 @@ Session session() { Session session = SessionMock.getMockSession(LOCAL_REPO); doReturn(new Properties()).when(session).getSystemProperties(); doReturn(new Properties()).when(session).getUserProperties(); - doAnswer(iom -> Paths.get(MojoExtension.getBasedir())).when(session).getRootDirectory(); + doAnswer(iom -> Path.of(MojoExtension.getBasedir())).when(session).getRootDirectory(); return session; } @Provides Project project() { ProjectStub project = new ProjectStub(); - project.setBasedir(Paths.get(MojoExtension.getBasedir())); + project.setBasedir(Path.of(MojoExtension.getBasedir())); return project; } } diff --git a/impl/maven-xml/src/test/java/org/apache/maven/internal/xml/XmlNodeImplTest.java b/impl/maven-xml/src/test/java/org/apache/maven/internal/xml/XmlNodeImplTest.java index af2fcd3dbab7..c8f7533cad23 100644 --- a/impl/maven-xml/src/test/java/org/apache/maven/internal/xml/XmlNodeImplTest.java +++ b/impl/maven-xml/src/test/java/org/apache/maven/internal/xml/XmlNodeImplTest.java @@ -45,102 +45,108 @@ class XmlNodeImplTest { @Test void testCombineChildrenAppend() throws Exception { - String lhs = "\n" - + " \n" - + " \n" - + " foo.bar\n" - + " foo-bar-plugin\n" - + " \n" - + " \n" - + " \n" - + " org.apache.maven.plugins\n" - + " maven-compiler-plugin\n" - + " \n" - + " \n" - + " org.apache.maven.plugins\n" - + " maven-surefire-plugin\n" - + " \n" - + " \n" - + " \n" - + " prop2\n" - + " value2\n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + ""; - - String rhs = "\n" - + " \n" - + " \n" - + " foo.bar\n" - + " foo-bar-plugin\n" - + " \n" - + " \n" - + " \n" - + " org.apache.maven.plugins\n" - + " maven-compiler-plugin\n" - + " \n" - + " foo\n" - + " \n" - + " \n" - + " \n" - + " org.apache.maven.plugins\n" - + " maven-surefire-plugin\n" - + " \n" - + " \n" - + " \n" - + " prop1\n" - + " value1\n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + ""; - - String result = "\n" - + " \n" - + " \n" - + " foo.bar\n" - + " foo-bar-plugin\n" - + " \n" - + " \n" - + " \n" - + " org.apache.maven.plugins\n" - + " maven-compiler-plugin\n" - + " \n" - + " foo\n" - + " \n" - + " \n" - + " \n" - + " org.apache.maven.plugins\n" - + " maven-surefire-plugin\n" - + " \n" - + " \n" - + " \n" - + " prop1\n" - + " value1\n" - + " \n" - + " \n" - + " prop2\n" - + " value2\n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + " \n" - + ""; + String lhs = + """ + + + + foo.bar + foo-bar-plugin + + + + org.apache.maven.plugins + maven-compiler-plugin + + + org.apache.maven.plugins + maven-surefire-plugin + + + + prop2 + value2 + + + + + + + + + """; + + String rhs = + """ + + + + foo.bar + foo-bar-plugin + + + + org.apache.maven.plugins + maven-compiler-plugin + + foo + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + prop1 + value1 + + + + + + + + + """; + + String result = + """ + + + + foo.bar + foo-bar-plugin + + + + org.apache.maven.plugins + maven-compiler-plugin + + foo + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + prop1 + value1 + + + prop2 + value2 + + + + + + + + + """; XmlNode leftDom = toXmlNode(lhs); XmlNode rightDom = toXmlNode(rhs); @@ -343,13 +349,13 @@ void testShouldPerformAppendAtFirstSubElementLevel() throws XMLStreamException { XmlNode result = XmlService.merge(leftDom, rightDom); assertEquals(4, getChildren(result, "topsub1").size()); - assertEquals("t2s1Value", getChildren(result, "topsub1").get(0).value()); + assertEquals("t2s1Value", getChildren(result, "topsub1").getFirst().value()); assertEquals("t2s2Value", getChildren(result, "topsub1").get(1).value()); assertEquals("t1s1Value", getChildren(result, "topsub1").get(2).value()); assertEquals("t1s2Value", getChildren(result, "topsub1").get(3).value()); assertEquals("left", result.inputLocation()); - assertEquals("right", getChildren(result, "topsub1").get(0).inputLocation()); + assertEquals("right", getChildren(result, "topsub1").getFirst().inputLocation()); assertEquals("right", getChildren(result, "topsub1").get(1).inputLocation()); assertEquals("left", getChildren(result, "topsub1").get(2).inputLocation()); assertEquals("left", getChildren(result, "topsub1").get(3).inputLocation()); @@ -513,7 +519,7 @@ void testShouldOverwritePluginConfigurationSubItemsByDefault() throws XMLStreamE assertEquals(1, items.children().size()); - XmlNode item = items.children().get(0); + XmlNode item = items.children().getFirst(); assertEquals("three", item.value()); assertEquals("child", item.inputLocation()); } @@ -561,7 +567,7 @@ void testShouldNotChangeUponMergeWithItselfWhenFirstOrLastSubItemIsEmpty() throw assertEquals(3, items.children().size()); - assertNull(items.children().get(0).value()); + assertNull(items.children().getFirst().value()); assertEquals("test", items.children().get(1).value()); assertNull(items.children().get(2).value()); } @@ -636,27 +642,34 @@ void testShouldRemoveDoNotRemoveTagWhenSwappedInputDOMs() throws Exception { @Test void testMergeCombineChildrenAppendOnRecessive() throws XMLStreamException, IOException { - String dominant = "\n" + " \n" - + " org.apache.shiro.crypto.CipherService\n" - + " org.apache.shiro.crypto.cipher.CipherService\n" - + " \n" - + ""; - String recessive = "\n" - + " \n" - + " javax.faces\n" - + " jakarta.faces\n" - + " \n" - + ""; - String expected = "\n" - + " \n" - + " javax.faces\n" - + " jakarta.faces\n" - + " \n" - + " \n" - + " org.apache.shiro.crypto.CipherService\n" - + " org.apache.shiro.crypto.cipher.CipherService\n" - + " \n" - + ""; + String dominant = + """ + + + org.apache.shiro.crypto.CipherService + org.apache.shiro.crypto.cipher.CipherService + + """; + String recessive = + """ + + + javax.faces + jakarta.faces + + """; + String expected = + """ + + + javax.faces + jakarta.faces + + + org.apache.shiro.crypto.CipherService + org.apache.shiro.crypto.cipher.CipherService + + """; XmlNode d = toXmlNode(dominant); XmlNode r = toXmlNode(recessive); diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java index 46ff32ec8bfa..088ccfdcb525 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4660OutdatedPackagedArtifact.java @@ -24,7 +24,6 @@ import java.nio.file.FileVisitor; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.nio.file.attribute.BasicFileAttributes; import org.junit.jupiter.api.Test; @@ -78,7 +77,7 @@ public void testShouldWarnWhenPackagedArtifactIsOutdated() throws Exception { // 2. Create a properties file with some content and compile only that module (module A). final Verifier verifier2 = newVerifier(testDir.getAbsolutePath()); final Path resourcesDirectory = - Files.createDirectories(Paths.get(testDir.toString(), "module-a", "src", "main", "resources")); + Files.createDirectories(Path.of(testDir.toString(), "module-a", "src", "main", "resources")); final Path fileToWrite = resourcesDirectory.resolve("example.properties"); Files.writeString(fileToWrite, "x=42"); @@ -115,7 +114,7 @@ public void testShouldWarnWhenPackagedArtifactIsOutdated() throws Exception { try { verifier3.verifyTextInLog( "File '" - + Paths.get("module-a", "target", "classes", "example.properties") + + Path.of("module-a", "target", "classes", "example.properties") + "' is more recent than the packaged artifact for 'module-a', please run a full `mvn package` build"); } catch (VerificationException e) { final StringBuilder message = new StringBuilder(e.getMessage()); @@ -129,7 +128,7 @@ public void testShouldWarnWhenPackagedArtifactIsOutdated() throws Exception { message.append(System.lineSeparator()); - Path outputDirectory = Paths.get(testDir.toString(), "module-a", "target", "classes"); + Path outputDirectory = Path.of(testDir.toString(), "module-a", "target", "classes"); Files.walkFileTree(outputDirectory, new FileVisitor() { @Override diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6754TimestampInMultimoduleProject.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6754TimestampInMultimoduleProject.java index 23059656636f..11eeeb9e1d68 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6754TimestampInMultimoduleProject.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng6754TimestampInMultimoduleProject.java @@ -23,7 +23,6 @@ import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Properties; import org.apache.maven.artifact.repository.metadata.Metadata; @@ -48,8 +47,8 @@ public MavenITmng6754TimestampInMultimoduleProject() { public void testArtifactsHaveSameTimestamp() throws Exception { final File testDir = extractResources(RESOURCE_PATH); final Verifier verifier = newVerifier(testDir.getAbsolutePath()); - final Path localRepoDir = Paths.get(verifier.getLocalRepository()); - final Path remoteRepoDir = Paths.get(verifier.getBasedir(), "repo"); + final Path localRepoDir = Path.of(verifier.getLocalRepository()); + final Path remoteRepoDir = Path.of(verifier.getBasedir(), "repo"); verifier.deleteDirectory("repo"); verifier.deleteArtifacts("org.apache.maven.its.mng6754"); @@ -343,7 +342,7 @@ private Path getRemoteMetadataPath(final Path repoDir, final String moduleName, } private Path getRepoFile(final Path repoDir, final String moduleName, String version, String fileName) { - final Path mng6754Path = Paths.get("org", "apache", "maven", "its", "mng6754"); + final Path mng6754Path = Path.of("org", "apache", "maven", "its", "mng6754"); Path modulePath = repoDir.resolve(mng6754Path.resolve(moduleName)); if (version != null) { modulePath = modulePath.resolve(version); diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7737ProfileActivationTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7737ProfileActivationTest.java index 251bcff7cf11..0dc6801e67fd 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7737ProfileActivationTest.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7737ProfileActivationTest.java @@ -53,7 +53,7 @@ void testSingleMojoNoPom() throws Exception { verifier.execute(); verifier.verifyErrorFreeLog(); - // Example output on my Linux Box w/ Java 17 + // Example output on my Linux Box w/ Java 21 // The following profiles are active: // // - settings-active-default (source: external) @@ -61,6 +61,7 @@ void testSingleMojoNoPom() throws Exception { // - settings-jdk-8 (source: external) // - settings-jdk-11 (source: external) // - settings-jdk-17 (source: external) + // - settings-jdk-21 (source: external) // - settings-os-unix (source: external) // - settings-property (source: external) // - settings-file-exists-present (source: external) @@ -69,6 +70,7 @@ void testSingleMojoNoPom() throws Exception { // - pom-jdk-8 (source: org.apache.maven.its.mng7737:test:0.1) // - pom-jdk-11 (source: org.apache.maven.its.mng7737:test:0.1) // - pom-jdk-17 (source: org.apache.maven.its.mng7737:test:0.1) + // - pom-jdk-21 (source: org.apache.maven.its.mng7737:test:0.1) // - pom-os-unix (source: org.apache.maven.its.mng7737:test:0.1) // - pom-property (source: org.apache.maven.its.mng7737:test:0.1) // - pom-file-exists-present (source: org.apache.maven.its.mng7737:test:0.1) diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7772CoreExtensionFoundTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7772CoreExtensionFoundTest.java index 6b210695f1fd..d4018cdffc60 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7772CoreExtensionFoundTest.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7772CoreExtensionFoundTest.java @@ -21,7 +21,6 @@ import java.io.File; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import org.junit.jupiter.api.Test; @@ -44,7 +43,7 @@ public void testWithExtensionsXmlCoreExtensionsFound() throws Exception { String installedToLocalRepo = verifier.getLocalRepository(); verifier = newVerifier(testDir.getAbsolutePath()); - verifier.setUserHomeDirectory(Paths.get(testDir.toPath().toString(), "home-extensions-xml")); + verifier.setUserHomeDirectory(Path.of(testDir.toPath().toString(), "home-extensions-xml")); verifier.addCliArgument("-Dmaven.repo.local=" + installedToLocalRepo); verifier.addCliArgument("validate"); @@ -69,7 +68,7 @@ public void testWithLibExtCoreExtensionsFound() throws Exception { assertTrue("Jar output path was not built", Files.isRegularFile(jarPath)); verifier = newVerifier(testDir.getAbsolutePath()); - verifier.setUserHomeDirectory(Paths.get(testDir.toPath().toString(), "home-lib-ext")); + verifier.setUserHomeDirectory(Path.of(testDir.toPath().toString(), "home-lib-ext")); verifier.addCliArgument("-Dmaven.ext.class.path=" + jarPath); verifier.addCliArgument("validate"); verifier.execute(); diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7772CoreExtensionsNotFoundTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7772CoreExtensionsNotFoundTest.java index a109ac964894..159adc51bf9c 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7772CoreExtensionsNotFoundTest.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7772CoreExtensionsNotFoundTest.java @@ -19,7 +19,7 @@ package org.apache.maven.it; import java.io.File; -import java.nio.file.Paths; +import java.nio.file.Path; import org.junit.jupiter.api.Test; @@ -38,7 +38,7 @@ public void testCoreExtensionsNotFound() throws Exception { File testDir = extractResources("/mng-7772-core-extensions-not-found"); Verifier verifier = newVerifier(testDir.getAbsolutePath()); - verifier.setUserHomeDirectory(Paths.get(testDir.toPath().toString(), "home")); + verifier.setUserHomeDirectory(Path.of(testDir.toPath().toString(), "home")); try { verifier.addCliArgument("validate"); diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7836AlternativePomSyntaxTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7836AlternativePomSyntaxTest.java index 50116d5f0e25..300ec1a12ce5 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7836AlternativePomSyntaxTest.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng7836AlternativePomSyntaxTest.java @@ -22,7 +22,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import org.junit.jupiter.api.Test; @@ -53,9 +52,9 @@ void testAlternativeSyntax() throws Exception { consumerVerifier.addCliArgument("-Drat.skip=true"); consumerVerifier.addCliArgument("-V"); - Path consumerPom = Paths.get(consumerVerifier.getArtifactPath( + Path consumerPom = Path.of(consumerVerifier.getArtifactPath( "org.apache.maven.its.mng-7836", "hocon-simple", "1.0.0-SNAPSHOT", "pom", "")); - Path buildPom = Paths.get(consumerVerifier.getArtifactPath( + Path buildPom = Path.of(consumerVerifier.getArtifactPath( "org.apache.maven.its.mng-7836", "hocon-simple", "1.0.0-SNAPSHOT", "pom", "build")); consumerVerifier.deleteArtifacts("org.apache.maven.its.mng-7836", "hocon-simple", "1.0.0-SNAPSHOT"); diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8400CanonicalMavenHomeTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8400CanonicalMavenHomeTest.java index bf4b79bf78ae..1bc7ae12f8ca 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8400CanonicalMavenHomeTest.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8400CanonicalMavenHomeTest.java @@ -22,7 +22,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Properties; import org.junit.jupiter.api.Test; @@ -49,7 +48,7 @@ void testIt() throws Exception { Path linkedMavenHome = tempDir.resolve("linked-maven-home"); - Path oldMavenHome = Paths.get(System.getProperty("maven.home")); + Path oldMavenHome = Path.of(System.getProperty("maven.home")); Files.deleteIfExists(linkedMavenHome); Files.createSymbolicLink(linkedMavenHome, oldMavenHome); System.setProperty("maven.home", linkedMavenHome.toString()); @@ -65,9 +64,9 @@ void testIt() throws Exception { Properties props = new Properties(); props.load(new ByteArrayInputStream(dump.getBytes(StandardCharsets.UTF_8))); - Path installationSettingsXml = Paths.get(props.getProperty("maven.settings")); - Path installationToolchainsXml = Paths.get(props.getProperty("maven.toolchains")); - Path mavenHome = Paths.get(props.getProperty("maven.home")); + Path installationSettingsXml = Path.of(props.getProperty("maven.settings")); + Path installationToolchainsXml = Path.of(props.getProperty("maven.toolchains")); + Path mavenHome = Path.of(props.getProperty("maven.home")); assertEquals(mavenHome, installationSettingsXml.getParent().getParent()); // remove conf assertEquals(mavenHome, installationToolchainsXml.getParent().getParent()); // remove conf diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8414ConsumerPomWithNewFeaturesTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8414ConsumerPomWithNewFeaturesTest.java index c81df8c0d696..118f50f3ab58 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8414ConsumerPomWithNewFeaturesTest.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8414ConsumerPomWithNewFeaturesTest.java @@ -21,7 +21,6 @@ import java.io.Reader; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import org.apache.maven.api.model.Model; import org.apache.maven.model.v4.MavenStaxReader; @@ -55,7 +54,7 @@ void testNotPreserving() throws Exception { verifier.verifyTextInLog( "The consumer POM for org.apache.maven.its:mng-8414:jar:1.0.0-SNAPSHOT cannot be downgraded to 4.0.0."); - Path consumerPom = basedir.resolve(Paths.get( + Path consumerPom = basedir.resolve(Path.of( "target", "project-local-repo", "org.apache.maven.its", @@ -86,7 +85,7 @@ void testPreserving() throws Exception { verifier.verifyTextNotInLog("cannot be downgraded to 4.0.0."); - Path consumerPom = basedir.resolve(Paths.get( + Path consumerPom = basedir.resolve(Path.of( "target", "project-local-repo", "org.apache.maven.its", diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8523ModelPropertiesTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8523ModelPropertiesTest.java index 6260747f01d1..4658e178bef9 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8523ModelPropertiesTest.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8523ModelPropertiesTest.java @@ -20,7 +20,6 @@ import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.stream.Stream; @@ -51,7 +50,7 @@ void testIt() throws Exception { verifier.verifyErrorFreeLog(); Path consumerPomPath = - Paths.get(verifier.getArtifactPath("org.apache.maven.its.mng-8523", "jar", "1.0.0-SNAPSHOT", "pom")); + Path.of(verifier.getArtifactPath("org.apache.maven.its.mng-8523", "jar", "1.0.0-SNAPSHOT", "pom")); assertTrue(Files.exists(consumerPomPath), "consumer pom not found at " + consumerPomPath); List consumerPomLines; diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8527ConsumerPomTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8527ConsumerPomTest.java index f5c87152e94c..6b05c72aa950 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8527ConsumerPomTest.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8527ConsumerPomTest.java @@ -20,7 +20,6 @@ import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.stream.Stream; @@ -52,8 +51,8 @@ void testIt() throws Exception { verifier.verifyErrorFreeLog(); Path consumerPomPath = - Paths.get(verifier.getArtifactPath("org.apache.maven.its.mng-8527", "child", "1.0.0-SNAPSHOT", "pom")); - Path buildPomPath = Paths.get( + Path.of(verifier.getArtifactPath("org.apache.maven.its.mng-8527", "child", "1.0.0-SNAPSHOT", "pom")); + Path buildPomPath = Path.of( verifier.getArtifactPath("org.apache.maven.its.mng-8527", "child", "1.0.0-SNAPSHOT", "pom", "build")); assertTrue(Files.exists(consumerPomPath), "consumer pom not found at " + consumerPomPath); diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8645ConsumerPomDependencyManagementTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8645ConsumerPomDependencyManagementTest.java index a6e32c0d152a..ee129322dff4 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8645ConsumerPomDependencyManagementTest.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng8645ConsumerPomDependencyManagementTest.java @@ -21,7 +21,6 @@ import java.io.Reader; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import org.apache.maven.api.model.Model; import org.apache.maven.model.v4.MavenStaxReader; @@ -55,7 +54,7 @@ void testIt() throws Exception { verifier.verifyErrorFreeLog(); // validate consumer pom - Path consumerPom = basedir.resolve(Paths.get( + Path consumerPom = basedir.resolve(Path.of( "target", "project-local-repo", "org.apache.maven.its.mng8645", diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java b/its/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java index 425a4db23a20..f8cae41ece5c 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/TestSuiteOrdering.java @@ -20,7 +20,7 @@ import java.io.PrintStream; import java.nio.file.Files; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.ArrayList; import java.util.Comparator; import java.util.HashMap; @@ -75,7 +75,7 @@ private static void infoProperty(PrintStream info, String property) { String basedir = System.getProperty("basedir", "."); - try (PrintStream info = new PrintStream(Files.newOutputStream(Paths.get(basedir, "target/info.txt")))) { + try (PrintStream info = new PrintStream(Files.newOutputStream(Path.of(basedir, "target/info.txt")))) { infoProperty(info, "maven.version"); infoProperty(info, "java.version"); infoProperty(info, "os.name"); diff --git a/its/core-it-suite/src/test/resources/mng-7587-jsr330/plugin/pom.xml b/its/core-it-suite/src/test/resources/mng-7587-jsr330/plugin/pom.xml index 744b809e9c12..1c153acfc495 100644 --- a/its/core-it-suite/src/test/resources/mng-7587-jsr330/plugin/pom.xml +++ b/its/core-it-suite/src/test/resources/mng-7587-jsr330/plugin/pom.xml @@ -69,7 +69,7 @@ org.apache.maven.plugins maven-compiler-plugin - 17 + 21 diff --git a/its/core-it-suite/src/test/resources/mng-7737-profiles/pom.xml b/its/core-it-suite/src/test/resources/mng-7737-profiles/pom.xml index 213635cdfe03..396fc84df554 100644 --- a/its/core-it-suite/src/test/resources/mng-7737-profiles/pom.xml +++ b/its/core-it-suite/src/test/resources/mng-7737-profiles/pom.xml @@ -58,6 +58,12 @@ under the License. [17,) + + pom-jdk-21 + + [21,) + + pom-os-unix diff --git a/its/core-it-suite/src/test/resources/mng-7737-profiles/settings.xml b/its/core-it-suite/src/test/resources/mng-7737-profiles/settings.xml index 736656a7fbd3..59a27642ecf4 100644 --- a/its/core-it-suite/src/test/resources/mng-7737-profiles/settings.xml +++ b/its/core-it-suite/src/test/resources/mng-7737-profiles/settings.xml @@ -48,6 +48,12 @@ under the License. [17,) + + settings-jdk-21 + + [21,) + + settings-os-unix diff --git a/its/core-it-suite/src/test/resources/mng-8336-unknown-packaging/pom.xml b/its/core-it-suite/src/test/resources/mng-8336-unknown-packaging/pom.xml index f864f104f84d..c853fa68cfa5 100644 --- a/its/core-it-suite/src/test/resources/mng-8336-unknown-packaging/pom.xml +++ b/its/core-it-suite/src/test/resources/mng-8336-unknown-packaging/pom.xml @@ -5,7 +5,7 @@ maven-repro 0.0.1-SNAPSHOT - 17 + 21 @@ -20,7 +20,7 @@ maven-compiler-plugin 3.13.0 - 17 + 21 diff --git a/its/core-it-suite/src/test/resources/mng-8461/extension/pom.xml b/its/core-it-suite/src/test/resources/mng-8461/extension/pom.xml index 592f459d48a2..79b9154fa046 100644 --- a/its/core-it-suite/src/test/resources/mng-8461/extension/pom.xml +++ b/its/core-it-suite/src/test/resources/mng-8461/extension/pom.xml @@ -7,8 +7,8 @@ 1.0-SNAPSHOT - 17 - 17 + 21 + 21 UTF-8 diff --git a/its/core-it-suite/src/test/resources/mng-8525-maven-di-plugin/pom.xml b/its/core-it-suite/src/test/resources/mng-8525-maven-di-plugin/pom.xml index 5b3dac0ee10a..f8af126b2960 100644 --- a/its/core-it-suite/src/test/resources/mng-8525-maven-di-plugin/pom.xml +++ b/its/core-it-suite/src/test/resources/mng-8525-maven-di-plugin/pom.xml @@ -30,7 +30,7 @@ under the License. UTF-8 - 17 + 21 6.0.0 4.0.0-beta-5 4.0.0-beta-1 diff --git a/its/core-it-suite/src/test/resources/mng-8527-consumer-pom/pom.xml b/its/core-it-suite/src/test/resources/mng-8527-consumer-pom/pom.xml index f1c79f062d41..c99cf41d08cd 100644 --- a/its/core-it-suite/src/test/resources/mng-8527-consumer-pom/pom.xml +++ b/its/core-it-suite/src/test/resources/mng-8527-consumer-pom/pom.xml @@ -37,7 +37,7 @@ under the License. 4.0.0-rc-2 - 17 + 21 diff --git a/its/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/Verifier.java b/its/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/Verifier.java index 0b0dd2a1edb9..29fee1307d68 100644 --- a/its/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/Verifier.java +++ b/its/core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/Verifier.java @@ -32,7 +32,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -138,14 +137,14 @@ public Verifier(String basedir) throws VerificationException { public Verifier(String basedir, List defaultCliArguments) throws VerificationException { requireNonNull(basedir); try { - this.basedir = Paths.get(basedir).toAbsolutePath(); + this.basedir = Path.of(basedir).toAbsolutePath(); this.tempBasedir = Files.createTempDirectory("verifier"); - this.userHomeDirectory = Paths.get(System.getProperty("maven.test.user.home", "user.home")); + this.userHomeDirectory = Path.of(System.getProperty("maven.test.user.home", "user.home")); Files.createDirectories(this.userHomeDirectory); - this.outerLocalRepository = Paths.get(System.getProperty("maven.test.repo.local", ".m2/repository")); + this.outerLocalRepository = Path.of(System.getProperty("maven.test.repo.local", ".m2/repository")); this.executorHelper = new HelperImpl( VERIFIER_FORK_MODE, - Paths.get(System.getProperty("maven.home")), + Path.of(System.getProperty("maven.home")), this.userHomeDirectory, EMBEDDED_MAVEN_EXECUTOR, FORKED_MAVEN_EXECUTOR); @@ -825,7 +824,7 @@ public void deleteArtifact(String org, String name, String version, String ext) */ public void deleteArtifacts(String gid) throws IOException { String mdPath = executorTool.metadataPath(executorHelper.executorRequest(), gid, null); - Path dir = Paths.get(getLocalRepository()).resolve(mdPath).getParent(); + Path dir = Path.of(getLocalRepository()).resolve(mdPath).getParent(); FileUtils.deleteDirectory(dir.toFile()); } @@ -845,7 +844,7 @@ public void deleteArtifacts(String gid, String aid, String version) throws IOExc String mdPath = executorTool.metadataPath(executorHelper.executorRequest(), gid + ":" + aid + ":" + version, null); - Path dir = Paths.get(getLocalRepository()).resolve(mdPath).getParent(); + Path dir = Path.of(getLocalRepository()).resolve(mdPath).getParent(); FileUtils.deleteDirectory(dir.toFile()); } @@ -932,7 +931,7 @@ public File filterFile(String srcPath, String dstPath, String fileEncoding, Map< public Map newDefaultFilterMap() { Map filterMap = new HashMap<>(); - Path basedir = Paths.get(getBasedir()).toAbsolutePath(); + Path basedir = Path.of(getBasedir()).toAbsolutePath(); filterMap.put("@basedir@", basedir.toString()); filterMap.put("@baseurl@", basedir.toUri().toASCIIString()); @@ -997,7 +996,7 @@ public void verifyArtifactNotPresent(String groupId, String artifactId, String v private void verifyFilePresence(String filePath, boolean wanted) throws VerificationException { if (filePath.contains("!/")) { - Path basedir = Paths.get(getBasedir()).toAbsolutePath(); + Path basedir = Path.of(getBasedir()).toAbsolutePath(); String urlString = "jar:" + basedir.toUri().toASCIIString() + "/" + filePath; InputStream is = null; diff --git a/pom.xml b/pom.xml index 9930e3c82e36..420813310194 100644 --- a/pom.xml +++ b/pom.xml @@ -128,7 +128,7 @@ under the License. - 17 + 21 ${javaVersion} ${javaVersion} ${javaVersion} @@ -402,20 +402,9 @@ under the License. - javax.annotation - javax.annotation-api - ${javaxAnnotationApiVersion} - - - org.eclipse.sisu - org.eclipse.sisu.inject - ${sisuVersion} - - - org.eclipse.sisu - org.eclipse.sisu.inject - ${sisuVersion} - no_asm + jakarta.annotation + jakarta.annotation-api + 1.3.5 jakarta.inject @@ -703,7 +692,6 @@ under the License. org.apache.maven.plugins maven-surefire-plugin - 3.5.2 -Xmx256m @{jacocoArgLine} @@ -880,7 +868,7 @@ under the License. - [17,) + [21,) ${maven.compiler.release} diff --git a/src/graph/ReactorGraph.java b/src/graph/ReactorGraph.java index 44d8e94c7178..f9d48386c417 100755 --- a/src/graph/ReactorGraph.java +++ b/src/graph/ReactorGraph.java @@ -30,7 +30,7 @@ import java.io.File; import java.io.IOException; import java.nio.file.Files; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.*; import java.util.regex.Pattern; @@ -140,7 +140,7 @@ public static void main(String[] args) { // Write intermediary graph to DOT file String dotContent = Graphviz.fromGraph(clusteredGraph).render(Format.DOT).toString(); - Files.write(Paths.get("target/graph/intermediary_graph.dot"), dotContent.getBytes()); + Files.write(Path.of("target/graph/intermediary_graph.dot"), dotContent.getBytes()); System.out.println("Intermediary graph written to intermediary_graph.dot"); // Render graph to SVF @@ -154,7 +154,7 @@ public static void main(String[] args) { // Write high-level graph to DOT file String highLevelDotContent = Graphviz.fromGraph(highLevelGraph).render(Format.DOT).toString(); - Files.write(Paths.get("target/graph/high_level_graph.dot"), highLevelDotContent.getBytes()); + Files.write(Path.of("target/graph/high_level_graph.dot"), highLevelDotContent.getBytes()); System.out.println("High-level graph written to high_level_graph.dot"); // Render high-level graph to SVG