Uploaded image for project: 'Maven Shared Components'
  1. Maven Shared Components
  2. MSHARED-665

ASMDependencyAnalyzer.analyze(...) returns non-classes

    Details

      Description

      The ASMDependencyAnalyzer returns far to many bogus entries, which are not class names at all.

      The following is taken when the attached example project analyzes itself (java -jar target/dependency-analyzer-test-0.0.1-SNAPSHOT.jar file:target/dependency-analyzer-test-0.0.1-SNAPSHOT.jar):

      Error retrieving checksum file for 
      charset=([.[^; ]]*)
      java.lang.reflect.Array
      Unable to resolve context key: 
      RuntimeInvisibleAnnotations
      javax.swing.tree.TreeModel
      Repetition count must be > 0
      project information for 
      empty
      

      Note that this is not a problem in the classic dependency:analyze use case: The goal simply computes the set of class dependencies (which contain the aforementioned bogus class names) of the current project and compares them with the set of classes of its dependencies (this set is fine).

      If one wants to use the ASMDependencyAnalyzer as a standalone component, however, these bogus class name make it pretty much useless.

      Also, even in the dependency:analyze case, operating with sets that are a lot larger than necessary (there are typically way more strings than class names) may impact performance.

        Attachments

        1. example.zip
          1 kB
          Andreas Sewe

          Activity

            People

            • Assignee:
              rfscholte Robert Scholte
              Reporter:
              sewe Andreas Sewe
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: