Search in sources :

Example 1 with ArtifactIdFilter

use of org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter in project maven-dependency-plugin by apache.

the class AbstractResolveMojo method getPluginArtifactsFilter.

/**
 * @return {@link FilterArtifacts}
 */
protected FilterArtifacts getPluginArtifactsFilter() {
    if (excludeReactor) {
        final StringBuilder exAids = new StringBuilder();
        if (this.excludeArtifactIds != null) {
            exAids.append(this.excludeArtifactIds);
        }
        for (final MavenProject rp : reactorProjects) {
            if (!"maven-plugin".equals(rp.getPackaging())) {
                continue;
            }
            if (exAids.length() > 0) {
                exAids.append(",");
            }
            exAids.append(rp.getArtifactId());
        }
        this.excludeArtifactIds = exAids.toString();
    }
    final FilterArtifacts filter = new FilterArtifacts();
    // CHECKSTYLE_OFF: LineLength
    filter.addFilter(new org.apache.maven.shared.artifact.filter.collection.ScopeFilter(DependencyUtil.cleanToBeTokenizedString(this.includeScope), DependencyUtil.cleanToBeTokenizedString(this.excludeScope)));
    // CHECKSTYLE_ON: LineLength
    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;
}
Also used : ArtifactIdFilter(org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter) MavenProject(org.apache.maven.project.MavenProject) ClassifierFilter(org.apache.maven.shared.artifact.filter.collection.ClassifierFilter) FilterArtifacts(org.apache.maven.shared.artifact.filter.collection.FilterArtifacts) TypeFilter(org.apache.maven.shared.artifact.filter.collection.TypeFilter) GroupIdFilter(org.apache.maven.shared.artifact.filter.collection.GroupIdFilter)

Example 2 with ArtifactIdFilter

use of org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter in project maven-dependency-plugin by apache.

the class AbstractDependencyFilterMojo method getDependencySets.

/**
 * Method creates filters and filters the projects dependencies. This method also transforms the dependencies if
 * classifier is set. The dependencies are filtered in least specific to most specific order
 *
 * @param stopOnFailure true to fail if artifacts can't be resolved false otherwise.
 * @param includeParents <code>true</code> if parents should be included or not <code>false</code>.
 * @return DependencyStatusSets - Bean of TreeSets that contains information on the projects dependencies
 * @throws MojoExecutionException in case of errors.
 */
protected DependencyStatusSets getDependencySets(boolean stopOnFailure, boolean includeParents) throws MojoExecutionException {
    // add filters in well known order, least specific to most specific
    FilterArtifacts filter = new FilterArtifacts();
    filter.addFilter(new ProjectTransitivityFilter(getProject().getDependencyArtifacts(), this.excludeTransitive));
    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)));
    // start with all artifacts.
    Set<Artifact> artifacts = getProject().getArtifacts();
    if (includeParents) {
        // add dependencies parents
        for (Artifact dep : new ArrayList<Artifact>(artifacts)) {
            addParentArtifacts(buildProjectFromArtifact(dep), artifacts);
        }
        // add current project parent
        addParentArtifacts(getProject(), artifacts);
    }
    // perform filtering
    try {
        artifacts = filter.filter(artifacts);
    } catch (ArtifactFilterException e) {
        throw new MojoExecutionException(e.getMessage(), e);
    }
    // transform artifacts if classifier is set
    DependencyStatusSets status;
    if (StringUtils.isNotEmpty(classifier)) {
        status = getClassifierTranslatedDependencies(artifacts, stopOnFailure);
    } else {
        status = filterMarkedDependencies(artifacts);
    }
    return status;
}
Also used : ArtifactIdFilter(org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter) ProjectTransitivityFilter(org.apache.maven.shared.artifact.filter.collection.ProjectTransitivityFilter) ClassifierFilter(org.apache.maven.shared.artifact.filter.collection.ClassifierFilter) MojoExecutionException(org.apache.maven.plugin.MojoExecutionException) ArrayList(java.util.ArrayList) TypeFilter(org.apache.maven.shared.artifact.filter.collection.TypeFilter) DependencyStatusSets(org.apache.maven.plugins.dependency.utils.DependencyStatusSets) Artifact(org.apache.maven.artifact.Artifact) ArtifactFilterException(org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException) ScopeFilter(org.apache.maven.shared.artifact.filter.collection.ScopeFilter) FilterArtifacts(org.apache.maven.shared.artifact.filter.collection.FilterArtifacts) GroupIdFilter(org.apache.maven.shared.artifact.filter.collection.GroupIdFilter)

