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