org.jvnet.maven.plugin.antrun
Class ExcludeArtifactsTransitivelyFilter

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.jvnet.maven.plugin.antrun.GraphFilter
          extended by org.jvnet.maven.plugin.antrun.ListFilter
              extended by org.jvnet.maven.plugin.antrun.AbstractArtifactsExclusionFilter
                  extended by org.jvnet.maven.plugin.antrun.ExcludeArtifactsTransitivelyFilter
All Implemented Interfaces:
java.lang.Cloneable, GraphVisitor

public final class ExcludeArtifactsTransitivelyFilter
extends AbstractArtifactsExclusionFilter

Filter DependencyGraph by excluding the specified set of artifacts. Any artifacts made unreachable by this process will be also excluded.

Informally, a node will remain in the graph only when it's reachable from the root without going through any of the excluded artifacts.

Here's the format definition.

Let normalize(G={r,V,E}) -> G'={r,V',E'} be defined as follows. This is an operation to remove unreachable nodes and edges.

  V' = { v | \exists r ->* v in G }
  E' = { (u,v) | u \in V' and v \in V' }
 
Given the graph G=(r,V,E) and exclusion nodes N, the new graph G' is defined as follows:
 G'=normalize(r,V-N),E)
 

Author:
Paul Sterk, Kohsuke Kawaguchi
See Also:
RemoveSpecificArtifactsFilter

Field Summary
 
Fields inherited from class org.jvnet.maven.plugin.antrun.AbstractArtifactsExclusionFilter
ids
 
Fields inherited from class org.jvnet.maven.plugin.antrun.GraphFilter
children
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
ExcludeArtifactsTransitivelyFilter()
           
ExcludeArtifactsTransitivelyFilter(java.util.Collection<java.lang.String> artifactIds)
           
ExcludeArtifactsTransitivelyFilter(java.lang.String... artifactIds)
           
ExcludeArtifactsTransitivelyFilter(java.lang.String artifactId)
           
 
Method Summary
 boolean visit(DependencyGraph.Node node)
          Visits a node.
 
Methods inherited from class org.jvnet.maven.plugin.antrun.AbstractArtifactsExclusionFilter
addArtifact, addConfiguredArtifact, resolve
 
Methods inherited from class org.jvnet.maven.plugin.antrun.ListFilter
process, visit
 
Methods inherited from class org.jvnet.maven.plugin.antrun.GraphFilter
add, evaluateChild, evaluateChild
 
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, log, log, setDescription, setLocation, setProject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ExcludeArtifactsTransitivelyFilter

public ExcludeArtifactsTransitivelyFilter(java.util.Collection<java.lang.String> artifactIds)
                                   throws java.io.IOException
Throws:
java.io.IOException

ExcludeArtifactsTransitivelyFilter

public ExcludeArtifactsTransitivelyFilter(java.lang.String... artifactIds)
                                   throws java.io.IOException
Throws:
java.io.IOException

ExcludeArtifactsTransitivelyFilter

public ExcludeArtifactsTransitivelyFilter(java.lang.String artifactId)
                                   throws java.io.IOException
Throws:
java.io.IOException

ExcludeArtifactsTransitivelyFilter

public ExcludeArtifactsTransitivelyFilter()
Method Detail

visit

public boolean visit(DependencyGraph.Node node)
Description copied from interface: GraphVisitor
Visits a node.

Returns:
false to cut the traversal here and don't visit any of forward edges from this node.


Copyright © 2011. All Rights Reserved.