Example 3 with ArtifactIdFilter

use of org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter in project maven-plugins by apache.

the class AbstractResolveMojo method getPluginArtifactsFilter.

protected FilterArtifacts getPluginArtifactsFilter() {
    if (excludeReactor) {
        final StringBuilder exAids = new StringBuilder();
        if (this.excludeArtifactIds != null) {
            exAids.append(this.excludeArtifactIds);
        }
        for (final MavenProject rp : reactorProjects) {
            if (!"maven-plugin".equals(rp.getPackaging())) {
                continue;
            }
            if (exAids.length() > 0) {
                exAids.append(",");
            }
            exAids.append(rp.getArtifactId());
        }
        this.excludeArtifactIds = exAids.toString();
    }
    final FilterArtifacts filter = new FilterArtifacts();
    // CHECKSTYLE_OFF: LineLength
    filter.addFilter(new org.apache.maven.shared.artifact.filter.collection.ScopeFilter(DependencyUtil.cleanToBeTokenizedString(this.includeScope), DependencyUtil.cleanToBeTokenizedString(this.excludeScope)));
    // CHECKSTYLE_ON: LineLength
    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;
}
Also used : ArtifactIdFilter(org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter) MavenProject(org.apache.maven.project.MavenProject) ClassifierFilter(org.apache.maven.shared.artifact.filter.collection.ClassifierFilter) FilterArtifacts(org.apache.maven.shared.artifact.filter.collection.FilterArtifacts) TypeFilter(org.apache.maven.shared.artifact.filter.collection.TypeFilter) GroupIdFilter(org.apache.maven.shared.artifact.filter.collection.GroupIdFilter)

Example 4 with ArtifactIdFilter

use of org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter in project m2e-nar by maven-nar.

the class AbstractDependencyMojo method prepareNarArtifacts.

@SuppressWarnings("unchecked")
public void prepareNarArtifacts(final ConfiguratorContext context, IMavenProjectFacade facade, IProgressMonitor monitor) throws MojoExecutionException, CoreException, MojoFailureException {
    narDependencies = new LinkedList<NarArtifact>();
    FilterArtifacts filter = new FilterArtifacts();
    filter.addFilter(new GroupIdFilter(cleanToBeTokenizedString(this.includeGroupIds), cleanToBeTokenizedString(this.excludeGroupIds)));
    filter.addFilter(new ArtifactIdFilter(cleanToBeTokenizedString(this.includeArtifactIds), cleanToBeTokenizedString(this.excludeArtifactIds)));
    filter.addFilter(getArtifactScopeFilter());
    Set<Artifact> artifacts = getMavenProject().getArtifacts();
    // perform filtering
    try {
        artifacts = filter.filter(artifacts);
    } catch (ArtifactFilterException e) {
        throw new MojoExecutionException(e.getMessage(), e);
    }
    for (final Artifact dependency : artifacts) {
        getLog().debug("Examining artifact for NarInfo: " + dependency);
        NarLayout layout;
        EclipseNarLayout eclipseLayout = resolveEclipseProject(dependency, context, facade, monitor);
        NarInfo narInfo;
        if (eclipseLayout != null) {
            layout = eclipseLayout;
            narInfo = getNarInfo(dependency, eclipseLayout);
        } else {
            layout = getLayout();
            narInfo = getNarInfo(dependency);
        }
        if (narInfo != null) {
            getLog().debug("    - added as NarDependency");
            narDependencies.add(new NarArtifact(dependency, narInfo, layout));
        }
    }
    getLog().debug("Dependencies contained " + narDependencies.size() + " NAR artifacts.");
}
Also used : ArtifactFilterException(org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException) ArtifactIdFilter(org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter) MojoExecutionException(org.apache.maven.plugin.MojoExecutionException) FilterArtifacts(org.apache.maven.shared.artifact.filter.collection.FilterArtifacts) GroupIdFilter(org.apache.maven.shared.artifact.filter.collection.GroupIdFilter) Artifact(org.apache.maven.artifact.Artifact)

Example 5 with ArtifactIdFilter

use of org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter in project maven-plugins by apache.

