This is an automated email from the ASF dual-hosted git repository. khmarbaise pushed a commit to branch code-enhancement-jdk17 in repository https://gitbox.apache.org/repos/asf/maven.git
commit df8c8d0e148cf6b7fb38530bcf06619d837d3e58 Author: Karl Heinz Marbaise <khmarba...@apache.org> AuthorDate: Thu Mar 7 01:30:21 2024 +0100 Enhancements JDK17 --- .../org/apache/maven/api/feature/Features.java | 4 ++-- api/maven-api-model/src/main/mdo/maven.mdo | 3 +-- .../src/main/mdo/toolchains.mdo | 3 +-- .../org/apache/maven/artifact/ArtifactUtils.java | 25 +++++++++++----------- .../manager/DefaultArtifactHandlerManager.java | 5 ++--- .../manager/LegacyArtifactHandlerManager.java | 5 ++--- .../resolver/filter/AndArtifactFilter.java | 4 +--- .../filter/CumulativeScopeArtifactFilter.java | 4 +--- .../resolver/filter/ExclusionSetFilter.java | 4 +--- .../resolver/filter/IncludesArtifactFilter.java | 2 +- .../resolver/filter/ScopeArtifactFilter.java | 4 +--- .../apache/maven/bridge/MavenRepositorySystem.java | 5 ++--- .../maven/classrealm/DefaultClassRealmManager.java | 4 ++-- .../internal/DefaultBeanConfigurator.java | 12 +++++------ .../internal/EnhancedConfigurationConverter.java | 8 +++---- .../maven/execution/BuildResumptionData.java | 21 +++--------------- .../execution/DefaultBuildResumptionAnalyzer.java | 3 +-- .../DefaultBuildResumptionDataRepository.java | 2 +- .../org/apache/maven/execution/MavenSession.java | 2 +- .../apache/maven/execution/ProjectActivation.java | 21 +++++------------- .../scope/internal/MojoExecutionScope.java | 4 ++-- .../maven/extension/internal/CoreExports.java | 3 +-- .../maven/graph/DefaultProjectDependencyGraph.java | 3 +-- .../org/apache/maven/graph/ProjectSelector.java | 6 ++++-- .../DefaultRepositorySystemSessionFactory.java | 2 +- .../internal/aether/LoggingRepositoryListener.java | 4 ++-- .../aether/ReverseTreeRepositoryListener.java | 4 ++-- .../maven/internal/aether/TypeRegistryAdapter.java | 4 ++-- .../apache/maven/internal/impl/AbstractNode.java | 4 ++-- .../maven/internal/impl/AbstractSession.java | 16 +++++++------- .../maven/internal/impl/DefaultArtifact.java | 2 +- .../internal/impl/DefaultArtifactManager.java | 4 ++-- .../DefaultBuildResumptionAnalyzerTest.java | 8 +++---- .../src/main/java/org/apache/maven/di/Key.java | 4 ++-- .../org/apache/maven/di/impl/InjectorImplTest.java | 12 +++++------ src/mdo/java/WrapperProperties.java | 4 ++-- 36 files changed, 92 insertions(+), 133 deletions(-) diff --git a/api/maven-api-core/src/main/java/org/apache/maven/api/feature/Features.java b/api/maven-api-core/src/main/java/org/apache/maven/api/feature/Features.java index 2f49928e62..71c2abc7bb 100644 --- a/api/maven-api-core/src/main/java/org/apache/maven/api/feature/Features.java +++ b/api/maven-api-core/src/main/java/org/apache/maven/api/feature/Features.java @@ -69,8 +69,8 @@ public final class Features { } private static boolean doGet(Object val, boolean def) { - if (val instanceof Boolean) { - return (Boolean) val; + if (val instanceof Boolean value) { + return value; } else if (val != null) { return Boolean.parseBoolean(val.toString()); } else { diff --git a/api/maven-api-model/src/main/mdo/maven.mdo b/api/maven-api-model/src/main/mdo/maven.mdo index 319341d31d..7594f7618b 100644 --- a/api/maven-api-model/src/main/mdo/maven.mdo +++ b/api/maven-api-model/src/main/mdo/maven.mdo @@ -2465,8 +2465,7 @@ * @see java.lang.Object#equals(java.lang.Object) */ public boolean equals(Object other) { - if (other instanceof Plugin) { - Plugin otherPlugin = (Plugin) other; + if (other instanceof Plugin otherPlugin) { return getKey().equals(otherPlugin.getKey()); } return false; diff --git a/api/maven-api-toolchain/src/main/mdo/toolchains.mdo b/api/maven-api-toolchain/src/main/mdo/toolchains.mdo index 6a9bd87860..a2c8abcb1e 100644 --- a/api/maven-api-toolchain/src/main/mdo/toolchains.mdo +++ b/api/maven-api-toolchain/src/main/mdo/toolchains.mdo @@ -186,10 +186,9 @@ public boolean equals(Object other) { if (this == other) { return true; - } else if (!(other instanceof ToolchainModel)) { + } else if (!(other instanceof ToolchainModel that)) { return false; } else { - ToolchainModel that = (ToolchainModel) other; return java.util.Objects.equals(this.getType(), that.getType()) && java.util.Objects.equals(this.getProvides(), that.getProvides()); } diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java b/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java index 8ea6710a56..a563b2972e 100644 --- a/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java +++ b/maven-artifact/src/main/java/org/apache/maven/artifact/ArtifactUtils.java @@ -33,19 +33,20 @@ import org.apache.maven.artifact.versioning.VersionRange; public final class ArtifactUtils { public static boolean isSnapshot(String version) { - if (version != null) { - if (version.regionMatches( - true, - version.length() - Artifact.SNAPSHOT_VERSION.length(), - Artifact.SNAPSHOT_VERSION, - 0, - Artifact.SNAPSHOT_VERSION.length())) { - return true; - } else { - return Artifact.VERSION_FILE_PATTERN.matcher(version).matches(); - } + if (version == null) { + return false; + } + + if (version.regionMatches( + true, + version.length() - Artifact.SNAPSHOT_VERSION.length(), + Artifact.SNAPSHOT_VERSION, + 0, + Artifact.SNAPSHOT_VERSION.length())) { + return true; + } else { + return Artifact.VERSION_FILE_PATTERN.matcher(version).matches(); } - return false; } public static String toSnapshotVersion(String version) { diff --git a/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java b/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java index 2ad0541914..1dd2f50b0d 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java @@ -53,9 +53,8 @@ public class DefaultArtifactHandlerManager extends AbstractEventSpy implements A @Override public void onEvent(Object event) { - if (event instanceof ExecutionEvent) { - ExecutionEvent executionEvent = (ExecutionEvent) event; - if (executionEvent.getType() == ExecutionEvent.Type.SessionEnded) { + if (event instanceof ExecutionEvent executionEvent) { + if (requireNonNull(executionEvent.getType()) == ExecutionEvent.Type.SessionEnded) { allHandlers.clear(); } } diff --git a/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/LegacyArtifactHandlerManager.java b/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/LegacyArtifactHandlerManager.java index 46e480fae5..6b85a2c626 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/LegacyArtifactHandlerManager.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/LegacyArtifactHandlerManager.java @@ -48,8 +48,7 @@ public class LegacyArtifactHandlerManager extends AbstractEventSpy { @Override public void onEvent(Object event) { - if (event instanceof ExecutionEvent) { - ExecutionEvent executionEvent = (ExecutionEvent) event; + if (event instanceof ExecutionEvent executionEvent) { if (executionEvent.getType() == ExecutionEvent.Type.SessionEnded) { allHandlers.clear(); } @@ -58,7 +57,7 @@ public class LegacyArtifactHandlerManager extends AbstractEventSpy { public ArtifactHandler getArtifactHandler(String type) { requireNonNull(type, "null type"); - ArtifactHandler handler = allHandlers.get(type); + var handler = allHandlers.get(type); if (handler == null) { handler = artifactHandlers.get(type); if (handler == null) { diff --git a/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilter.java b/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilter.java index 13928c4b59..8f5bed511d 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilter.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/AndArtifactFilter.java @@ -73,12 +73,10 @@ public class AndArtifactFilter implements ArtifactFilter { return true; } - if (!(obj instanceof AndArtifactFilter)) { + if (!(obj instanceof AndArtifactFilter other)) { return false; } - AndArtifactFilter other = (AndArtifactFilter) obj; - return filters.equals(other.filters); } } diff --git a/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/CumulativeScopeArtifactFilter.java b/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/CumulativeScopeArtifactFilter.java index 5f7235b1b4..e7cf7eefa9 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/CumulativeScopeArtifactFilter.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/CumulativeScopeArtifactFilter.java @@ -92,12 +92,10 @@ public class CumulativeScopeArtifactFilter extends AbstractScopeArtifactFilter { return true; } - if (!(obj instanceof CumulativeScopeArtifactFilter)) { + if (!(obj instanceof CumulativeScopeArtifactFilter that)) { return false; } - CumulativeScopeArtifactFilter that = (CumulativeScopeArtifactFilter) obj; - return scopes.equals(that.scopes); } } diff --git a/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExclusionSetFilter.java b/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExclusionSetFilter.java index 7e57e940b9..55cd616724 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExclusionSetFilter.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ExclusionSetFilter.java @@ -62,12 +62,10 @@ public class ExclusionSetFilter implements ArtifactFilter { return true; } - if (!(obj instanceof ExclusionSetFilter)) { + if (!(obj instanceof ExclusionSetFilter other)) { return false; } - ExclusionSetFilter other = (ExclusionSetFilter) obj; - return excludes.equals(other.excludes); } } diff --git a/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/IncludesArtifactFilter.java b/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/IncludesArtifactFilter.java index 8ee8ce48d2..a243b79358 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/IncludesArtifactFilter.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/IncludesArtifactFilter.java @@ -41,7 +41,7 @@ public class IncludesArtifactFilter implements ArtifactFilter { String id = artifact.getGroupId() + ":" + artifact.getArtifactId(); boolean matched = false; - for (Iterator<String> i = patterns.iterator(); i.hasNext() & !matched; ) { + for (Iterator<String> i = patterns.iterator(); i.hasNext() && !matched; ) { // TODO what about wildcards? Just specifying groups? versions? if (id.equals(i.next())) { matched = true; diff --git a/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java b/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java index 28ca6e7efe..c5ac90728e 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/resolver/filter/ScopeArtifactFilter.java @@ -53,12 +53,10 @@ public class ScopeArtifactFilter extends AbstractScopeArtifactFilter { return true; } - if (!(obj instanceof ScopeArtifactFilter)) { + if (!(obj instanceof ScopeArtifactFilter other)) { return false; } - ScopeArtifactFilter other = (ScopeArtifactFilter) obj; - return Objects.equals(scope, other.scope); } } diff --git a/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java b/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java index 1810c50a90..ab4e48f14f 100644 --- a/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java +++ b/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java @@ -410,9 +410,8 @@ public class MavenRepositorySystem { } ArtifactRepository repository; - if (repositoryLayout instanceof ArtifactRepositoryLayout2) { - repository = ((ArtifactRepositoryLayout2) repositoryLayout) - .newMavenArtifactRepository(id, url, snapshots, releases); + if (repositoryLayout instanceof ArtifactRepositoryLayout2 repositoryLayout2) { + repository = repositoryLayout2.newMavenArtifactRepository(id, url, snapshots, releases); } else { repository = new MavenArtifactRepository(id, url, repositoryLayout, snapshots, releases); } diff --git a/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java b/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java index 14bec0c1c0..91e0ec0fb3 100644 --- a/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java +++ b/maven-core/src/main/java/org/apache/maven/classrealm/DefaultClassRealmManager.java @@ -330,8 +330,8 @@ public class DefaultClassRealmManager implements ClassRealmManager { } private static Object getId(ClassLoader classLoader) { - if (classLoader instanceof ClassRealm) { - return ((ClassRealm) classLoader).getId(); + if (classLoader instanceof ClassRealm classRealm) { + return classRealm.getId(); } return classLoader; } diff --git a/maven-core/src/main/java/org/apache/maven/configuration/internal/DefaultBeanConfigurator.java b/maven-core/src/main/java/org/apache/maven/configuration/internal/DefaultBeanConfigurator.java index 42e9848cd6..52f4a55bc1 100644 --- a/maven-core/src/main/java/org/apache/maven/configuration/internal/DefaultBeanConfigurator.java +++ b/maven-core/src/main/java/org/apache/maven/configuration/internal/DefaultBeanConfigurator.java @@ -73,10 +73,10 @@ public class DefaultBeanConfigurator implements BeanConfigurator { } PlexusConfiguration plexusConfig; - if (configuration instanceof PlexusConfiguration) { - plexusConfig = (PlexusConfiguration) configuration; - } else if (configuration instanceof Xpp3Dom) { - plexusConfig = new XmlPlexusConfiguration((Xpp3Dom) configuration); + if (configuration instanceof PlexusConfiguration config) { + plexusConfig = config; + } else if (configuration instanceof Xpp3Dom config) { + plexusConfig = new XmlPlexusConfiguration(config); } else { throw new BeanConfigurationException("unsupported bean configuration source (" + configuration.getClass().getName() + ")"); @@ -196,8 +196,8 @@ public class DefaultBeanConfigurator implements BeanConfigurator { final Object result = super.fromConfiguration(lookup, configuration, type, enclosingType, loader, evaluator, listener); - return result instanceof Path - ? evaluator.alignToBaseDirectory(((Path) result).toFile()).toPath() + return result instanceof Path newpath + ? evaluator.alignToBaseDirectory((newpath).toFile()).toPath() : result; } } diff --git a/maven-core/src/main/java/org/apache/maven/configuration/internal/EnhancedConfigurationConverter.java b/maven-core/src/main/java/org/apache/maven/configuration/internal/EnhancedConfigurationConverter.java index 3207e7b120..a54af73223 100644 --- a/maven-core/src/main/java/org/apache/maven/configuration/internal/EnhancedConfigurationConverter.java +++ b/maven-core/src/main/java/org/apache/maven/configuration/internal/EnhancedConfigurationConverter.java @@ -40,8 +40,8 @@ class EnhancedConfigurationConverter extends ObjectWithFieldsConverter { try { Object result = null; if (null != value && !value.isEmpty()) { - if (evaluator instanceof TypeAwareExpressionEvaluator) { - result = ((TypeAwareExpressionEvaluator) evaluator).evaluate(value, type); + if (evaluator instanceof TypeAwareExpressionEvaluator eval) { + result = eval.evaluate(value, type); } else { result = evaluator.evaluate(value); } @@ -49,8 +49,8 @@ class EnhancedConfigurationConverter extends ObjectWithFieldsConverter { if (null == result && configuration.getChildCount() == 0) { value = configuration.getAttribute("default-value"); if (null != value && !value.isEmpty()) { - if (evaluator instanceof TypeAwareExpressionEvaluator) { - result = ((TypeAwareExpressionEvaluator) evaluator).evaluate(value, type); + if (evaluator instanceof TypeAwareExpressionEvaluator eval) { + result = eval.evaluate(value, type); } else { result = evaluator.evaluate(value); } diff --git a/maven-core/src/main/java/org/apache/maven/execution/BuildResumptionData.java b/maven-core/src/main/java/org/apache/maven/execution/BuildResumptionData.java index d46adf2a7d..202df472a9 100644 --- a/maven-core/src/main/java/org/apache/maven/execution/BuildResumptionData.java +++ b/maven-core/src/main/java/org/apache/maven/execution/BuildResumptionData.java @@ -22,22 +22,7 @@ import java.util.List; /** * This class holds the information required to enable resuming a Maven build with {@code --resume}. + * + * @param remainingProjects The list of projects that remain to be built. */ -public class BuildResumptionData { - /** - * The list of projects that remain to be built. - */ - private final List<String> remainingProjects; - - public BuildResumptionData(final List<String> remainingProjects) { - this.remainingProjects = remainingProjects; - } - - /** - * Returns the projects that still need to be built when resuming. - * @return A list containing the group and artifact id of the projects. - */ - public List<String> getRemainingProjects() { - return this.remainingProjects; - } -} +public record BuildResumptionData(List<String> remainingProjects) {} diff --git a/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionAnalyzer.java b/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionAnalyzer.java index 0bc99bdb78..47a87e1cd1 100644 --- a/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionAnalyzer.java +++ b/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionAnalyzer.java @@ -23,7 +23,6 @@ import javax.inject.Singleton; import java.util.List; import java.util.Optional; -import java.util.stream.Collectors; import org.apache.maven.project.MavenProject; import org.slf4j.Logger; @@ -56,7 +55,7 @@ public class DefaultBuildResumptionAnalyzer implements BuildResumptionAnalyzer { .filter(project -> result.getBuildSummary(project) == null || result.getBuildSummary(project) instanceof BuildFailure) .map(project -> project.getGroupId() + ":" + project.getArtifactId()) - .collect(Collectors.toList()); + .toList(); if (remainingProjects.isEmpty()) { LOGGER.info("No remaining projects found, resuming the build would not make sense."); diff --git a/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionDataRepository.java b/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionDataRepository.java index 8a4ded84fb..3cab13d12f 100644 --- a/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionDataRepository.java +++ b/maven-core/src/main/java/org/apache/maven/execution/DefaultBuildResumptionDataRepository.java @@ -66,7 +66,7 @@ public class DefaultBuildResumptionDataRepository implements BuildResumptionData private Properties convertToProperties(final BuildResumptionData buildResumptionData) { Properties properties = new Properties(); - String value = String.join(PROPERTY_DELIMITER, buildResumptionData.getRemainingProjects()); + String value = String.join(PROPERTY_DELIMITER, buildResumptionData.remainingProjects()); properties.setProperty(REMAINING_PROJECTS, value); return properties; diff --git a/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java b/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java index ac6c1eddbc..f9f68d379a 100644 --- a/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java +++ b/maven-core/src/main/java/org/apache/maven/execution/MavenSession.java @@ -96,7 +96,7 @@ public class MavenSession implements Cloneable { MavenProject first = projects.get(0); this.currentProject = ThreadLocal.withInitial(() -> first); this.topLevelProject = projects.stream() - .filter(project -> project.isExecutionRoot()) + .filter(MavenProject::isExecutionRoot) .findFirst() .orElse(first); } else { diff --git a/maven-core/src/main/java/org/apache/maven/execution/ProjectActivation.java b/maven-core/src/main/java/org/apache/maven/execution/ProjectActivation.java index f5f91a4e43..6cc400e7df 100644 --- a/maven-core/src/main/java/org/apache/maven/execution/ProjectActivation.java +++ b/maven-core/src/main/java/org/apache/maven/execution/ProjectActivation.java @@ -33,22 +33,11 @@ import static java.util.stream.Collectors.toSet; * build if those projects do not exist. */ public class ProjectActivation { - private static class ProjectActivationSettings { - /** - * The selector of a project. This can be the project directory, [groupId]:[artifactId] or :[artifactId]. - */ - final String selector; - - /** - * This describes how/when to active or deactivate the project. - */ - final ActivationSettings activationSettings; - - ProjectActivationSettings(String selector, ActivationSettings activationSettings) { - this.selector = selector; - this.activationSettings = activationSettings; - } - } + /** + * @param selector The selector of a project. This can be the project directory, [groupId]:[artifactId] or :[artifactId]. + * @param activationSettings This describes how/when to active or deactivate the project. + */ + private record ProjectActivationSettings(String selector, ActivationSettings activationSettings) {} /** * List of activated and deactivated projects. diff --git a/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScope.java b/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScope.java index b650912f25..75f755c369 100644 --- a/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScope.java +++ b/maven-core/src/main/java/org/apache/maven/execution/scope/internal/MojoExecutionScope.java @@ -141,8 +141,8 @@ public class MojoExecutionScope implements Scope, MojoExecutionListener { // deduplicate instances to avoid redundant beforeXXX/afterXXX callbacks IdentityHashMap<WeakMojoExecutionListener, Object> listeners = new IdentityHashMap<>(); for (Object provided : getScopeState().provided.values()) { - if (provided instanceof WeakMojoExecutionListener) { - listeners.put((WeakMojoExecutionListener) provided, null); + if (provided instanceof WeakMojoExecutionListener weakMojoExecutionListener) { + listeners.put(weakMojoExecutionListener, null); } } return listeners.keySet(); diff --git a/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExports.java b/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExports.java index aec37e7041..4d78b80bbf 100644 --- a/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExports.java +++ b/maven-core/src/main/java/org/apache/maven/extension/internal/CoreExports.java @@ -19,7 +19,6 @@ package org.apache.maven.extension.internal; import java.util.Collections; -import java.util.HashSet; import java.util.Map; import java.util.Set; @@ -45,7 +44,7 @@ public class CoreExports { } public CoreExports(ClassRealm realm, Set<String> exportedArtifacts, Set<String> exportedPackages) { - this.artifacts = Collections.unmodifiableSet(new HashSet<>(exportedArtifacts)); + this.artifacts = Set.copyOf(exportedArtifacts); this.packages = exportedPackages.stream() .collect(collectingAndThen(toMap(identity(), v -> realm), Collections::unmodifiableMap)); } diff --git a/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java b/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java index d49670b438..323787e7d2 100644 --- a/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java +++ b/maven-core/src/main/java/org/apache/maven/graph/DefaultProjectDependencyGraph.java @@ -28,7 +28,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; -import java.util.stream.Collectors; import org.apache.maven.execution.ProjectDependencyGraph; import org.apache.maven.project.CycleDetectedException; @@ -153,7 +152,7 @@ public class DefaultProjectDependencyGraph implements ProjectDependencyGraph { return projectIds.stream() .map(projects::get) .sorted(Comparator.comparingInt(order::get)) - .collect(Collectors.toList()); + .toList(); } @Override diff --git a/maven-core/src/main/java/org/apache/maven/graph/ProjectSelector.java b/maven-core/src/main/java/org/apache/maven/graph/ProjectSelector.java index f2ee85f738..0fc136766d 100644 --- a/maven-core/src/main/java/org/apache/maven/graph/ProjectSelector.java +++ b/maven-core/src/main/java/org/apache/maven/graph/ProjectSelector.java @@ -47,7 +47,7 @@ public final class ProjectSelector { for (String selector : projectSelectors) { Optional<MavenProject> 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()); } @@ -101,7 +101,9 @@ public final class ProjectSelector { } File getBaseDirectoryFromRequest(MavenExecutionRequest request) { - return request.getBaseDirectory() != null ? new File(request.getBaseDirectory()) : null; + return request.getTopDirectory() != null + ? new File(request.getTopDirectory().toString()) + : null; } boolean isMatchingProject(MavenProject project, String selector, File reactorDirectory) { diff --git a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java index d587541eec..adb3f950bb 100644 --- a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java +++ b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java @@ -471,7 +471,7 @@ class DefaultRepositorySystemSessionFactory implements RepositorySystemSessionFa if (filterExpression != null) { List<String> expressions = Arrays.stream(filterExpression.split(";")) .filter(s -> s != null && !s.trim().isEmpty()) - .collect(Collectors.toList()); + .toList(); for (String expression : expressions) { if ("h".equals(expression)) { filters.add(new HighestVersionFilter()); diff --git a/maven-core/src/main/java/org/apache/maven/internal/aether/LoggingRepositoryListener.java b/maven-core/src/main/java/org/apache/maven/internal/aether/LoggingRepositoryListener.java index fe9c074b33..acb1cc0c70 100644 --- a/maven-core/src/main/java/org/apache/maven/internal/aether/LoggingRepositoryListener.java +++ b/maven-core/src/main/java/org/apache/maven/internal/aether/LoggingRepositoryListener.java @@ -64,8 +64,8 @@ class LoggingRepositoryListener extends AbstractRepositoryListener { Exception exception = event.getException(); Object metadata; - if (event.getMetadata().getFile() != null) { - metadata = event.getMetadata().getFile(); + if (event.getMetadata().getPath() != null) { + metadata = event.getMetadata().getPath(); } else { metadata = event.getMetadata(); } diff --git a/maven-core/src/main/java/org/apache/maven/internal/aether/ReverseTreeRepositoryListener.java b/maven-core/src/main/java/org/apache/maven/internal/aether/ReverseTreeRepositoryListener.java index 14f7378703..e5b5b43512 100644 --- a/maven-core/src/main/java/org/apache/maven/internal/aether/ReverseTreeRepositoryListener.java +++ b/maven-core/src/main/java/org/apache/maven/internal/aether/ReverseTreeRepositoryListener.java @@ -209,8 +209,8 @@ class ReverseTreeRepositoryListener extends AbstractRepositoryListener { static CollectStepData lookupCollectStepData(RequestTrace trace) { CollectStepData collectStepTrace = null; while (trace != null) { - if (trace.getData() instanceof CollectStepData) { - collectStepTrace = (CollectStepData) trace.getData(); + if (trace.getData() instanceof CollectStepData collectStepData) { + collectStepTrace = collectStepData; break; } trace = trace.getParent(); diff --git a/maven-core/src/main/java/org/apache/maven/internal/aether/TypeRegistryAdapter.java b/maven-core/src/main/java/org/apache/maven/internal/aether/TypeRegistryAdapter.java index 2f10720eb9..ac2127c2f2 100644 --- a/maven-core/src/main/java/org/apache/maven/internal/aether/TypeRegistryAdapter.java +++ b/maven-core/src/main/java/org/apache/maven/internal/aether/TypeRegistryAdapter.java @@ -37,8 +37,8 @@ class TypeRegistryAdapter implements ArtifactTypeRegistry { @Override public ArtifactType get(String typeId) { Type type = typeRegistry.require(typeId); - if (type instanceof ArtifactType) { - return (ArtifactType) type; + if (type instanceof ArtifactType artifactType) { + return artifactType; } if (type != null) { return new DefaultType( diff --git a/maven-core/src/main/java/org/apache/maven/internal/impl/AbstractNode.java b/maven-core/src/main/java/org/apache/maven/internal/impl/AbstractNode.java index f3e8987f17..9b3cfeb86b 100644 --- a/maven-core/src/main/java/org/apache/maven/internal/impl/AbstractNode.java +++ b/maven-core/src/main/java/org/apache/maven/internal/impl/AbstractNode.java @@ -48,8 +48,8 @@ public abstract class AbstractNode implements Node { @Override public Node filter(Predicate<Node> filter) { List<Node> children = - getChildren().stream().filter(filter).map(n -> n.filter(filter)).collect(Collectors.toList()); - return new WrapperNode(this, Collections.unmodifiableList(children)); + getChildren().stream().filter(filter).map(n -> n.filter(filter)).toList(); + return new WrapperNode(this, children); } @Override diff --git a/maven-core/src/main/java/org/apache/maven/internal/impl/AbstractSession.java b/maven-core/src/main/java/org/apache/maven/internal/impl/AbstractSession.java index b85b5b816f..ac7a9c96d3 100644 --- a/maven-core/src/main/java/org/apache/maven/internal/impl/AbstractSession.java +++ b/maven-core/src/main/java/org/apache/maven/internal/impl/AbstractSession.java @@ -98,8 +98,8 @@ public abstract class AbstractSession implements InternalSession { @Override public org.eclipse.aether.repository.RemoteRepository toRepository(RemoteRepository repository) { - if (repository instanceof DefaultRemoteRepository) { - return ((DefaultRemoteRepository) repository).getRepository(); + if (repository instanceof DefaultRemoteRepository defaultRemoteRepository) { + return defaultRemoteRepository.getRepository(); } else { // TODO throw new UnsupportedOperationException("Not implemented yet"); @@ -108,8 +108,8 @@ public abstract class AbstractSession implements InternalSession { @Override public org.eclipse.aether.repository.LocalRepository toRepository(LocalRepository repository) { - if (repository instanceof DefaultLocalRepository) { - return ((DefaultLocalRepository) repository).getRepository(); + if (repository instanceof DefaultLocalRepository defaultLocalRepository) { + return defaultLocalRepository.getRepository(); } else { // TODO throw new UnsupportedOperationException("Not implemented yet"); @@ -144,8 +144,8 @@ public abstract class AbstractSession implements InternalSession { .getPath(artifact) .map(Path::toFile) .orElse(null); - if (artifact instanceof DefaultArtifact) { - org.eclipse.aether.artifact.Artifact a = ((DefaultArtifact) artifact).getArtifact(); + if (artifact instanceof DefaultArtifact defaultArtifact) { + org.eclipse.aether.artifact.Artifact a = defaultArtifact.getArtifact(); if (Objects.equals(file, a.getFile())) { return a; } @@ -162,8 +162,8 @@ public abstract class AbstractSession implements InternalSession { @Override public org.eclipse.aether.artifact.Artifact toArtifact(ArtifactCoordinate coord) { - if (coord instanceof DefaultArtifactCoordinate) { - return ((DefaultArtifactCoordinate) coord).getCoordinate(); + if (coord instanceof DefaultArtifactCoordinate defaultArtifactCoordinate) { + return defaultArtifactCoordinate.getCoordinate(); } return new org.eclipse.aether.artifact.DefaultArtifact( coord.getGroupId(), diff --git a/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifact.java b/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifact.java index 563797f05c..ae8b166b97 100644 --- a/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifact.java +++ b/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifact.java @@ -106,7 +106,7 @@ public class DefaultArtifact implements Artifact { @Override public boolean equals(Object o) { - return o instanceof Artifact && Objects.equals(key(), ((Artifact) o).key()); + return o instanceof Artifact artifact && Objects.equals(key(), artifact.key()); } @Override diff --git a/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifactManager.java b/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifactManager.java index 1ac100076d..a53b820b8f 100644 --- a/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifactManager.java +++ b/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifactManager.java @@ -66,8 +66,8 @@ public class DefaultArtifactManager implements ArtifactManager { } } Path path = paths.get(id); - if (path == null && artifact instanceof DefaultArtifact) { - File file = ((DefaultArtifact) artifact).getArtifact().getFile(); + if (path == null && artifact instanceof DefaultArtifact defaultArtifact) { + File file = defaultArtifact.getArtifact().getFile(); if (file != null) { path = file.toPath(); } diff --git a/maven-core/src/test/java/org/apache/maven/execution/DefaultBuildResumptionAnalyzerTest.java b/maven-core/src/test/java/org/apache/maven/execution/DefaultBuildResumptionAnalyzerTest.java index 6ed0ecfb8b..2cbd91b80f 100644 --- a/maven-core/src/test/java/org/apache/maven/execution/DefaultBuildResumptionAnalyzerTest.java +++ b/maven-core/src/test/java/org/apache/maven/execution/DefaultBuildResumptionAnalyzerTest.java @@ -50,7 +50,7 @@ class DefaultBuildResumptionAnalyzerTest { Optional<BuildResumptionData> result = analyzer.determineBuildResumptionData(executionResult); assertThat(result.isPresent(), is(true)); - assertThat(result.get().getRemainingProjects(), is(asList("test:B"))); + assertThat(result.get().remainingProjects(), is(asList("test:B"))); } @Test @@ -74,7 +74,7 @@ class DefaultBuildResumptionAnalyzerTest { Optional<BuildResumptionData> result = analyzer.determineBuildResumptionData(executionResult); assertThat(result.isPresent(), is(true)); - assertThat(result.get().getRemainingProjects(), is(asList("test:B"))); + assertThat(result.get().remainingProjects(), is(asList("test:B"))); } @Test @@ -88,7 +88,7 @@ class DefaultBuildResumptionAnalyzerTest { Optional<BuildResumptionData> result = analyzer.determineBuildResumptionData(executionResult); assertThat(result.isPresent(), is(true)); - assertThat(result.get().getRemainingProjects(), is(asList("test:B", "test:C"))); + assertThat(result.get().remainingProjects(), is(asList("test:B", "test:C"))); } @Test @@ -102,7 +102,7 @@ class DefaultBuildResumptionAnalyzerTest { Optional<BuildResumptionData> result = analyzer.determineBuildResumptionData(executionResult); assertThat(result.isPresent(), is(true)); - assertThat(result.get().getRemainingProjects(), is(asList("test:B", "test:D"))); + assertThat(result.get().remainingProjects(), is(asList("test:B", "test:D"))); } private MavenProject createMavenProject(String artifactId) { diff --git a/maven-di/src/main/java/org/apache/maven/di/Key.java b/maven-di/src/main/java/org/apache/maven/di/Key.java index d27882ae76..c2f07d7642 100644 --- a/maven-di/src/main/java/org/apache/maven/di/Key.java +++ b/maven-di/src/main/java/org/apache/maven/di/Key.java @@ -113,8 +113,8 @@ public abstract class Key<T> { * @throws IllegalStateException when underlying type is not a parameterized one. */ public <U> Key<U> getTypeParameter(int index) { - if (type instanceof ParameterizedType) { - return new KeyImpl<>(((ParameterizedType) type).getActualTypeArguments()[index], null); + if (type instanceof ParameterizedType parameterizedType) { + return new KeyImpl<>(parameterizedType.getActualTypeArguments()[index], null); } throw new IllegalStateException("Expected type from key " + getDisplayString() + " to be parameterized"); } diff --git a/maven-di/src/test/java/org/apache/maven/di/impl/InjectorImplTest.java b/maven-di/src/test/java/org/apache/maven/di/impl/InjectorImplTest.java index 4611154065..8731fe89c8 100644 --- a/maven-di/src/test/java/org/apache/maven/di/impl/InjectorImplTest.java +++ b/maven-di/src/test/java/org/apache/maven/di/impl/InjectorImplTest.java @@ -34,7 +34,7 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME; import static org.junit.jupiter.api.Assertions.*; @SuppressWarnings("unused") -public class InjectorImplTest { +class InjectorImplTest { @Test void markerQualifierTest() { @@ -143,10 +143,9 @@ public class InjectorImplTest { } @Test - public void bindInterfacesTest() { + void bindInterfacesTest() { Injector injector = Injector.create().bindImplicit(BindInterfaces.class); - BindInterfaces.TestInterface<String> inst = - injector.getInstance(new Key<BindInterfaces.TestInterface<String>>() {}); + BindInterfaces.TestInterface<String> inst = injector.getInstance(new Key<>() {}); assertNotNull(inst); } @@ -177,7 +176,7 @@ public class InjectorImplTest { @Test void injectListTest() { Injector injector = Injector.create().bindImplicit(InjectList.class); - List<InjectList.MyService> services = injector.getInstance(new Key<List<InjectList.MyService>>() {}); + List<InjectList.MyService> services = injector.getInstance(new Key<>() {}); assertNotNull(services); assertEquals(2, services.size()); @@ -202,8 +201,7 @@ public class InjectorImplTest { @Test void injectMapTest() { Injector injector = Injector.create().bindImplicit(InjectMap.class); - Map<String, InjectMap.MyService> services = - injector.getInstance(new Key<Map<String, InjectMap.MyService>>() {}); + Map<String, InjectMap.MyService> services = injector.getInstance(new Key<>() {}); assertNotNull(services); assertEquals(2, services.size()); diff --git a/src/mdo/java/WrapperProperties.java b/src/mdo/java/WrapperProperties.java index 851459c4a6..8070f626f8 100644 --- a/src/mdo/java/WrapperProperties.java +++ b/src/mdo/java/WrapperProperties.java @@ -141,8 +141,8 @@ class WrapperProperties extends Properties { @Override public synchronized boolean equals(Object o) { - if (o instanceof WrapperProperties) { - o = ((WrapperProperties) o).getter.get(); + if (o instanceof WrapperProperties prop) { + o = prop.getter.get(); } return getter.get().equals(o); }