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/apache-maven/pom.xml b/apache-maven/pom.xml
index d0acee6246b9..f1acd47c1954 100644
--- a/apache-maven/pom.xml
+++ b/apache-maven/pom.xml
@@ -116,8 +116,9 @@ under the License.
javax.inject
- javax.annotation
- javax.annotation-api
+ jakarta.annotation
+ jakarta.annotation-api
+ 1.3.5
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..98601c1fc5ac 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/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..14f8946b236f 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..745f295b1f76 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,7 @@ 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,8 +175,7 @@ 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'.",
+ "Invalid version specification '%s' creating extension artifact '%s:%s:%s'.".formatted(
version, groupId, artifactId, version),
e);
@@ -203,7 +201,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),
+ "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..bd842f403030 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..12a8f10ec042 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,13 @@ 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",
+ 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..85ffa11ee743 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,37 @@ 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 +292,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 +342,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 +357,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 +368,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 +383,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..b9244928ae5e 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..813b4967da9c 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,8 +1027,7 @@ private ModelData readParentExternally(
ModelResolver modelResolver = request.getModelResolver();
Objects.requireNonNull(
modelResolver,
- String.format(
- "request.modelResolver cannot be null (parent POM %s and POM %s)",
+ "request.modelResolver cannot be null (parent POM %s and POM %s)".formatted(
ModelProblemUtils.toId(groupId, artifactId, version),
ModelProblemUtils.toSourceHint(childModel)));
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..2056fdc44e29 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,50 @@ 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..ed5ac1e171e4 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,7 @@ 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 +387,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 +396,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 +406,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 +422,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 +430,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 +444,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 +453,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 +469,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 +478,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 +490,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 +502,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 +515,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 +524,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 +533,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 +542,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 +551,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 +560,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 +570,7 @@ 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 +590,7 @@ 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 +609,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 +623,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 +634,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 +645,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 +657,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 +678,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 +689,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 +700,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 +711,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 +732,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 +747,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 +787,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 +796,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 +805,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 +814,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 +823,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 +863,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 +882,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..f0b466e4488b 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,30 @@ 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..460ef8ae3458 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,11 @@ 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 +120,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 +137,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 +153,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..81d204551406 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..c2b1635f0dd1 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,16 +240,14 @@ 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",
+ 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",
+ message.append("\n* %s @ %s".formatted(
modelProblem.getMessage(), ModelProblemUtils.formatLocation(modelProblem, null)));
}
logger.warn(message.toString());
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..d507d97be96c 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,8 +191,7 @@ 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",
+ "The requested parent version range '%s' does not specify an upper bound".formatted(
parent.getVersion()),
parent.getGroupId(),
parent.getArtifactId(),
@@ -223,8 +221,7 @@ 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'",
+ "No versions matched the requested dependency version range '%s'".formatted(
dependency.getVersion()),
dependency.getGroupId(),
dependency.getArtifactId(),
@@ -236,8 +233,7 @@ 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",
+ "The requested dependency version range '%s' does not specify an upper bound".formatted(
dependency.getVersion()),
dependency.getGroupId(),
dependency.getArtifactId(),
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..824143c05ce9 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..510773d66809 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,7 @@ 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 +144,7 @@ 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 +161,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 +184,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 +203,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 +216,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..52ef0579d863 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..a47400cc4b85 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,12 @@ 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 +130,12 @@ 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 +170,12 @@ 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 +253,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 +283,7 @@ void testNonExistingEnvironmentVariablesAreNotInterpolated() throws Exception {
"${env.testNonExistingKey}",
result.getEffectiveToolchains()
.getToolchains()
- .get(0)
+ .getFirst()
.getProvides()
.get("key"));
assertNotNull(result.getProblems());
@@ -310,7 +310,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..5bc7b10cc999 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..b10b7f0dd5ed 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,8 +694,7 @@ 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)",
+ 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)) {
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..056a28b61d97 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,8 +61,7 @@ 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..2fcc2c2f56c7 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,8 +207,7 @@ 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)",
+ 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)) {
@@ -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..14b9fae3e16a 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..5a04b29d8689 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,7 @@ 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..b817956b01cd 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,10 @@ 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..35e88d464d80 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,8 +116,7 @@ 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",
+ 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..f9deba0fc977 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,7 @@ 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..a74dea8d176d 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,8 +99,7 @@ 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",
+ logger.info("Using the %s implementation with a thread count of %d".formatted(
executor.getClass().getSimpleName(), degreeOfConcurrency));
}
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..455703c22ece 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,9 +578,7 @@ private List convert(
ArrayList problems = new ArrayList<>();
problemCollector.problems().map(BuildSession::convert).forEach(problems::add);
if (problemCollector.problemsOverflow()) {
- problems.add(
- 0,
- new DefaultModelProblem(
+ 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,
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..834f99b22442 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,7 +172,7 @@ 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
+ 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..3291846943e9 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,8 +202,7 @@ 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",
+ "The requested parent version range '%s' does not specify an upper bound".formatted(
parent.getVersion()),
parent.getGroupId(),
parent.getArtifactId(),
@@ -233,8 +231,7 @@ 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'",
+ "No versions matched the requested dependency version range '%s'".formatted(
dependency.getVersion()),
dependency.getGroupId(),
dependency.getArtifactId(),
@@ -246,8 +243,7 @@ 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",
+ "The requested dependency version range '%s' does not specify an upper bound".formatted(
dependency.getVersion()),
dependency.getGroupId(),
dependency.getArtifactId(),
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..671cc906e81f 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,7 @@ 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..aac5bc5e0bb4 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")
+ 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..59af5cf12b14 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
@@ -49,7 +49,7 @@ void testGraph() throws Exception {
// only Project.A has no dependencies
assertEquals(1, rootSchedulableBuilds.size());
assertEquals(
- ProjectDependencyGraphStub.A, rootSchedulableBuilds.iterator().next());
+ ProjectDependencyGraphStub.A, rootSchedulableBuilds.getFirst());
// double check A deps
List dependenciesA = graph.getDependencies(ProjectDependencyGraphStub.A);
assertEquals(0, dependenciesA.size());
@@ -68,7 +68,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..ef01047c4688 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,10 @@ 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 +163,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 +364,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 +402,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 +540,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..d06494041e39 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
@@ -173,14 +173,14 @@ public static List getAnnotatedElements
throw failedImplicitBinding(key, "both inject constructor and inject factory method are present");
}
return bindingFromConstructor(
- key, (Constructor) injectConstructors.iterator().next());
+ 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()) {
@@ -190,7 +190,7 @@ public static List getAnnotatedElements
throw failedImplicitBinding(key, "inject annotation on class with multiple constructors");
}
Constructor declaredConstructor =
- (Constructor) constructors.iterator().next();
+ (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..ee749fb838c9 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,15 @@ 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..c69cfc10e91d 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,8 +394,7 @@ 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",
+ 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..90314deeac35 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,12 +2248,10 @@ 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",
+ 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",
+ hint = "groupId=%s, artifactId=%s, classifier=%s, type=%s".formatted(
nvl(dependency.getGroupId()),
nvl(dependency.getArtifactId()),
nvl(dependency.getClassifier()),
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
- 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}
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