the class AbstractDependencyFilterMojo method getDependencySets.

/**
 * Method creates filters and filters the projects dependencies. This method also transforms the dependencies if
 * classifier is set. The dependencies are filtered in least specific to most specific order
 *
 * @param stopOnFailure true to fail if artifacts can't be resolved false otherwise.
 * @param includeParents <code>true</code> if parents should be included or not <code>false</code>.
 * @return DependencyStatusSets - Bean of TreeSets that contains information on the projects dependencies
 * @throws MojoExecutionException in case of errors.
 */
protected DependencyStatusSets getDependencySets(boolean stopOnFailure, boolean includeParents) throws MojoExecutionException {
    // add filters in well known order, least specific to most specific
    FilterArtifacts filter = new FilterArtifacts();
    filter.addFilter(new ProjectTransitivityFilter(getProject().getDependencyArtifacts(), this.excludeTransitive));
    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)));
    // start with all artifacts.
    Set<Artifact> artifacts = getProject().getArtifacts();
    if (includeParents) {
        // add dependencies parents
        for (Artifact dep : new ArrayList<Artifact>(artifacts)) {
            addParentArtifacts(buildProjectFromArtifact(dep), artifacts);
        }
        // add current project parent
        addParentArtifacts(getProject(), artifacts);
    }
    // perform filtering
    try {
        artifacts = filter.filter(artifacts);
    } catch (ArtifactFilterException e) {
        throw new MojoExecutionException(e.getMessage(), e);
    }
    // transform artifacts if classifier is set
    DependencyStatusSets status;
    if (StringUtils.isNotEmpty(classifier)) {
        status = getClassifierTranslatedDependencies(artifacts, stopOnFailure);
    } else {
        status = filterMarkedDependencies(artifacts);
    }
    return status;
}
Also used : ArtifactIdFilter(org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter) ProjectTransitivityFilter(org.apache.maven.shared.artifact.filter.collection.ProjectTransitivityFilter) ClassifierFilter(org.apache.maven.shared.artifact.filter.collection.ClassifierFilter) MojoExecutionException(org.apache.maven.plugin.MojoExecutionException) ArrayList(java.util.ArrayList) TypeFilter(org.apache.maven.shared.artifact.filter.collection.TypeFilter) DependencyStatusSets(org.apache.maven.plugins.dependency.utils.DependencyStatusSets) Artifact(org.apache.maven.artifact.Artifact) ArtifactFilterException(org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException) ScopeFilter(org.apache.maven.shared.artifact.filter.collection.ScopeFilter) FilterArtifacts(org.apache.maven.shared.artifact.filter.collection.FilterArtifacts) GroupIdFilter(org.apache.maven.shared.artifact.filter.collection.GroupIdFilter)

Aggregations

ArtifactIdFilter (org.apache.maven.shared.artifact.filter.collection.ArtifactIdFilter)6 FilterArtifacts (org.apache.maven.shared.artifact.filter.collection.FilterArtifacts)6 GroupIdFilter (org.apache.maven.shared.artifact.filter.collection.GroupIdFilter)6 Artifact (org.apache.maven.artifact.Artifact)4 MojoExecutionException (org.apache.maven.plugin.MojoExecutionException)4 ArtifactFilterException (org.apache.maven.shared.artifact.filter.collection.ArtifactFilterException)4 ClassifierFilter (org.apache.maven.shared.artifact.filter.collection.ClassifierFilter)4 TypeFilter (org.apache.maven.shared.artifact.filter.collection.TypeFilter)4 ArrayList (java.util.ArrayList)3 MavenProject (org.apache.maven.project.MavenProject)3 ProjectTransitivityFilter (org.apache.maven.shared.artifact.filter.collection.ProjectTransitivityFilter)3 ScopeFilter (org.apache.maven.shared.artifact.filter.collection.ScopeFilter)3 DependencyStatusSets (org.apache.maven.plugins.dependency.utils.DependencyStatusSets)2 ArtifactRepository (org.apache.maven.artifact.repository.ArtifactRepository)1 VersionRange (org.apache.maven.artifact.versioning.VersionRange)1 Model (org.apache.maven.model.Model)1 InvalidProjectModelException (org.apache.maven.project.InvalidProjectModelException)1 ProjectBuildingException (org.apache.maven.project.ProjectBuildingException)1