Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
maven-dependency-analyzer-1.7
-
None
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.