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

Releases: Scout24/deadcode4j

v2.1.0

11 Feb 14:59
Compare
Choose a tag to compare

Features

Bug Fixes

  • Fixed XML text handling for subclasses of SimpleXmlAnalyzer

v2.0.1

23 Jan 09:00
Compare
Choose a tag to compare
  • The ReferenceToConstanstsAnalyzer now also recognizes references from nested classes to constants of the declaring class hierarchy; this also speeds up the analysis a tad.
  • Fixed #10: Correct calculation of anonymous classes' names

v2.0.0

15 Sep 19:01
Compare
Choose a tag to compare
  • 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

v1.5

11 Apr 13:46
Compare
Choose a tag to compare
  • Added analysis of aop.xml files: recognizing listed aspects as live code. Supports both AspectJ and AspectWerkz
  • Added analysis of .wsdd files: recognizing listed Service classes as live code
  • Spring XML analysis now also recognizes CXF endpoint definitions as live code. Supports the implementor/implementorClass attributes only; if you are using the implementor element: use the attribute instead.
  • Spring XML analysis now also recognizes classes executed by Quartz jobs as live code.
  • Spring XML analysis now also recognizes view classes used by view resolvers as live code.
  • The custom XML analyzer now allows to specify the predicate [@attributeName='attributeValue'] in the XPath definition
  • introduced goal find-only being the equivalent of find-without-packaging, except for having a better name
  • Added analysis of faces-config.xml files: recognizing listed classes as live code.
  • Added analysis of Spring Web Flow XML files: recognizing listed classes & types as live code.
  • Added analysis of Spring XML NamespaceHandlers: recognizing listed namespace handlers as live code.
  • Hibernate annotations
    • classes annotated with a org.hibernate.annotations.GenericGenerator that are referred by a class annotated with javax.persistence.GeneratedValue are recognized as live code.
    • a warning is issued if a @TypeDef is defined more than once with the same name
    • a warning is issued if a @GenericGenerator is defined more than once with the same name
  • Mark classes being annotated with the JAXB annotation javax.xml.bind.annotation.XmlRegistry as live code.
  • Added analysis of Apache Tiles XML definition files: recognizing listed classes as live code.
  • Added analysis of a JEE6 feature: recognizing implementations of javax.servlet.ServletContainerInitializer as live code.

v1.4.1

14 Nov 22:06
Compare
Choose a tag to compare
  • introduced new goal help

v1.4

09 Nov 12:27
Compare
Choose a tag to compare
  • More thorough analysis of web.xml files: look for the parameters specified by Spring's ContextLoader and FrameworkServlet
    • contextClass for an instance of ConfigurableWebApplicationContext
    • contextInitializerClasses for instances of ApplicationContextInitializer
  • Mark classes being annotated with the JAXB annotation javax.xml.bind.annotation.XmlSchema as live code
  • Processing of Hibernate Annotations
  • Mark classes being annotated with those JSF annotations as live code:
    • javax.faces.component.behavior.FacesBehavior
    • javax.faces.convert.FacesConverter
    • javax.faces.event.ListenerFor
    • javax.faces.event.ListenersFor
    • javax.faces.event.NamedEvent
    • javax.faces.render.FacesBehaviorRenderer
    • javax.faces.render.FacesRenderer
    • javax.faces.validator.FacesValidator
    • javax.faces.view.facelets.FaceletsResourceResolver
  • Added possibility to specify which modules should be skipped (configuration parameter modulesToSkip)
  • Mark classes being direct subclasses of org.exolab.castor.xml.util.XMLClassDescriptorImpl as live code
  • Added possibility to specify which classes mark a direct subclass of those as being live code (configuration parameter superClassesMarkingLiveCode)
  • Added possibility to specify which interfaces being explicitly implemented mark a class as beig live code (configuration parameter interfacesMarkingLiveCode)

v1.3

26 Oct 22:02
Compare
Choose a tag to compare
  • Mark classes being annotated with those JEE annotations as live code:
  • Mark classes being annotated with those Spring annotations as live code:
    • org.springframework.stereotype.Component
    • org.springframework.stereotype.Controller
    • org.springframework.stereotype.Service
    • org.springframework.stereotype.Repository
    • org.springframework.context.annotation.Configuration
    • org.springframework.jmx.export.annotation.ManagedResource
  • Added possibility to specify which annotations mark a class as being live code
  • Added possibility to specify a custom XML analyzer treating either an element's text or attribute as a used class

v1.2.0

12 Oct 23:11
Compare
Choose a tag to compare
  • Added analysis of web.xml files: recognizing listed listeners, filters & servlets as live code
  • Added analysis of *tld files: recognizing custom tags, tag extra infos, listeners, tag library validators & EL functions as live code
  • Execute package phase, scan webappDirectory/WEB-INF additionally to the output directory
  • Mojo is now marked as an aggregator, analyzing all projects of a reactor

v1.1.0

04 Oct 19:25
Compare
Choose a tag to compare

Added analysis of Spring XML files to determine if a class is used.

v1.0.1

02 Oct 18:17
Compare
Choose a tag to compare

Allows to ignore classes that are known to be no dead code.