Class DefaultProjectDependencyAnalyzer

    • Field Detail

      • classAnalyzer

        @Inject
        private ClassAnalyzer classAnalyzer
        ClassAnalyzer
      • dependencyAnalyzer

        @Inject
        private DependencyAnalyzer dependencyAnalyzer
        DependencyAnalyzer
    • Constructor Detail

      • DefaultProjectDependencyAnalyzer

        public DefaultProjectDependencyAnalyzer()
    • Method Detail

      • removeAll

        private static java.util.Set<org.apache.maven.artifact.Artifact> removeAll​(java.util.Set<org.apache.maven.artifact.Artifact> start,
                                                                                   java.util.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 java.util.Set<org.apache.maven.artifact.Artifact> getTestArtifactsWithNonTestScope​(java.util.Set<org.apache.maven.artifact.Artifact> testOnlyArtifacts)
      • buildArtifactClassMap

        protected java.util.Map<org.apache.maven.artifact.Artifact,​java.util.Set<java.lang.String>> buildArtifactClassMap​(org.apache.maven.project.MavenProject project,
                                                                                                                                ClassesPatterns excludedClasses)
                                                                                                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • buildMainDependencyClasses

        private java.util.Set<DependencyUsage> buildMainDependencyClasses​(org.apache.maven.project.MavenProject project,
                                                                          ClassesPatterns excludedClasses)
                                                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • buildTestDependencyClasses

        private java.util.Set<DependencyUsage> buildTestDependencyClasses​(org.apache.maven.project.MavenProject project,
                                                                          ClassesPatterns excludedClasses)
                                                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • buildDependencyClasses

        private java.util.Set<DependencyUsage> buildDependencyClasses​(java.lang.String path,
                                                                      ClassesPatterns excludedClasses)
                                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • buildDeclaredArtifacts

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

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

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