:microscope: Java Code Coverage Library
switch
statements on java.lang.String
values is filtered out during generation of report (GitHub #735, #741, #746).lateinit
property is filtered out during generation of report. Implementation by Fabian Mastenbroek (GitHub #707).else
of when
expressions that list all cases of enum
or sealed class
is filtered out during generation of report (GitHub #721, #729, #749).kotlin.String
values is filtered out during generation of report (GitHub #737, #746).runtime
or class
and whose simple name is Generated
are filtered out during generation of report (GitHub #731).switch
statement on java.lang.String
values with a small number cases is now correctly filtered out during generation of report (GitHub #730).sourcefilename
on the class
element to allow unambiguously relate classes to source files. The JaCoCo DTD version has been updated to 1.1 (GitHub #702).check
goal and Ant check
element now also supports percentage values (GitHub #534).Automatic-Module-Name
for Java 9 (GitHub #565).runtime
and provided
dependencies (GitHub #498, #572).During creation of reports various compiler generated artifacts are filtered out, which otherwise require unnecessary and sometimes impossible tricks to not have partial or missed coverage:
valueOf
and values
of enum types (GitHub #491).@lombok.Generated
to better integrate with Lombok >= 1.16.14. Initial analysis and contribution by Rüdiger zu Dohna (@t1) (GitHub #513).@groovy.transform.Generated
to better integrate with Groovy >= 2.5.0. Thanks to Andres Almiray (@aalmiray) for adding the annotation to Groovy (GitHub #610).synchronized
blocks (GitHub #501).finally
blocks (GitHub #604).switch
statements on java.lang.String
values (GitHub #596).Note: Tools that directly read exec files and embed JaCoCo for this (such as SonarQube or Jenkins) will provide filtering functionality only after they updated to this version of JaCoCo.
dump
commands now report error when server unexpectedly closes connection without sending response (GitHub #538).help
goal that was missing in version 0.7.9 (GitHub #559).NullPointerException
during offline instrumentation of module-info.class (GitHub #600, GitHub #634).InnerClasses
attribute caused by bug in ASM library (GitHub #600).NegativeArraySizeException
during instrumentation caused by bug in ASM library (GitHub #600).java.lang.ClassFormatError: Short length on BootstrapMethods in class file
" caused by bug in ASM library (GitHub #462).java.lang.ClassNotFoundException
might be thrown (GitHub #177).ExecutionDataWriter.FORMAT_VERSION
is not a compile-time constant (GitHub #474).JaCoCo.ASM_API_VERSION
removed (GitHub #474).uses
directives, Require-Capability
attribute, and export of all internal packages with x-internal:=true directive
(GitHub #211).jacocoant.jar
that contains all dependencies (GitHub #211).jacoco.dataFile
for parameter dataFile
of Maven report
goal (GitHub #322).RoundingMode#FLOOR
instead of RoundingMode#HALF_EVEN
for percentages in HTML report, so that "99.5" is displayed as "99%", not as "100%" (GitHub #452).IllegalAccessError
will be thrown starting from OpenJDK 9 EA b127 (GitHub #434).IncompatibleClassChangeError
starting from OpenJDK 9 EA b122 (GitHub #428).inclnolocationclasses
to support execution environments like Android where no source location is provided with classes (GitHub #288).MBeanClient
example (GitHub #333).ConcurrentModificationException
during shutdown (GitHub #364).ExecutionDataReader.read()
now throws a IncompatibleExecDataVersionException
.lifecycle-mapping-metadata.xml
for M2E (GitHub #203).