Class DefaultProjectDependencyAnalyzer

java.lang.Object
org.apache.maven.shared.dependency.analyzer.DefaultProjectDependencyAnalyzer
All Implemented Interfaces:
ProjectDependencyAnalyzer

@Named @Singleton public class DefaultProjectDependencyAnalyzer extends Object implements ProjectDependencyAnalyzer

DefaultProjectDependencyAnalyzer class.

  • Field Details

    • classAnalyzer

      @Inject private ClassAnalyzer classAnalyzer
      ClassAnalyzer
    • dependencyAnalyzer

      @Inject private DependencyAnalyzer dependencyAnalyzer
      DependencyAnalyzer
  • Constructor Details

    • DefaultProjectDependencyAnalyzer

      public DefaultProjectDependencyAnalyzer()
  • Method Details

    • analyze

      public ProjectDependencyAnalysis analyze(org.apache.maven.project.MavenProject project) throws ProjectDependencyAnalyzerException

      analyze.

      Specified by:
      analyze in interface ProjectDependencyAnalyzer
      Parameters:
      project - a MavenProject object
      Returns:
      a ProjectDependencyAnalysis object
      Throws:
      ProjectDependencyAnalyzerException - if any
    • removeAll

      private static Set<org.apache.maven.artifact.Artifact> removeAll(Set<org.apache.maven.artifact.Artifact> start, Set<org.apache.maven.artifact.Artifact> remove)
      This method defines a new way to remove the artifacts by using the conflict id. We don't care about the version here because there can be only 1 for a given artifact anyway.
      Parameters:
      start - initial set
      remove - set to exclude
      Returns:
      set with remove excluded
    • getTestArtifactsWithNonTestScope

      private static Set<org.apache.maven.artifact.Artifact> getTestArtifactsWithNonTestScope(Set<org.apache.maven.artifact.Artifact> testOnlyArtifacts)
    • buildArtifactClassMap

      private Map<org.apache.maven.artifact.Artifact,Set<String>> buildArtifactClassMap(org.apache.maven.project.MavenProject project) throws IOException
      Throws:
      IOException
    • buildTestOnlyDependencyClasses

      private static Set<String> buildTestOnlyDependencyClasses(Set<String> mainDependencyClasses, Set<String> testDependencyClasses)
    • buildMainDependencyClasses

      private Set<String> buildMainDependencyClasses(org.apache.maven.project.MavenProject project) throws IOException
      Throws:
      IOException
    • buildTestDependencyClasses

      private Set<String> buildTestDependencyClasses(org.apache.maven.project.MavenProject project) throws IOException
      Throws:
      IOException
    • buildDependencyClasses

      private Set<String> buildDependencyClasses(String path) throws IOException
      Throws:
      IOException
    • buildDeclaredArtifacts

      private static Set<org.apache.maven.artifact.Artifact> buildDeclaredArtifacts(org.apache.maven.project.MavenProject project)
    • buildUsedArtifacts

      private static Map<org.apache.maven.artifact.Artifact,Set<String>> buildUsedArtifacts(Map<org.apache.maven.artifact.Artifact,Set<String>> artifactClassMap, Set<String> dependencyClasses)
    • findArtifactForClassName

      private static org.apache.maven.artifact.Artifact findArtifactForClassName(Map<org.apache.maven.artifact.Artifact,Set<String>> artifactClassMap, String className)