Skip to content
This repository has been archived by the owner on Mar 11, 2024. It is now read-only.

v2.0.0

Compare
Choose a tag to compare
@sebastiankirsch sebastiankirsch released this 15 Sep 19:01
· 150 commits to master since this release
  • Gather & send usage statistics
  • Perform an update check
  • ByteCodeAnalyzers know have access to the full class path
    • AnnotationsAnalyzer now
      • recursively examines the annotations
      • examines the superclasses for annotations marked with @Inherited
    • InterfacesAnalyzer now determines implementation even if by a superclass or inherited by other interface
    • SuperClassAnalyzer now analyzes the whole class hierarchy
  • Introduced TypeErasureAnalyzer which finds references that are not found in the byte code due to type erasure
  • Introduced ReferenceToConstantsAnalyzer which finds references that are not found in the byte code due to constants inlining
    • to be precise, this analyzer finds references to all constants, not only to those that are inlined
  • Added analysis of Spring Data custom repositories: recognizing custom implementations as live code.
    • only recognizes custom implementations following the default naming convention RepositoryNameImpl
  • Custom analyzers now report if a configured annotation, interface, superclass or XPath isn't found in the class path and thus could be removed
  • SpringWebXmlAnalyzer now recognizes classes listed within the contextConfigLocation init-parameter
  • Added analysis of Jetty XML configuration files: recognizing listed class and type attributes as live code
  • Added possibility to mark all classes with a main method as live code
  • made deadcode4j more resilient: failing to analyze a file does not lead to termination any longer
  • removed deprecated goal find-without-packaging