Skip to content

Commit

Permalink
[MDEP-923] Move methods in place where are used
Browse files Browse the repository at this point in the history
  • Loading branch information
slawekjaranowski committed Jun 7, 2024
1 parent ad5fdc5 commit fd17de4
Show file tree
Hide file tree
Showing 4 changed files with 66 additions and 90 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,6 @@ public class CopyMojo extends AbstractFromConfigurationMojo {
@Parameter(property = "artifact")
private String artifact;

/**
* <i>not used in this goal</i>
*/
@Parameter
protected boolean ignorePermissions;

/**
* Main entry into mojo. This method gets the ArtifactItems and iterates through each one passing it to
* copyArtifact.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -97,12 +97,6 @@ public class CopyDependenciesMojo extends AbstractFromDependenciesMojo {
@Parameter(property = "mdep.addParentPoms", defaultValue = "false")
protected boolean addParentPoms;

/**
* <i>not used in this goal</i>
*/
@Parameter
protected boolean ignorePermissions;

/**
* Main entry into mojo. Gets the list of dependencies and iterates through calling copyArtifact.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,28 +19,15 @@
package org.apache.maven.plugins.dependency.resolvers;

import java.io.File;
import java.util.LinkedHashSet;
import java.util.Set;

import org.apache.maven.artifact.Artifact;
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.project.ProjectBuildingRequest;
import org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter;
import org.apache.maven.shared.artifact.filter.collection.ClassifierFilter;
import org.apache.maven.shared.artifact.filter.collection.FilterArtifacts;
import org.apache.maven.shared.artifact.filter.collection.GroupIdFilter;
import org.apache.maven.shared.artifact.filter.collection.ScopeFilter;
import org.apache.maven.shared.artifact.filter.collection.TypeFilter;
import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult;
import org.apache.maven.shared.transfer.dependencies.DependableCoordinate;
import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolverException;

/**
* @author <a href="mailto:brianf@apache.org">Brian Fox</a>
*/
public abstract class AbstractResolveMojo extends AbstractDependencyFilterMojo {

/**
* If specified, this parameter causes the dependencies to be written to the path specified instead of
* the console.
Expand All @@ -65,67 +52,4 @@ public abstract class AbstractResolveMojo extends AbstractDependencyFilterMojo {
*/
@Parameter(property = "excludeReactor", defaultValue = "true")
protected boolean excludeReactor;

/**
* <i>not used in this goal</i>
*/
@Parameter
protected boolean ignorePermissions;

/**
* @return {@link FilterArtifacts}
*/
protected FilterArtifacts getArtifactsFilter() {
final FilterArtifacts filter = new FilterArtifacts();

if (excludeReactor) {

filter.addFilter(new ExcludeReactorProjectsArtifactFilter(reactorProjects, getLog()));
}

filter.addFilter(new ScopeFilter(
DependencyUtil.cleanToBeTokenizedString(this.includeScope),
DependencyUtil.cleanToBeTokenizedString(this.excludeScope)));

filter.addFilter(new TypeFilter(
DependencyUtil.cleanToBeTokenizedString(this.includeTypes),
DependencyUtil.cleanToBeTokenizedString(this.excludeTypes)));

filter.addFilter(new ClassifierFilter(
DependencyUtil.cleanToBeTokenizedString(this.includeClassifiers),
DependencyUtil.cleanToBeTokenizedString(this.excludeClassifiers)));

filter.addFilter(new GroupIdFilter(
DependencyUtil.cleanToBeTokenizedString(this.includeGroupIds),
DependencyUtil.cleanToBeTokenizedString(this.excludeGroupIds)));

filter.addFilter(new ArtifactIdFilter(
DependencyUtil.cleanToBeTokenizedString(this.includeArtifactIds),
DependencyUtil.cleanToBeTokenizedString(this.excludeArtifactIds)));

return filter;
}

/**
* This method resolves all transitive dependencies of an artifact.
*
* @param artifact the artifact used to retrieve dependencies
* @return resolved set of dependencies
* @throws DependencyResolverException in case of error while resolving artifacts.
*/
protected Set<Artifact> resolveArtifactDependencies(final DependableCoordinate artifact)
throws DependencyResolverException {
ProjectBuildingRequest buildingRequest = newResolveArtifactProjectBuildingRequest();

Iterable<ArtifactResult> artifactResults =
getDependencyResolver().resolveDependencies(buildingRequest, artifact, null);

Set<Artifact> artifacts = new LinkedHashSet<>();

for (final ArtifactResult artifactResult : artifactResults) {
artifacts.add(artifactResult.getArtifact());
}

return artifacts;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,17 @@
import org.apache.maven.plugins.dependency.utils.DependencyUtil;
import org.apache.maven.project.ProjectBuildingRequest;
import org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException;
import org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter;
import org.apache.maven.shared.artifact.filter.collection.ArtifactsFilter;
import org.apache.maven.shared.artifact.filter.collection.ClassifierFilter;
import org.apache.maven.shared.artifact.filter.collection.FilterArtifacts;
import org.apache.maven.shared.artifact.filter.collection.GroupIdFilter;
import org.apache.maven.shared.artifact.filter.collection.ScopeFilter;
import org.apache.maven.shared.artifact.filter.collection.TypeFilter;
import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResolverException;
import org.apache.maven.shared.transfer.artifact.resolve.ArtifactResult;
import org.apache.maven.shared.transfer.dependencies.DefaultDependableCoordinate;
import org.apache.maven.shared.transfer.dependencies.DependableCoordinate;
import org.apache.maven.shared.transfer.dependencies.resolve.DependencyResolverException;

/**
Expand Down Expand Up @@ -137,14 +144,71 @@ protected void doExecute() throws MojoExecutionException {
}
}

/**
* This method resolves all transitive dependencies of an artifact.
*
* @param artifact the artifact used to retrieve dependencies
* @return resolved set of dependencies
* @throws DependencyResolverException in case of error while resolving artifacts.
*/
private Set<Artifact> resolveArtifactDependencies(final DependableCoordinate artifact)
throws DependencyResolverException {
ProjectBuildingRequest buildingRequest = newResolveArtifactProjectBuildingRequest();

Iterable<ArtifactResult> artifactResults =
getDependencyResolver().resolveDependencies(buildingRequest, artifact, null);

Set<Artifact> artifacts = new LinkedHashSet<>();

for (final ArtifactResult artifactResult : artifactResults) {
artifacts.add(artifactResult.getArtifact());
}

return artifacts;
}

/**
* @return {@link FilterArtifacts}
*/
private FilterArtifacts getArtifactsFilter() {
final FilterArtifacts filter = new FilterArtifacts();

if (excludeReactor) {

filter.addFilter(new ExcludeReactorProjectsArtifactFilter(reactorProjects, getLog()));
}

filter.addFilter(new ScopeFilter(
DependencyUtil.cleanToBeTokenizedString(this.includeScope),
DependencyUtil.cleanToBeTokenizedString(this.excludeScope)));

filter.addFilter(new TypeFilter(
DependencyUtil.cleanToBeTokenizedString(this.includeTypes),
DependencyUtil.cleanToBeTokenizedString(this.excludeTypes)));

filter.addFilter(new ClassifierFilter(
DependencyUtil.cleanToBeTokenizedString(this.includeClassifiers),
DependencyUtil.cleanToBeTokenizedString(this.excludeClassifiers)));

filter.addFilter(new GroupIdFilter(
DependencyUtil.cleanToBeTokenizedString(this.includeGroupIds),
DependencyUtil.cleanToBeTokenizedString(this.excludeGroupIds)));

filter.addFilter(new ArtifactIdFilter(
DependencyUtil.cleanToBeTokenizedString(this.includeArtifactIds),
DependencyUtil.cleanToBeTokenizedString(this.excludeArtifactIds)));

return filter;
}

/**
* This method resolves the plugin artifacts from the project.
*
* @return set of resolved plugin artifacts
* @throws ArtifactFilterException in case of an error
* @throws ArtifactResolverException in case of an error
*/
protected Set<Artifact> resolvePluginArtifacts() throws ArtifactFilterException, ArtifactResolverException {
private Set<Artifact> resolvePluginArtifacts() throws ArtifactFilterException, ArtifactResolverException {
final Set<Artifact> plugins = getProject().getPluginArtifacts();
final Set<Artifact> reports = getProject().getReportArtifacts();

Expand Down

0 comments on commit fd17de4

Please sign in to comment.