diff --git a/compat/maven-plugin-api/pom.xml b/compat/maven-plugin-api/pom.xml index 4dd2d2cd1b7b..31e4b6396d10 100644 --- a/compat/maven-plugin-api/pom.xml +++ b/compat/maven-plugin-api/pom.xml @@ -56,6 +56,10 @@ under the License. org.apache.maven maven-artifact + + org.apache.maven + maven-support + com.fasterxml.woodstox woodstox-core @@ -92,62 +96,6 @@ under the License. - - org.codehaus.modello - modello-maven-plugin - - ${project.basedir}/../../src/mdo - - - - velocity-lifecycle - - velocity - - generate-sources - - - - - - - packageModelV4=org.apache.maven.api.plugin.descriptor.lifecycle - packageToolV4=org.apache.maven.plugin.lifecycle.io - - - ../../api/maven-api-plugin/src/main/mdo/lifecycle.mdo - - 2.0.0 - - - - velocity-plugin - - velocity - - generate-sources - - - - - - - packageModelV3=org.apache.maven.plugin.descriptor - packageModelV4=org.apache.maven.api.plugin.descriptor - packageToolV4=org.apache.maven.plugin.descriptor.io - - - ../../api/maven-api-plugin/src/main/mdo/plugin.mdo - - 2.0.0 - - - - modello-site-docs - none - - - com.github.siom79.japicmp japicmp-maven-plugin diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/BaseParser.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/BaseParser.java index d7e7e869c1da..8427203faf7f 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/BaseParser.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/BaseParser.java @@ -54,11 +54,11 @@ import org.apache.maven.properties.internal.SystemProperties; import static java.util.Objects.requireNonNull; -import static org.apache.maven.cling.invoker.Utils.getCanonicalPath; -import static org.apache.maven.cling.invoker.Utils.or; -import static org.apache.maven.cling.invoker.Utils.prefix; -import static org.apache.maven.cling.invoker.Utils.stripLeadingAndTrailingQuotes; -import static org.apache.maven.cling.invoker.Utils.toMap; +import static org.apache.maven.cling.invoker.CliUtils.getCanonicalPath; +import static org.apache.maven.cling.invoker.CliUtils.or; +import static org.apache.maven.cling.invoker.CliUtils.prefix; +import static org.apache.maven.cling.invoker.CliUtils.stripLeadingAndTrailingQuotes; +import static org.apache.maven.cling.invoker.CliUtils.toMap; public abstract class BaseParser implements Parser { @@ -335,7 +335,7 @@ protected Path getTopDirectory(LocalContext context) { @Nullable protected Path getRootDirectory(LocalContext context) { - return Utils.findRoot(context.topDirectory); + return CliUtils.findRoot(context.topDirectory); } protected Map populateSystemProperties(LocalContext context) { diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/CWD.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/CWD.java index c4492dbb75ce..f5b68acd4004 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/CWD.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/CWD.java @@ -35,7 +35,7 @@ public final class CWD implements Supplier { * Creates instance out of {@link Path}. */ public static CWD create(Path path) { - return new CWD(Utils.getCanonicalPath(path)); + return new CWD(CliUtils.getCanonicalPath(path)); } private Path directory; diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/Utils.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/CliUtils.java similarity index 98% rename from impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/Utils.java rename to impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/CliUtils.java index f781be4b6b33..503ee85908a4 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/Utils.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/CliUtils.java @@ -41,8 +41,8 @@ /** * Various utilities, mostly to bridge "old" and "new" stuff, like Properties vs Maps, File vs Paths, etc. */ -public final class Utils { - private Utils() {} +public final class CliUtils { + private CliUtils() {} @Nonnull public static String stripLeadingAndTrailingQuotes(String str) { diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/CommonsCliOptions.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/CommonsCliOptions.java index 3ffa9da8322a..cc914e7d9382 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/CommonsCliOptions.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/CommonsCliOptions.java @@ -37,7 +37,7 @@ import org.apache.maven.jline.MessageUtils; import static java.util.Objects.requireNonNull; -import static org.apache.maven.cling.invoker.Utils.toMap; +import static org.apache.maven.cling.invoker.CliUtils.toMap; public abstract class CommonsCliOptions implements Options { diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupContext.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupContext.java index 06bf49f1f8ba..36fcf92424e7 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupContext.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/LookupContext.java @@ -57,8 +57,8 @@ public LookupContext(InvokerRequest invokerRequest) { public LookupContext(InvokerRequest invokerRequest, boolean containerCapsuleManaged) { this.invokerRequest = requireNonNull(invokerRequest); this.cwd = CWD.create(invokerRequest.cwd()); - this.installationDirectory = Utils.getCanonicalPath(invokerRequest.installationDirectory()); - this.userDirectory = Utils.getCanonicalPath(invokerRequest.userHomeDirectory()); + this.installationDirectory = CliUtils.getCanonicalPath(invokerRequest.installationDirectory()); + this.userDirectory = CliUtils.getCanonicalPath(invokerRequest.userHomeDirectory()); this.containerCapsuleManaged = containerCapsuleManaged; this.logger = invokerRequest.parserRequest().logger(); 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 ccdfa4370021..a5935320f40d 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 @@ -94,8 +94,8 @@ import org.slf4j.spi.LocationAwareLogger; import static java.util.Objects.requireNonNull; -import static org.apache.maven.cling.invoker.Utils.toMavenExecutionRequestLoggingLevel; -import static org.apache.maven.cling.invoker.Utils.toProperties; +import static org.apache.maven.cling.invoker.CliUtils.toMavenExecutionRequestLoggingLevel; +import static org.apache.maven.cling.invoker.CliUtils.toProperties; /** * Lookup invoker implementation, that boots up DI container. diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PlexusContainerCapsule.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PlexusContainerCapsule.java index 81a705404718..99effbf4e260 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PlexusContainerCapsule.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PlexusContainerCapsule.java @@ -25,7 +25,7 @@ import org.codehaus.plexus.DefaultPlexusContainer; import static java.util.Objects.requireNonNull; -import static org.apache.maven.cling.invoker.Utils.toPlexusLoggingLevel; +import static org.apache.maven.cling.invoker.CliUtils.toPlexusLoggingLevel; /** * Container capsule backed by Plexus Container. diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PlexusContainerCapsuleFactory.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PlexusContainerCapsuleFactory.java index 15e4630c9a51..d3463acaf772 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PlexusContainerCapsuleFactory.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/PlexusContainerCapsuleFactory.java @@ -61,7 +61,7 @@ import org.slf4j.ILoggerFactory; import static java.util.Objects.requireNonNull; -import static org.apache.maven.cling.invoker.Utils.toPlexusLoggingLevel; +import static org.apache.maven.cling.invoker.CliUtils.toPlexusLoggingLevel; /** * Container capsule backed by Plexus Container. diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/CommonsCliMavenOptions.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/CommonsCliMavenOptions.java index 180d756e4d73..2632d71e48c2 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/CommonsCliMavenOptions.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvn/CommonsCliMavenOptions.java @@ -32,7 +32,7 @@ import org.apache.maven.api.services.InterpolatorException; import org.apache.maven.cling.invoker.CommonsCliOptions; -import static org.apache.maven.cling.invoker.Utils.createInterpolator; +import static org.apache.maven.cling.invoker.CliUtils.createInterpolator; public class CommonsCliMavenOptions extends CommonsCliOptions implements MavenOptions { public static CommonsCliMavenOptions parse(String source, String[] args) throws ParseException { 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 325de096e785..1365de51e17b 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 @@ -48,9 +48,9 @@ import org.apache.maven.api.services.model.ModelProcessor; import org.apache.maven.api.toolchain.PersistedToolchains; import org.apache.maven.cling.event.ExecutionEventLogger; +import org.apache.maven.cling.invoker.CliUtils; import org.apache.maven.cling.invoker.LookupContext; import org.apache.maven.cling.invoker.LookupInvoker; -import org.apache.maven.cling.invoker.Utils; import org.apache.maven.cling.transfer.ConsoleMavenTransferListener; import org.apache.maven.cling.transfer.QuietMavenTransferListener; import org.apache.maven.cling.transfer.SimplexTransferListener; @@ -257,7 +257,7 @@ protected void populateRequest(MavenContext context, Lookup lookup, MavenExecuti // project present, but we could not determine rootDirectory: extra work needed if (context.invokerRequest.rootDirectory().isEmpty()) { - Path rootDirectory = Utils.findMandatoryRoot(context.invokerRequest.topDirectory()); + Path rootDirectory = CliUtils.findMandatoryRoot(context.invokerRequest.topDirectory()); request.setMultiModuleProjectDirectory(rootDirectory.toFile()); request.setRootDirectory(rootDirectory); } diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/CommonsCliEncryptOptions.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/CommonsCliEncryptOptions.java index d67e93ec0034..65d12d93ae89 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/CommonsCliEncryptOptions.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnenc/CommonsCliEncryptOptions.java @@ -34,7 +34,7 @@ import org.apache.maven.api.services.InterpolatorException; import org.apache.maven.cling.invoker.CommonsCliOptions; -import static org.apache.maven.cling.invoker.Utils.createInterpolator; +import static org.apache.maven.cling.invoker.CliUtils.createInterpolator; /** * Implementation of {@link EncryptOptions} (base + mvnenc). diff --git a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnsh/CommonsCliShellOptions.java b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnsh/CommonsCliShellOptions.java index a45a973eaa41..8b7957cb3203 100644 --- a/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnsh/CommonsCliShellOptions.java +++ b/impl/maven-cli/src/main/java/org/apache/maven/cling/invoker/mvnsh/CommonsCliShellOptions.java @@ -31,7 +31,7 @@ import org.apache.maven.api.services.InterpolatorException; import org.apache.maven.cling.invoker.CommonsCliOptions; -import static org.apache.maven.cling.invoker.Utils.createInterpolator; +import static org.apache.maven.cling.invoker.CliUtils.createInterpolator; /** * Implementation of {@link ShellOptions} (base + shell). diff --git a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/CoreUtils.java b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/CoreUtils.java new file mode 100644 index 000000000000..07844b9368e3 --- /dev/null +++ b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/CoreUtils.java @@ -0,0 +1,55 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.maven.internal.impl; + +import java.util.Collection; +import java.util.List; +import java.util.Objects; +import java.util.function.Function; +import java.util.stream.Collectors; + +class CoreUtils { + public static T nonNull(T t) { + if (t == null) { + throw new IllegalArgumentException(); + } + return t; + } + + public static T nonNull(T t, String name) { + if (t == null) { + throw new IllegalArgumentException(name + " cannot be null"); + } + return t; + } + + public static T cast(Class clazz, Object o, String name) { + if (!clazz.isInstance(o)) { + if (o == null) { + throw new IllegalArgumentException(name + " is null"); + } + throw new IllegalArgumentException(name + " is not an instance of " + clazz.getName()); + } + return clazz.cast(o); + } + + public static List map(Collection list, Function mapper) { + return list.stream().map(mapper).filter(Objects::nonNull).collect(Collectors.toList()); + } +} diff --git a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifactManager.java b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifactManager.java index 2257c97239fa..50571774ea00 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifactManager.java +++ b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultArtifactManager.java @@ -37,7 +37,7 @@ import org.apache.maven.project.MavenProject; import org.eclipse.sisu.Typed; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.internal.impl.CoreUtils.nonNull; @Named @Typed diff --git a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultProject.java b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultProject.java index 0ac8148029cd..787ceee5651e 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultProject.java +++ b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultProject.java @@ -47,7 +47,7 @@ import org.apache.maven.project.artifact.ProjectArtifact; import org.eclipse.aether.util.artifact.ArtifactIdUtils; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.internal.impl.CoreUtils.nonNull; public class DefaultProject implements Project { diff --git a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultProjectManager.java b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultProjectManager.java index 8c3df60cd3d3..ee1294a0104f 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultProjectManager.java +++ b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultProjectManager.java @@ -49,8 +49,8 @@ import org.apache.maven.project.MavenProject; import org.eclipse.sisu.Typed; -import static org.apache.maven.impl.Utils.map; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.internal.impl.CoreUtils.map; +import static org.apache.maven.internal.impl.CoreUtils.nonNull; @Named @Typed diff --git a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultSession.java b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultSession.java index 0341d9dc6c9c..4809cd35051b 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultSession.java +++ b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultSession.java @@ -53,8 +53,8 @@ import org.eclipse.aether.RepositorySystem; import org.eclipse.aether.RepositorySystemSession; -import static org.apache.maven.impl.Utils.map; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.internal.impl.CoreUtils.map; +import static org.apache.maven.internal.impl.CoreUtils.nonNull; public class DefaultSession extends AbstractSession implements InternalMavenSession { diff --git a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultTypeRegistry.java b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultTypeRegistry.java index bafa45c08ae0..f38877377256 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultTypeRegistry.java +++ b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultTypeRegistry.java @@ -41,7 +41,7 @@ import org.apache.maven.impl.resolver.type.DefaultType; import static java.util.function.Function.identity; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.internal.impl.CoreUtils.nonNull; @Named @Singleton diff --git a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/InternalMavenSession.java b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/InternalMavenSession.java index af0d32d2f916..dbc679d903e2 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/InternalMavenSession.java +++ b/impl/maven-core/src/main/java/org/apache/maven/internal/impl/InternalMavenSession.java @@ -27,7 +27,7 @@ import org.apache.maven.execution.MavenSession; import org.apache.maven.impl.InternalSession; -import static org.apache.maven.impl.Utils.cast; +import static org.apache.maven.internal.impl.CoreUtils.cast; public interface InternalMavenSession extends InternalSession { 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 c883ee215ce9..6aed0e963a23 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 @@ -103,8 +103,8 @@ import org.eclipse.aether.repository.ArtifactRepository; import org.eclipse.aether.transfer.TransferResource; -import static org.apache.maven.impl.Utils.map; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.map; +import static org.apache.maven.impl.ImplUtils.nonNull; public abstract class AbstractSession implements InternalSession { diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifact.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifact.java index 18d25e43a23b..c757d930ac15 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifact.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifact.java @@ -25,7 +25,7 @@ import org.apache.maven.api.Version; import org.apache.maven.api.annotations.Nonnull; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.nonNull; /** * A wrapper class around a maven resolver artifact. diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactCoordinates.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactCoordinates.java index 8e1fa9ec33cf..3abf27729d60 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactCoordinates.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactCoordinates.java @@ -24,7 +24,7 @@ import org.apache.maven.api.VersionConstraint; import org.apache.maven.api.annotations.Nonnull; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.nonNull; /** * A wrapper class around a maven resolver artifact. diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactCoordinatesFactory.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactCoordinatesFactory.java index a587db4d9ae3..6832ae6f164b 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactCoordinatesFactory.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactCoordinatesFactory.java @@ -26,7 +26,7 @@ import org.apache.maven.api.services.ArtifactCoordinatesFactoryRequest; import org.eclipse.aether.artifact.ArtifactType; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.nonNull; @Named @Singleton diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactDeployer.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactDeployer.java index b255762b2175..572522b646b8 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactDeployer.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactDeployer.java @@ -31,7 +31,7 @@ import org.eclipse.aether.deployment.DeployRequest; import org.eclipse.aether.deployment.DeploymentException; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.nonNull; /** * Implementation of {@link ArtifactDeployer} service. diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactFactory.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactFactory.java index 6cc0f62aa387..40af9412c7c1 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactFactory.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactFactory.java @@ -27,7 +27,7 @@ import org.apache.maven.api.services.ArtifactFactoryRequest; import org.eclipse.aether.artifact.ArtifactType; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.nonNull; @Named @Singleton diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactInstaller.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactInstaller.java index 81b9869265c9..e3b1936f30fd 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactInstaller.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultArtifactInstaller.java @@ -29,7 +29,7 @@ import org.eclipse.aether.installation.InstallRequest; import org.eclipse.aether.installation.InstallationException; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.nonNull; @Named @Singleton 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 244b6b990dd0..9d68a0aa630f 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 @@ -51,7 +51,7 @@ import org.eclipse.aether.resolution.ArtifactResult; import org.eclipse.aether.transfer.ArtifactNotFoundException; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.nonNull; @Named @Singleton diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultChecksumAlgorithmService.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultChecksumAlgorithmService.java index 5dbe218cc684..ef062acdc7ba 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultChecksumAlgorithmService.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultChecksumAlgorithmService.java @@ -41,7 +41,7 @@ import org.eclipse.aether.spi.connector.checksum.ChecksumAlgorithmFactory; import org.eclipse.aether.spi.connector.checksum.ChecksumAlgorithmFactorySelector; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.nonNull; @Named @Singleton diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultDependencyCoordinatesFactory.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultDependencyCoordinatesFactory.java index 97a6eb19f5c5..9ebb084cb363 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultDependencyCoordinatesFactory.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultDependencyCoordinatesFactory.java @@ -27,8 +27,8 @@ import org.apache.maven.api.services.DependencyCoordinatesFactoryRequest; import org.eclipse.aether.artifact.ArtifactType; -import static org.apache.maven.impl.Utils.map; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.map; +import static org.apache.maven.impl.ImplUtils.nonNull; @Named @Singleton diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultDependencyResolver.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultDependencyResolver.java index 1badc8a299b3..7bab2446c6f0 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultDependencyResolver.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultDependencyResolver.java @@ -60,9 +60,9 @@ import org.eclipse.aether.util.graph.manager.DependencyManagerUtils; import org.eclipse.aether.util.graph.transformer.ConflictResolver; -import static org.apache.maven.impl.Utils.cast; -import static org.apache.maven.impl.Utils.map; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.cast; +import static org.apache.maven.impl.ImplUtils.map; +import static org.apache.maven.impl.ImplUtils.nonNull; @Named @Singleton diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultLocalRepository.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultLocalRepository.java index 1f73a8eb0553..af657a403ee0 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultLocalRepository.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultLocalRepository.java @@ -23,7 +23,7 @@ import org.apache.maven.api.LocalRepository; import org.apache.maven.api.annotations.Nonnull; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.nonNull; public class DefaultLocalRepository implements LocalRepository { diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultModelXmlFactory.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultModelXmlFactory.java index 8505beccf384..a750688ef02b 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultModelXmlFactory.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultModelXmlFactory.java @@ -40,9 +40,9 @@ import org.apache.maven.model.v4.MavenStaxReader; import org.apache.maven.model.v4.MavenStaxWriter; +import static org.apache.maven.impl.ImplUtils.nonNull; import static org.apache.maven.impl.StaxLocation.getLocation; import static org.apache.maven.impl.StaxLocation.getMessage; -import static org.apache.maven.impl.Utils.nonNull; @Named @Singleton diff --git a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultPluginXmlFactory.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultPluginXmlFactory.java similarity index 96% rename from impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultPluginXmlFactory.java rename to impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultPluginXmlFactory.java index 78b8a01a2ea3..f3f20b281551 100644 --- a/impl/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultPluginXmlFactory.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultPluginXmlFactory.java @@ -16,10 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.maven.internal.impl; - -import javax.inject.Named; -import javax.inject.Singleton; +package org.apache.maven.impl; import java.io.InputStream; import java.io.OutputStream; @@ -30,6 +27,8 @@ import java.nio.file.Path; import org.apache.maven.api.annotations.Nonnull; +import org.apache.maven.api.di.Named; +import org.apache.maven.api.di.Singleton; import org.apache.maven.api.plugin.descriptor.PluginDescriptor; import org.apache.maven.api.services.xml.PluginXmlFactory; import org.apache.maven.api.services.xml.XmlReaderException; @@ -39,9 +38,9 @@ import org.apache.maven.plugin.descriptor.io.PluginDescriptorStaxReader; import org.apache.maven.plugin.descriptor.io.PluginDescriptorStaxWriter; +import static org.apache.maven.impl.ImplUtils.nonNull; import static org.apache.maven.impl.StaxLocation.getLocation; import static org.apache.maven.impl.StaxLocation.getMessage; -import static org.apache.maven.impl.Utils.nonNull; @Named @Singleton diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultRepositoryFactory.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultRepositoryFactory.java index d1a1a0d5f16d..ec6edf462712 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultRepositoryFactory.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultRepositoryFactory.java @@ -32,7 +32,7 @@ import org.eclipse.aether.impl.RemoteRepositoryManager; import org.eclipse.aether.repository.RepositoryPolicy; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.nonNull; @Named @Singleton diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultToolchainsXmlFactory.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultToolchainsXmlFactory.java index d707ac824b89..5037f7696b0d 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultToolchainsXmlFactory.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultToolchainsXmlFactory.java @@ -37,9 +37,9 @@ import org.apache.maven.toolchain.v4.MavenToolchainsStaxReader; import org.apache.maven.toolchain.v4.MavenToolchainsStaxWriter; +import static org.apache.maven.impl.ImplUtils.nonNull; import static org.apache.maven.impl.StaxLocation.getLocation; import static org.apache.maven.impl.StaxLocation.getMessage; -import static org.apache.maven.impl.Utils.nonNull; @Named @Singleton diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultVersionParser.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultVersionParser.java index f6d01ce02af1..d84ebcddc3a3 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultVersionParser.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultVersionParser.java @@ -27,7 +27,7 @@ import org.apache.maven.api.services.VersionParser; import org.apache.maven.api.services.model.ModelVersionParser; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.nonNull; /** * A wrapper class around a resolver version that works as model version parser as well. diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultVersionRangeResolver.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultVersionRangeResolver.java index b3ef4d59b8ab..df182d976a3a 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultVersionRangeResolver.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultVersionRangeResolver.java @@ -39,7 +39,7 @@ import org.eclipse.aether.resolution.VersionRangeResult; import static java.util.Objects.requireNonNull; -import static org.apache.maven.impl.Utils.map; +import static org.apache.maven.impl.ImplUtils.map; @Named @Singleton diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultVersionResolver.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultVersionResolver.java index ff07e5bb26d4..cc140caf92d6 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultVersionResolver.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/DefaultVersionResolver.java @@ -35,7 +35,7 @@ import org.eclipse.aether.resolution.VersionResolutionException; import org.eclipse.aether.resolution.VersionResult; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.nonNull; @Named @Singleton diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/ExtensibleEnumRegistries.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/ExtensibleEnumRegistries.java index 9fdfe53e7082..d70796812ccb 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/ExtensibleEnumRegistries.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/ExtensibleEnumRegistries.java @@ -42,7 +42,7 @@ import org.apache.maven.api.spi.PathScopeProvider; import org.apache.maven.api.spi.ProjectScopeProvider; -import static org.apache.maven.impl.Utils.nonNull; +import static org.apache.maven.impl.ImplUtils.nonNull; public class ExtensibleEnumRegistries { diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/Utils.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/ImplUtils.java similarity index 98% rename from impl/maven-impl/src/main/java/org/apache/maven/impl/Utils.java rename to impl/maven-impl/src/main/java/org/apache/maven/impl/ImplUtils.java index a3fcdf73d3d4..37e0f36e1bee 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/Utils.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/ImplUtils.java @@ -24,7 +24,7 @@ import java.util.function.Function; import java.util.stream.Collectors; -public class Utils { +class ImplUtils { public static T nonNull(T t) { if (t == null) { throw new IllegalArgumentException(); diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/InternalSession.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/InternalSession.java index e6d6d4c53f95..e39836e2552d 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/InternalSession.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/InternalSession.java @@ -40,7 +40,7 @@ import org.eclipse.aether.RepositorySystem; import org.eclipse.aether.RepositorySystemSession; -import static org.apache.maven.impl.Utils.cast; +import static org.apache.maven.impl.ImplUtils.cast; public interface InternalSession extends Session { diff --git a/impl/maven-impl/src/main/java/org/apache/maven/impl/WrapperNode.java b/impl/maven-impl/src/main/java/org/apache/maven/impl/WrapperNode.java index 4059e5cf2311..a057b68a5e04 100644 --- a/impl/maven-impl/src/main/java/org/apache/maven/impl/WrapperNode.java +++ b/impl/maven-impl/src/main/java/org/apache/maven/impl/WrapperNode.java @@ -39,7 +39,7 @@ class WrapperNode extends AbstractNode { @Override DependencyNode getDependencyNode() { - return Utils.cast(AbstractNode.class, delegate, "delegate").getDependencyNode(); + return ImplUtils.cast(AbstractNode.class, delegate, "delegate").getDependencyNode(); } @Override diff --git a/impl/maven-support/pom.xml b/impl/maven-support/pom.xml index 5607d62ce78b..21c44ed0c555 100644 --- a/impl/maven-support/pom.xml +++ b/impl/maven-support/pom.xml @@ -29,6 +29,10 @@ org.apache.maven maven-api-metadata + + org.apache.maven + maven-api-plugin + org.apache.maven maven-xml @@ -41,6 +45,53 @@ org.codehaus.modello modello-maven-plugin + + velocity-lifecycle + + velocity + + generate-sources + + 2.0.0 + ${project.basedir}/../../api/maven-api-plugin + ${project.basedir}/../../src/mdo + + src/main/mdo/lifecycle.mdo + + + + + + + packageModelV4=org.apache.maven.api.plugin.descriptor.lifecycle + packageToolV4=org.apache.maven.plugin.lifecycle.io + + + + + velocity-plugin + + velocity + + generate-sources + + 2.0.0 + ${project.basedir}/../../api/maven-api-plugin + ${project.basedir}/../../src/mdo + + src/main/mdo/plugin.mdo + + + + + + + packageModelV3=org.apache.maven.plugin.descriptor + packageModelV4=org.apache.maven.api.plugin.descriptor + packageToolV4=org.apache.maven.plugin.descriptor.io + + + velocity-settings