Example usage for org.apache.maven.artifact.resolver ResolutionNode filterTrail

List of usage examples for org.apache.maven.artifact.resolver ResolutionNode filterTrail

Introduction

In this page you can find the example usage for org.apache.maven.artifact.resolver ResolutionNode filterTrail.

Prototype

public boolean filterTrail(ArtifactFilter filter) throws OverConstrainedVersionException 

Source Link

Usage

From source file:com.adviser.maven.GraphArtifactCollector.java

License:Apache License

public ArtifactResolutionResult collect(Set<Artifact> artifacts, Artifact originatingArtifact,
        Map managedVersions, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories,
        ArtifactMetadataSource source, ArtifactFilter filter, List<ResolutionListener> listeners) {
    Map resolvedArtifacts = new HashMap();

    ResolutionNode root = new ResolutionNode(originatingArtifact, remoteRepositories);
    try {//from   ww w .j a v  a 2  s  . c om
        root.addDependencies(artifacts, remoteRepositories, filter);
        recurse(root, resolvedArtifacts, managedVersions, localRepository, remoteRepositories, source, filter,
                listeners);
    } catch (CyclicDependencyException e) {
        e.printStackTrace();
    } catch (OverConstrainedVersionException e) {
        e.printStackTrace();
    } catch (ArtifactResolutionException e) {
        e.printStackTrace();
    }

    Set set = new HashSet();
    for (Iterator i = resolvedArtifacts.values().iterator(); i.hasNext();) {
        List nodes = (List) i.next();
        for (Iterator j = nodes.iterator(); j.hasNext();) {
            ResolutionNode node = (ResolutionNode) j.next();
            Artifact artifact = node.getArtifact();
            try {
                if (!node.equals(root) && node.isActive() && node.filterTrail(filter)
                // If it was optional and not a direct dependency,
                // we don't add it or its children, just allow the
                // update of the version and scope
                        && (node.isChildOfRootNode() || !artifact.isOptional())) {
                    artifact.setDependencyTrail(node.getDependencyTrail());
                    set.add(node);
                }
            } catch (OverConstrainedVersionException e) {
                e.printStackTrace();
            }
        }
    }

    ArtifactResolutionResult result = new ArtifactResolutionResult();
    result.setArtifactResolutionNodes(set);
    return result;
}

From source file:org.apache.felix.karaf.tooling.features.GraphArtifactCollector.java

License:Apache License

public ArtifactResolutionResult collect(Set artifacts, Artifact originatingArtifact, Map managedVersions,
        ArtifactRepository localRepository, List remoteRepositories, ArtifactMetadataSource source,
        ArtifactFilter filter, List listeners) throws ArtifactResolutionException {
    Map resolvedArtifacts = new HashMap();

    ResolutionNode root = new ResolutionNode(originatingArtifact, remoteRepositories);
    root.addDependencies(artifacts, remoteRepositories, filter);
    recurse(root, resolvedArtifacts, managedVersions, localRepository, remoteRepositories, source, filter,
            listeners);//  www.ja v a  2s .  c om

    Set set = new HashSet();
    for (Iterator i = resolvedArtifacts.values().iterator(); i.hasNext();) {
        List nodes = (List) i.next();
        for (Iterator j = nodes.iterator(); j.hasNext();) {
            ResolutionNode node = (ResolutionNode) j.next();
            Artifact artifact = node.getArtifact();
            if (!node.equals(root) && node.isActive() && node.filterTrail(filter)
            // If it was optional and not a direct dependency,
            // we don't add it or its children, just allow the
            // update of the version and scope
                    && (node.isChildOfRootNode() || !artifact.isOptional())) {
                artifact.setDependencyTrail(node.getDependencyTrail());
                set.add(node);
            }
        }
    }

    ArtifactResolutionResult result = new ArtifactResolutionResult();
    result.setArtifactResolutionNodes(set);
    return result;
}