Class ArtifactTransitivityFilter

  • All Implemented Interfaces:
    ArtifactsFilter

    public class ArtifactTransitivityFilter
    extends AbstractArtifactsFilter
    This filter will exclude everything that is not a dependency of the selected artifact.
    Version:
    $Id$
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Set<java.lang.String> transitiveArtifacts
      List of dependencyConflictIds of transitiveArtifacts
    • Constructor Summary

      Constructors 
      Constructor Description
      ArtifactTransitivityFilter​(org.apache.maven.artifact.Artifact artifact, org.apache.maven.project.ProjectBuildingRequest buildingRequest, org.apache.maven.project.ProjectBuilder projectBuilder)
      Use MavenSession.getProjectBuildingRequest() to get the buildingRequest.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean artifactIsATransitiveDependency​(org.apache.maven.artifact.Artifact artifact)
      Compares the artifact to the list of dependencies to see if it is directly included by this project
      private static boolean canFindCoreClass​(java.lang.String className)  
      java.util.Set<org.apache.maven.artifact.Artifact> filter​(java.util.Set<org.apache.maven.artifact.Artifact> artifacts)
      protected static boolean isMaven31()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • transitiveArtifacts

        private java.util.Set<java.lang.String> transitiveArtifacts
        List of dependencyConflictIds of transitiveArtifacts
    • Constructor Detail

      • ArtifactTransitivityFilter

        public ArtifactTransitivityFilter​(org.apache.maven.artifact.Artifact artifact,
                                          org.apache.maven.project.ProjectBuildingRequest buildingRequest,
                                          org.apache.maven.project.ProjectBuilder projectBuilder)
                                   throws org.apache.maven.project.ProjectBuildingException

        Use MavenSession.getProjectBuildingRequest() to get the buildingRequest. The projectBuilder should be resolved with CDI.

           // For Mojo
           @Component
           private ProjectBuilder projectBuilder;
        
           // For Components
           @Requirement // or @Inject
           private ProjectBuilder projectBuilder;
         
        Parameters:
        artifact - the artifact to resolve the dependencies from
        buildingRequest - the buildingRequest
        projectBuilder - the projectBuilder
        Throws:
        org.apache.maven.project.ProjectBuildingException - if the project descriptor could not be successfully built
    • Method Detail

      • isMaven31

        protected static boolean isMaven31()
        Returns:
        true if the current Maven version is Maven 3.1.
      • canFindCoreClass

        private static boolean canFindCoreClass​(java.lang.String className)
      • filter

        public java.util.Set<org.apache.maven.artifact.Artifact> filter​(java.util.Set<org.apache.maven.artifact.Artifact> artifacts)
        Parameters:
        artifacts - Artifact
        Returns:
        Set of artifacts.
      • artifactIsATransitiveDependency

        public boolean artifactIsATransitiveDependency​(org.apache.maven.artifact.Artifact artifact)
        Compares the artifact to the list of dependencies to see if it is directly included by this project
        Parameters:
        artifact - representing the item to compare.
        Returns:
        true if artifact is a transitive dependency