diff --git a/src/main/java/org/apache/maven/plugins/dependency/AbstractDependencyMojo.java b/src/main/java/org/apache/maven/plugins/dependency/AbstractDependencyMojo.java index 45e43be16c..b24e2ba6ed 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/AbstractDependencyMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/AbstractDependencyMojo.java @@ -26,7 +26,6 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugin.logging.SystemStreamLog; -import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.dependency.utils.DependencySilentLog; import org.apache.maven.project.DefaultProjectBuildingRequest; @@ -39,27 +38,6 @@ */ public abstract class AbstractDependencyMojo extends AbstractMojo { - /** - * For IDE build support - */ - @Component - private BuildContext buildContext; - - /** - * Skip plugin execution only during incremental builds (e.g. triggered from M2E). - * - * @since 3.4.0 - * @see #skip - */ - @Parameter(defaultValue = "false") - private boolean skipDuringIncrementalBuild; - - /** - * POM - */ - @Component - private MavenProject project; - /** * Remote repositories which will be searched for artifacts. */ @@ -81,8 +59,7 @@ public abstract class AbstractDependencyMojo extends AbstractMojo { /** * The Maven session */ - @Component - protected MavenSession session; + protected final MavenSession session; /** * If the plugin should be silent. @@ -102,6 +79,31 @@ public abstract class AbstractDependencyMojo extends AbstractMojo { @Parameter(property = "mdep.skip", defaultValue = "false") private boolean skip; + /** + * Skip plugin execution only during incremental builds (e.g. triggered from M2E). + * + * @since 3.4.0 + * @see #skip + */ + @Parameter(defaultValue = "false") + private boolean skipDuringIncrementalBuild; + + /** + * For IDE build support + */ + private final BuildContext buildContext; + + /** + * POM + */ + private final MavenProject project; + + protected AbstractDependencyMojo(MavenSession session, BuildContext buildContext, MavenProject project) { + this.session = session; + this.buildContext = buildContext; + this.project = project; + } + // Mojo methods ----------------------------------------------------------- /* diff --git a/src/main/java/org/apache/maven/plugins/dependency/ListRepositoriesMojo.java b/src/main/java/org/apache/maven/plugins/dependency/ListRepositoriesMojo.java index 3a0debe9cc..07cd668c84 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/ListRepositoriesMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/ListRepositoriesMojo.java @@ -31,9 +31,11 @@ import java.util.stream.Collectors; import org.apache.maven.RepositoryUtils; +import org.apache.maven.execution.MavenSession; import org.apache.maven.model.DependencyManagement; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.Mojo; +import org.apache.maven.project.MavenProject; import org.eclipse.aether.RepositorySystem; import org.eclipse.aether.artifact.ArtifactTypeRegistry; import org.eclipse.aether.collection.CollectRequest; @@ -43,6 +45,7 @@ import org.eclipse.aether.graph.DependencyVisitor; import org.eclipse.aether.repository.RemoteRepository; import org.eclipse.aether.util.graph.visitor.TreeDependencyVisitor; +import org.sonatype.plexus.build.incremental.BuildContext; /** * Goal that collects all project dependencies and then lists the repositories used by the build and by the transitive @@ -57,14 +60,16 @@ public class ListRepositoriesMojo extends AbstractDependencyMojo { private final RepositorySystem repositorySystem; @Inject - public ListRepositoriesMojo(RepositorySystem repositorySystem) { + public ListRepositoriesMojo( + MavenSession session, BuildContext buildContext, MavenProject project, RepositorySystem repositorySystem) { + super(session, buildContext, project); this.repositorySystem = repositorySystem; } /** * Displays a list of the repositories used by this build. * - * @throws MojoExecutionException with a message if an error occurs. + * @throws MojoExecutionException with a message if an error occurs */ @Override protected void doExecute() throws MojoExecutionException { diff --git a/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/AbstractFromConfigurationMojo.java b/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/AbstractFromConfigurationMojo.java index 90ba8818ba..57d6bb7780 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/AbstractFromConfigurationMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/AbstractFromConfigurationMojo.java @@ -27,10 +27,10 @@ import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.handler.ArtifactHandler; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; +import org.apache.maven.execution.MavenSession; import org.apache.maven.model.Dependency; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.dependency.AbstractDependencyMojo; import org.apache.maven.plugins.dependency.utils.DependencyUtil; @@ -42,6 +42,7 @@ import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver; import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolverException; import org.apache.maven.shared.transfer.repository.RepositoryManager; +import org.sonatype.plexus.build.incremental.BuildContext; /** * Abstract parent class used by mojos that get Artifact information from the plugin configuration as an ArrayList of @@ -111,14 +112,24 @@ public abstract class AbstractFromConfigurationMojo extends AbstractDependencyMo @Parameter private File localRepositoryDirectory; - @Component - private ArtifactResolver artifactResolver; + private final ArtifactResolver artifactResolver; - @Component - private RepositoryManager repositoryManager; + private final RepositoryManager repositoryManager; - @Component - private ArtifactHandlerManager artifactHandlerManager; + private final ArtifactHandlerManager artifactHandlerManager; + + protected AbstractFromConfigurationMojo( + MavenSession session, + BuildContext buildContext, + MavenProject project, + ArtifactResolver artifactResolver, + RepositoryManager repositoryManager, + ArtifactHandlerManager artifactHandlerManager) { + super(session, buildContext, project); + this.artifactResolver = artifactResolver; + this.repositoryManager = repositoryManager; + this.artifactHandlerManager = artifactHandlerManager; + } abstract ArtifactItemFilter getMarkedArtifactFilter(ArtifactItem item); diff --git a/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/CopyMojo.java b/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/CopyMojo.java index e9ad6d7373..123e76825e 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/CopyMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/CopyMojo.java @@ -25,6 +25,8 @@ import java.util.List; import org.apache.maven.artifact.Artifact; +import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.LifecyclePhase; @@ -33,6 +35,10 @@ import org.apache.maven.plugins.dependency.utils.CopyUtil; import org.apache.maven.plugins.dependency.utils.filters.ArtifactItemFilter; import org.apache.maven.plugins.dependency.utils.filters.DestFileFilter; +import org.apache.maven.project.MavenProject; +import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver; +import org.apache.maven.shared.transfer.repository.RepositoryManager; +import org.sonatype.plexus.build.incremental.BuildContext; /** * Goal that copies a list of artifacts from the repository to defined locations. @@ -82,7 +88,15 @@ public class CopyMojo extends AbstractFromConfigurationMojo { private String artifact; @Inject - public CopyMojo(CopyUtil copyUtil) { + public CopyMojo( + MavenSession session, + BuildContext buildContext, + MavenProject project, + ArtifactResolver artifactResolver, + RepositoryManager repositoryManager, + ArtifactHandlerManager artifactHandlerManager, + CopyUtil copyUtil) { + super(session, buildContext, project, artifactResolver, repositoryManager, artifactHandlerManager); this.copyUtil = copyUtil; } diff --git a/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/UnpackMojo.java b/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/UnpackMojo.java index 4d7be19006..9d2815cbbc 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/UnpackMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/fromConfiguration/UnpackMojo.java @@ -23,6 +23,8 @@ import java.io.File; import java.util.List; +import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugins.annotations.LifecyclePhase; @@ -33,7 +35,11 @@ import org.apache.maven.plugins.dependency.utils.filters.MarkerFileFilter; import org.apache.maven.plugins.dependency.utils.markers.MarkerHandler; import org.apache.maven.plugins.dependency.utils.markers.UnpackFileMarkerHandler; +import org.apache.maven.project.MavenProject; +import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolver; +import org.apache.maven.shared.transfer.repository.RepositoryManager; import org.codehaus.plexus.components.io.filemappers.FileMapper; +import org.sonatype.plexus.build.incremental.BuildContext; /** * Goal that retrieves a list of artifacts from the repository and unpacks them in a defined location. @@ -98,7 +104,15 @@ public class UnpackMojo extends AbstractFromConfigurationMojo { private String artifact; @Inject - public UnpackMojo(UnpackUtil unpackUtil) { + public UnpackMojo( + MavenSession session, + BuildContext buildContext, + MavenProject project, + ArtifactResolver artifactResolver, + RepositoryManager repositoryManager, + ArtifactHandlerManager artifactHandlerManager, + UnpackUtil unpackUtil) { + super(session, buildContext, project, artifactResolver, repositoryManager, artifactHandlerManager); this.unpackUtil = unpackUtil; } diff --git a/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/AbstractDependencyFilterMojo.java b/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/AbstractDependencyFilterMojo.java index 6818dfc016..99b4ca7639 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/AbstractDependencyFilterMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/AbstractDependencyFilterMojo.java @@ -18,6 +18,8 @@ */ package org.apache.maven.plugins.dependency.fromDependencies; +import javax.inject.Inject; + import java.io.File; import java.util.ArrayList; import java.util.Collection; @@ -27,6 +29,7 @@ import org.apache.maven.RepositoryUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.dependency.AbstractDependencyMojo; @@ -50,6 +53,7 @@ import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver; import org.apache.maven.shared.transfer.repository.RepositoryManager; import org.eclipse.aether.resolution.ArtifactResolutionException; +import org.sonatype.plexus.build.incremental.BuildContext; /** * Class that encapsulates the plugin parameters, and contains methods that handle dependency filtering @@ -239,23 +243,30 @@ public abstract class AbstractDependencyFilterMojo extends AbstractDependencyMoj private final ArtifactHandlerManager artifactHandlerManager; + @Inject + // CHECKSTYLE_OFF: ParameterNumber protected AbstractDependencyFilterMojo( + MavenSession session, + BuildContext buildContext, + MavenProject project, ResolverUtil resolverUtil, DependencyResolver dependencyResolver, RepositoryManager repositoryManager, ProjectBuilder projectBuilder, ArtifactHandlerManager artifactHandlerManager) { + super(session, buildContext, project); this.resolverUtil = resolverUtil; this.dependencyResolver = dependencyResolver; this.repositoryManager = repositoryManager; this.projectBuilder = projectBuilder; this.artifactHandlerManager = artifactHandlerManager; } + // CHECKSTYLE_ON: ParameterNumber /** * Return an {@link ArtifactsFilter} indicating which artifacts must be filtered out. * - * @return an {@link ArtifactsFilter} indicating which artifacts must be filtered out. + * @return an {@link ArtifactsFilter} indicating which artifacts must be filtered out */ protected abstract ArtifactsFilter getMarkedArtifactFilter(); diff --git a/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/AbstractFromDependenciesMojo.java b/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/AbstractFromDependenciesMojo.java index 2e4f675fd0..30516ee34a 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/AbstractFromDependenciesMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/AbstractFromDependenciesMojo.java @@ -21,11 +21,14 @@ import java.io.File; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.dependency.utils.ResolverUtil; +import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuilder; import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver; import org.apache.maven.shared.transfer.repository.RepositoryManager; +import org.sonatype.plexus.build.incremental.BuildContext; /** * Abstract Parent class used by mojos that get Artifact information from the project dependencies. @@ -111,17 +114,30 @@ public abstract class AbstractFromDependenciesMojo extends AbstractDependencyFil @Parameter(property = "mdep.failOnMissingClassifierArtifact", defaultValue = "false") protected boolean failOnMissingClassifierArtifact; + // CHECKSTYLE_OFF: ParameterNumber protected AbstractFromDependenciesMojo( + MavenSession session, + BuildContext buildContext, + MavenProject project, ResolverUtil resolverUtil, DependencyResolver dependencyResolver, RepositoryManager repositoryManager, ProjectBuilder projectBuilder, ArtifactHandlerManager artifactHandlerManager) { - super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager); + super( + session, + buildContext, + project, + resolverUtil, + dependencyResolver, + repositoryManager, + projectBuilder, + artifactHandlerManager); } + // CHECKSTYLE_ON: ParameterNumber /** - * @return returns the outputDirectory + * @return returns the output directory */ public File getOutputDirectory() { return this.outputDirectory; diff --git a/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/BuildClasspathMojo.java b/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/BuildClasspathMojo.java index 2c4ef03bf4..d108b1e347 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/BuildClasspathMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/BuildClasspathMojo.java @@ -40,6 +40,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; @@ -47,12 +48,14 @@ import org.apache.maven.plugins.annotations.ResolutionScope; import org.apache.maven.plugins.dependency.utils.DependencyUtil; import org.apache.maven.plugins.dependency.utils.ResolverUtil; +import org.apache.maven.project.MavenProject; import org.apache.maven.project.MavenProjectHelper; import org.apache.maven.project.ProjectBuilder; import org.apache.maven.project.ProjectBuildingRequest; import org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter; import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver; import org.apache.maven.shared.transfer.repository.RepositoryManager; +import org.sonatype.plexus.build.incremental.BuildContext; /** * This goal outputs a classpath string of dependencies from the local repository to a file or log. @@ -60,13 +63,11 @@ * @author ankostis * @since 2.0-alpha-2 */ -// CHECKSTYLE_OFF: LineLength @Mojo( name = "build-classpath", requiresDependencyResolution = ResolutionScope.TEST, defaultPhase = LifecyclePhase.GENERATE_SOURCES, threadSafe = true) -// CHECKSTYLE_ON: LineLength public class BuildClasspathMojo extends AbstractDependencyFilterMojo implements Comparator { @Parameter(property = "outputEncoding", defaultValue = "${project.reporting.outputEncoding}") @@ -167,16 +168,29 @@ public class BuildClasspathMojo extends AbstractDependencyFilterMojo implements private final MavenProjectHelper projectHelper; @Inject + // CHECKSTYLE_OFF: ParameterNumber protected BuildClasspathMojo( - MavenProjectHelper projectHelper, + MavenSession session, + BuildContext buildContext, + MavenProject project, ResolverUtil resolverUtil, DependencyResolver dependencyResolver, RepositoryManager repositoryManager, ProjectBuilder projectBuilder, - ArtifactHandlerManager artifactHandlerManager) { - super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager); + ArtifactHandlerManager artifactHandlerManager, + MavenProjectHelper projectHelper) { + super( + session, + buildContext, + project, + resolverUtil, + dependencyResolver, + repositoryManager, + projectBuilder, + artifactHandlerManager); this.projectHelper = projectHelper; } + // CHECKSTYLE_ON: ParameterNumber /** * Main entry into mojo. Gets the list of dependencies and iterates to create a classpath. diff --git a/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/CopyDependenciesMojo.java b/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/CopyDependenciesMojo.java index 1029988be9..e79e991d2a 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/CopyDependenciesMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/CopyDependenciesMojo.java @@ -30,6 +30,7 @@ import org.apache.maven.RepositoryUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; @@ -40,6 +41,7 @@ import org.apache.maven.plugins.dependency.utils.DependencyUtil; import org.apache.maven.plugins.dependency.utils.ResolverUtil; import org.apache.maven.plugins.dependency.utils.filters.DestFileFilter; +import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuilder; import org.apache.maven.project.ProjectBuildingRequest; import org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter; @@ -49,6 +51,7 @@ import org.apache.maven.shared.transfer.repository.RepositoryManager; import org.eclipse.aether.resolution.ArtifactResolutionException; import org.eclipse.aether.util.artifact.SubArtifact; +import org.sonatype.plexus.build.incremental.BuildContext; /** * Goal that copies the files for a project's dependencies from the repository to a directory. @@ -59,13 +62,11 @@ * @author Brian Fox * @since 1.0 */ -// CHECKSTYLE_OFF: LineLength @Mojo( name = "copy-dependencies", requiresDependencyResolution = ResolutionScope.TEST, defaultPhase = LifecyclePhase.PROCESS_SOURCES, threadSafe = true) -// CHECKSTYLE_ON: LineLength public class CopyDependenciesMojo extends AbstractFromDependenciesMojo { /** * Also copy the pom of each artifact. @@ -97,18 +98,31 @@ public class CopyDependenciesMojo extends AbstractFromDependenciesMojo { protected boolean addParentPoms; @Inject + // CHECKSTYLE_OFF: ParameterNumber public CopyDependenciesMojo( - CopyUtil copyUtil, - ArtifactInstaller installer, + MavenSession session, + BuildContext buildContext, + MavenProject project, ResolverUtil resolverUtil, DependencyResolver dependencyResolver, RepositoryManager repositoryManager, ProjectBuilder projectBuilder, - ArtifactHandlerManager artifactHandlerManager) { - super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager); + ArtifactHandlerManager artifactHandlerManager, + CopyUtil copyUtil, + ArtifactInstaller installer) { + super( + session, + buildContext, + project, + resolverUtil, + dependencyResolver, + repositoryManager, + projectBuilder, + artifactHandlerManager); this.copyUtil = copyUtil; this.installer = installer; } + // CHECKSTYLE_ON: ParameterNumber /** * Main entry into mojo. Gets the list of dependencies and iterates through calling copyArtifact. diff --git a/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/UnpackDependenciesMojo.java b/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/UnpackDependenciesMojo.java index f10da2cf3d..589564fca2 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/UnpackDependenciesMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/fromDependencies/UnpackDependenciesMojo.java @@ -24,6 +24,7 @@ import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; @@ -35,11 +36,13 @@ import org.apache.maven.plugins.dependency.utils.UnpackUtil; import org.apache.maven.plugins.dependency.utils.filters.MarkerFileFilter; import org.apache.maven.plugins.dependency.utils.markers.DefaultFileMarkerHandler; +import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuilder; import org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter; import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver; import org.apache.maven.shared.transfer.repository.RepositoryManager; import org.codehaus.plexus.components.io.filemappers.FileMapper; +import org.sonatype.plexus.build.incremental.BuildContext; /** * Goal that unpacks the project dependencies from the repository to a defined location. @@ -103,16 +106,29 @@ public class UnpackDependenciesMojo extends AbstractFromDependenciesMojo { private final UnpackUtil unpackUtil; @Inject + // CHECKSTYLE_OFF: ParameterNumber public UnpackDependenciesMojo( - UnpackUtil unpackUtil, + MavenSession session, + BuildContext buildContext, + MavenProject project, ResolverUtil resolverUtil, DependencyResolver dependencyResolver, RepositoryManager repositoryManager, ProjectBuilder projectBuilder, - ArtifactHandlerManager artifactHandlerManager) { - super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager); + ArtifactHandlerManager artifactHandlerManager, + UnpackUtil unpackUtil) { + super( + session, + buildContext, + project, + resolverUtil, + dependencyResolver, + repositoryManager, + projectBuilder, + artifactHandlerManager); this.unpackUtil = unpackUtil; } + // CHECKSTYLE_ON: ParameterNumber /** * Main entry into mojo. This method gets the dependencies and iterates through each one passing it to diff --git a/src/main/java/org/apache/maven/plugins/dependency/resolvers/AbstractResolveMojo.java b/src/main/java/org/apache/maven/plugins/dependency/resolvers/AbstractResolveMojo.java index 636f410d07..434fea8bd0 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/resolvers/AbstractResolveMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/resolvers/AbstractResolveMojo.java @@ -21,10 +21,12 @@ import java.io.File; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.dependency.fromDependencies.AbstractDependencyFilterMojo; import org.apache.maven.plugins.dependency.utils.DependencyUtil; import org.apache.maven.plugins.dependency.utils.ResolverUtil; +import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuilder; import org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter; import org.apache.maven.shared.artifact.filter.collection.ClassifierFilter; @@ -34,6 +36,7 @@ import org.apache.maven.shared.artifact.filter.collection.TypeFilter; import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver; import org.apache.maven.shared.transfer.repository.RepositoryManager; +import org.sonatype.plexus.build.incremental.BuildContext; /** * @author Brian Fox @@ -65,14 +68,27 @@ public abstract class AbstractResolveMojo extends AbstractDependencyFilterMojo { @Parameter(property = "excludeReactor", defaultValue = "true") protected boolean excludeReactor; + // CHECKSTYLE_OFF: ParameterNumber protected AbstractResolveMojo( + MavenSession session, + BuildContext buildContext, + MavenProject project, ResolverUtil resolverUtil, DependencyResolver dependencyResolver, RepositoryManager repositoryManager, ProjectBuilder projectBuilder, ArtifactHandlerManager artifactHandlerManager) { - super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager); + super( + session, + buildContext, + project, + resolverUtil, + dependencyResolver, + repositoryManager, + projectBuilder, + artifactHandlerManager); } + // CHECKSTYLE_ON: ParameterNumber /** * @return {@link FilterArtifacts} @@ -81,7 +97,6 @@ protected FilterArtifacts getArtifactsFilter() { final FilterArtifacts filter = new FilterArtifacts(); if (excludeReactor) { - filter.addFilter(new ExcludeReactorProjectsArtifactFilter(reactorProjects, getLog())); } diff --git a/src/main/java/org/apache/maven/plugins/dependency/resolvers/CollectDependenciesMojo.java b/src/main/java/org/apache/maven/plugins/dependency/resolvers/CollectDependenciesMojo.java index e99e9a4719..7838d0d9ab 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/resolvers/CollectDependenciesMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/resolvers/CollectDependenciesMojo.java @@ -21,13 +21,16 @@ import javax.inject.Inject; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.ResolutionScope; import org.apache.maven.plugins.dependency.utils.ResolverUtil; +import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuilder; import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver; import org.apache.maven.shared.transfer.repository.RepositoryManager; +import org.sonatype.plexus.build.incremental.BuildContext; /** *

@@ -55,12 +58,26 @@ public class CollectDependenciesMojo extends ResolveDependenciesMojo { @Inject - public CollectDependenciesMojo( + // CHECKSTYLE_OFF: ParameterNumber + protected CollectDependenciesMojo( + MavenSession session, + BuildContext buildContext, + MavenProject project, ResolverUtil resolverUtil, DependencyResolver dependencyResolver, RepositoryManager repositoryManager, ProjectBuilder projectBuilder, ArtifactHandlerManager artifactHandlerManager) { - super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager); + super( + session, + buildContext, + project, + resolverUtil, + dependencyResolver, + repositoryManager, + projectBuilder, + artifactHandlerManager); } + // CHECKSTYLE_ON: ParameterNumber + } diff --git a/src/main/java/org/apache/maven/plugins/dependency/resolvers/GoOfflineMojo.java b/src/main/java/org/apache/maven/plugins/dependency/resolvers/GoOfflineMojo.java index acff067e4e..84242e2fa8 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/resolvers/GoOfflineMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/resolvers/GoOfflineMojo.java @@ -31,11 +31,13 @@ import org.apache.maven.artifact.handler.DefaultArtifactHandler; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; import org.apache.maven.artifact.repository.ArtifactRepository; +import org.apache.maven.execution.MavenSession; import org.apache.maven.model.Dependency; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.dependency.utils.DependencyUtil; import org.apache.maven.plugins.dependency.utils.ResolverUtil; +import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuilder; import org.apache.maven.project.ProjectBuildingRequest; import org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException; @@ -48,6 +50,7 @@ import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver; import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolverException; import org.apache.maven.shared.transfer.repository.RepositoryManager; +import org.sonatype.plexus.build.incremental.BuildContext; /** * Goal that resolves all project dependencies, including plugins and reports and their dependencies. @@ -61,14 +64,27 @@ public class GoOfflineMojo extends AbstractResolveMojo { @Inject + // CHECKSTYLE_OFF: ParameterNumber public GoOfflineMojo( + MavenSession session, + BuildContext buildContext, + MavenProject project, ResolverUtil resolverUtil, DependencyResolver dependencyResolver, RepositoryManager repositoryManager, ProjectBuilder projectBuilder, ArtifactHandlerManager artifactHandlerManager) { - super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager); + super( + session, + buildContext, + project, + resolverUtil, + dependencyResolver, + repositoryManager, + projectBuilder, + artifactHandlerManager); } + // CHECKSTYLE_ON: ParameterNumber /** * Main entry into mojo. Gets the list of dependencies, resolves all that are not in the Reactor, and iterates diff --git a/src/main/java/org/apache/maven/plugins/dependency/resolvers/ListMojo.java b/src/main/java/org/apache/maven/plugins/dependency/resolvers/ListMojo.java index 4d6e24cfdb..81358579a2 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/resolvers/ListMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/resolvers/ListMojo.java @@ -21,12 +21,15 @@ import javax.inject.Inject; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.ResolutionScope; import org.apache.maven.plugins.dependency.utils.ResolverUtil; +import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuilder; import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver; import org.apache.maven.shared.transfer.repository.RepositoryManager; +import org.sonatype.plexus.build.incremental.BuildContext; /** * Displays the list of dependencies for this project. @@ -38,13 +41,26 @@ public class ListMojo extends ResolveDependenciesMojo { @Inject + // CHECKSTYLE_OFF: ParameterNumber public ListMojo( + MavenSession session, + BuildContext buildContext, + MavenProject project, ResolverUtil resolverUtil, DependencyResolver dependencyResolver, RepositoryManager repositoryManager, ProjectBuilder projectBuilder, ArtifactHandlerManager artifactHandlerManager) { - super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager); + super( + session, + buildContext, + project, + resolverUtil, + dependencyResolver, + repositoryManager, + projectBuilder, + artifactHandlerManager); } + // CHECKSTYLE_ON: ParameterNumber // alias for dependency:resolve } diff --git a/src/main/java/org/apache/maven/plugins/dependency/resolvers/OldResolveDependencySourcesMojo.java b/src/main/java/org/apache/maven/plugins/dependency/resolvers/OldResolveDependencySourcesMojo.java index caadd3ae92..828a5f24b7 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/resolvers/OldResolveDependencySourcesMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/resolvers/OldResolveDependencySourcesMojo.java @@ -21,13 +21,16 @@ import javax.inject.Inject; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.ResolutionScope; import org.apache.maven.plugins.dependency.utils.ResolverUtil; +import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuilder; import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver; import org.apache.maven.shared.transfer.repository.RepositoryManager; +import org.sonatype.plexus.build.incremental.BuildContext; /** * Goal that resolves the project source dependencies from the repository. @@ -45,12 +48,25 @@ public class OldResolveDependencySourcesMojo extends ResolveDependencySourcesMojo { @Inject + // CHECKSTYLE_OFF: ParameterNumber public OldResolveDependencySourcesMojo( + MavenSession session, + BuildContext buildContext, + MavenProject project, ResolverUtil resolverUtil, DependencyResolver dependencyResolver, RepositoryManager repositoryManager, ProjectBuilder projectBuilder, ArtifactHandlerManager artifactHandlerManager) { - super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager); + super( + session, + buildContext, + project, + resolverUtil, + dependencyResolver, + repositoryManager, + projectBuilder, + artifactHandlerManager); } + // CHECKSTYLE_ON: ParameterNumber } diff --git a/src/main/java/org/apache/maven/plugins/dependency/resolvers/ResolveDependenciesMojo.java b/src/main/java/org/apache/maven/plugins/dependency/resolvers/ResolveDependenciesMojo.java index fbf0baaa05..424d54bb80 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/resolvers/ResolveDependenciesMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/resolvers/ResolveDependenciesMojo.java @@ -35,6 +35,7 @@ import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; @@ -45,12 +46,14 @@ import org.apache.maven.plugins.dependency.utils.ResolverUtil; import org.apache.maven.plugins.dependency.utils.filters.ResolveFileFilter; import org.apache.maven.plugins.dependency.utils.markers.SourcesFileMarkerHandler; +import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuilder; import org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter; import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver; import org.apache.maven.shared.transfer.repository.RepositoryManager; import org.apache.maven.shared.utils.logging.MessageBuilder; import org.apache.maven.shared.utils.logging.MessageUtils; +import org.sonatype.plexus.build.incremental.BuildContext; /** * Goal that resolves the project dependencies from the repository. When using this goal while running on Java 9 the @@ -107,14 +110,27 @@ public class ResolveDependenciesMojo extends AbstractResolveMojo { boolean includeParents; @Inject + // CHECKSTYLE_OFF: ParameterNumber public ResolveDependenciesMojo( + MavenSession session, + BuildContext buildContext, + MavenProject project, ResolverUtil resolverUtil, DependencyResolver dependencyResolver, RepositoryManager repositoryManager, ProjectBuilder projectBuilder, ArtifactHandlerManager artifactHandlerManager) { - super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager); + super( + session, + buildContext, + project, + resolverUtil, + dependencyResolver, + repositoryManager, + projectBuilder, + artifactHandlerManager); } + // CHECKSTYLE_ON: ParameterNumber /** * Main entry into mojo. Gets the list of dependencies and iterates through displaying the resolved version. diff --git a/src/main/java/org/apache/maven/plugins/dependency/resolvers/ResolveDependencySourcesMojo.java b/src/main/java/org/apache/maven/plugins/dependency/resolvers/ResolveDependencySourcesMojo.java index 3966258c08..a4d4a14dba 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/resolvers/ResolveDependencySourcesMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/resolvers/ResolveDependencySourcesMojo.java @@ -21,14 +21,17 @@ import javax.inject.Inject; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.ResolutionScope; import org.apache.maven.plugins.dependency.utils.ResolverUtil; +import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuilder; import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolver; import org.apache.maven.shared.transfer.repository.RepositoryManager; +import org.sonatype.plexus.build.incremental.BuildContext; /** * Goal that resolves the project source dependencies from the repository. @@ -46,14 +49,27 @@ public class ResolveDependencySourcesMojo extends ResolveDependenciesMojo { private static final String SOURCES_CLASSIFIER = "sources"; @Inject + // CHECKSTYLE_OFF: ParameterNumber public ResolveDependencySourcesMojo( + MavenSession session, + BuildContext buildContext, + MavenProject project, ResolverUtil resolverUtil, DependencyResolver dependencyResolver, RepositoryManager repositoryManager, ProjectBuilder projectBuilder, ArtifactHandlerManager artifactHandlerManager) { - super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager); + super( + session, + buildContext, + project, + resolverUtil, + dependencyResolver, + repositoryManager, + projectBuilder, + artifactHandlerManager); } + // CHECKSTYLE_ON: ParameterNumber @Parameter(name = "classifier", defaultValue = SOURCES_CLASSIFIER, readonly = true) public void setClassifier(String classifier) { diff --git a/src/main/java/org/apache/maven/plugins/dependency/resolvers/ResolvePluginsMojo.java b/src/main/java/org/apache/maven/plugins/dependency/resolvers/ResolvePluginsMojo.java index b678b7230e..a8b53bbefe 100644 --- a/src/main/java/org/apache/maven/plugins/dependency/resolvers/ResolvePluginsMojo.java +++ b/src/main/java/org/apache/maven/plugins/dependency/resolvers/ResolvePluginsMojo.java @@ -29,12 +29,14 @@ import org.apache.maven.RepositoryUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; +import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.dependency.utils.DependencyUtil; import org.apache.maven.plugins.dependency.utils.ResolverUtil; +import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuilder; import org.apache.maven.project.ProjectBuildingRequest; import org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException; @@ -48,6 +50,7 @@ import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolverException; import org.apache.maven.shared.transfer.repository.RepositoryManager; import org.eclipse.aether.resolution.ArtifactResolutionException; +import org.sonatype.plexus.build.incremental.BuildContext; /** * Goal that resolves all project plugins and reports and their dependencies. @@ -70,14 +73,27 @@ public class ResolvePluginsMojo extends AbstractResolveMojo { private boolean outputAbsoluteArtifactFilename; @Inject + // CHECKSTYLE_OFF: ParameterNumber public ResolvePluginsMojo( + MavenSession session, + BuildContext buildContext, + MavenProject project, ResolverUtil resolverUtil, DependencyResolver dependencyResolver, RepositoryManager repositoryManager, ProjectBuilder projectBuilder, ArtifactHandlerManager artifactHandlerManager) { - super(resolverUtil, dependencyResolver, repositoryManager, projectBuilder, artifactHandlerManager); + super( + session, + buildContext, + project, + resolverUtil, + dependencyResolver, + repositoryManager, + projectBuilder, + artifactHandlerManager); } + // CHECKSTYLE_ON: ParameterNumber /** * Main entry into mojo. Gets the list of dependencies and iterates through displaying the resolved version. diff --git a/src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTest.java b/src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTest.java index 5c450f3d07..bb8f728daf 100644 --- a/src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTest.java +++ b/src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTest.java @@ -25,7 +25,9 @@ import junit.framework.TestCase; import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.execution.MavenSession; +import org.apache.maven.project.MavenProject; import org.apache.maven.project.ProjectBuildingRequest; +import org.sonatype.plexus.build.incremental.BuildContext; import static org.apache.maven.plugins.dependency.AbstractDependencyMojoTest.ConcreteDependencyMojo.createConcreteDependencyMojoWithArtifactRepositories; import static org.apache.maven.plugins.dependency.AbstractDependencyMojoTest.ConcreteDependencyMojo.createConcreteDependencyMojoWithPluginRepositories; @@ -42,11 +44,15 @@ public class AbstractDependencyMojoTest extends TestCase { private ArrayList pluginRepos = new ArrayList<>(); static class ConcreteDependencyMojo extends AbstractDependencyMojo { + + protected ConcreteDependencyMojo(MavenSession session, BuildContext buildContext, MavenProject project) { + super(session, buildContext, project); + } + static ConcreteDependencyMojo createConcreteDependencyMojoWithArtifactRepositories( MavenSession mavenSession, List artifactRepos) throws NoSuchFieldException, IllegalAccessException { - ConcreteDependencyMojo cdm = new ConcreteDependencyMojo(); - cdm.session = mavenSession; + ConcreteDependencyMojo cdm = new ConcreteDependencyMojo(mavenSession, null, null); Field par = AbstractDependencyMojo.class.getDeclaredField("remoteRepositories"); par.setAccessible(true); @@ -56,10 +62,9 @@ static ConcreteDependencyMojo createConcreteDependencyMojoWithArtifactRepositori } static ConcreteDependencyMojo createConcreteDependencyMojoWithPluginRepositories( - MavenSession mavenSession, List pluginRepos) + MavenSession session, List pluginRepos) throws NoSuchFieldException, IllegalAccessException { - ConcreteDependencyMojo cdm = new ConcreteDependencyMojo(); - cdm.session = mavenSession; + ConcreteDependencyMojo cdm = new ConcreteDependencyMojo(session, null, null); Field par = AbstractDependencyMojo.class.getDeclaredField("remotePluginRepositories"); par.setAccessible(true); diff --git a/src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestCopyMojo.java b/src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestCopyMojo.java index e4831c9170..1836b1d33c 100644 --- a/src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestCopyMojo.java +++ b/src/test/java/org/apache/maven/plugins/dependency/fromConfiguration/TestCopyMojo.java @@ -130,11 +130,11 @@ public void assertFileExists(ArtifactItem item, boolean exist) { } public void testMojoDefaults() { - CopyMojo themojo = new CopyMojo(null); + CopyMojo theMojo = new CopyMojo(null, null, null, null, null, null, null); - assertFalse(themojo.isStripVersion()); - assertFalse(themojo.isSkip()); - assertFalse(themojo.isStripClassifier()); + assertFalse(theMojo.isStripVersion()); + assertFalse(theMojo.isSkip()); + assertFalse(theMojo.isStripClassifier()); } public void testCopyFile() throws Exception { diff --git a/src/test/java/org/apache/maven/plugins/dependency/resolvers/ResolveDependenciesMojoTest.java b/src/test/java/org/apache/maven/plugins/dependency/resolvers/ResolveDependenciesMojoTest.java index bb7c97d100..c59b02542c 100644 --- a/src/test/java/org/apache/maven/plugins/dependency/resolvers/ResolveDependenciesMojoTest.java +++ b/src/test/java/org/apache/maven/plugins/dependency/resolvers/ResolveDependenciesMojoTest.java @@ -100,7 +100,7 @@ private void doTestDependencyStatusLog(Set artifacts) { } private ResolveDependenciesMojo newMojo(final DependencyStatusSets dss) { - ResolveDependenciesMojo mojo = new ResolveDependenciesMojo(null, null, null, null, null); + ResolveDependenciesMojo mojo = new ResolveDependenciesMojo(null, null, null, null, null, null, null, null); mojo.results = dss; return mojo; }