Android Root Coverage Plugin Versions Save

A Gradle Plugin for Android developers that automatically configures Jacoco code coverage tasks for both combined and per module coverage reports, easier than ever.

release-1.8.0-SNAPSHOT

6 months ago

SNAPSHOT pre-release with support for Android Gradle Plugin 8.3.0-alpha05.

Changed:

  • Minimum required Gradle version is now 8.4 (Google claims 8.3 but that does not seem to be true)
  • Minimum required Android Gradle Plugin is now 8.3.0-alpha05
  • Java version is raised to 17 as well as Kotlin to 1.8.22

Fixed:

  • Plugin not working on AGP 8.0+ (Fixes: #82)

New:

  • Support for Gradle Configuration Cache (Fixes: #81)

release-1.8.0

6 months ago

Changed:

  • Minimum required Gradle version is now 8.4
  • Minimum required Android Gradle Plugin is now 8.3.0-alpha05
  • Java version is raised to 17 as well as Kotlin to 1.9.23

Fixed:

  • Plugin not working on AGP 8.0+ (Fixes: #82)

New:

  • Support for Gradle Configuration Cache (Fixes: #81)

release-1.7.1

6 months ago
  • Fixes #90: Error when using executeAndroidTests=false without defining a Gradle Managed Device

release-1.7.0

6 months ago
  • Compatible with Android Gradle Plugin 7.4+
  • Compatible with Gradle version 7.5+

New:

  • Added: (experimental) support for running, and using test coverage results from, Gradle Managed Devices

Note: A SNAPSHOT 1.8.0 build that supports Android Gradle Plugin 8.3 is work-in-progress, and I expect to soon release the first SNAPSHOT.

release-1.6.0

1 year ago
  • Compatible with Android Gradle Plugin 7.3+
  • Compatible with Gradle version 7.4+

Changed:

  • The plugin now also checks enableUnitTestCoverage and enableAndroidTestCoverage as well as the now (in AGP 7.3) deprecated property testCoverageEnabled.
  • executeTests configuration property has been deprecated. To follow the convention of the Android Gradle Plugin, it makes sense to only support the specific executeAndroidTests and executeUnitTests properties (just like AGP 7.3 now has enableUnitTestCoverage and enableAndroidTestCoverage).

release-1.5.3

1 year ago

Bug-fixes:

  • Fixes #64 - On Windows during the Gradle configuration phase the plugin would create a file path with an invalid character, this is now fixed.

release-1.5.2

1 year ago

Bug-fixes:

  • Fixes #60 - Source code not included in HTML reports, introduced in release 1.5.1 while implementing a workaround for #54. A test case has been added to prevent this from breaking in the future.

release-1.5.1

1 year ago

Bug-fixes:

  • Fixes #54 - BuildConfig files where no longer generated or disappeared, this is caused by a bug in AGP 7.2, a workaround has been implemented fixing the issue.

release-1.5.0

2 years ago

Google finally released a stable version of the Android Gradle Plugin 7.2 that fixes #36 , a bug introduced in Android Gradle Plugin 7.0 🥳.

  • Compatible with Android Gradle Plugin 7.2+
  • Compatible with Gradle version 7.3+

New:

  • Adds a minimum required Android Gradle Plugin version check, using an Android Gradle Plugin version that is too old will result in a Gradle build error.

Changed:

  • Most of the plugin has been rewritten to only make use of public Android Gradle Plugin API's, functionally this should not change anything compared to previous releases.
  • No longer logs warning messages for (sub)projects (modules) that do not use the Android Gradle Plugin. Instead this is now an info message. This info message will only show for (sub)projects that have a build.gradle file (see #45).
  • The "Jacoco has been automatically applied" message will no longer be shown, instead this plugin always applies JaCoCo for you when required.

Breaking changes:

None

Bug-fixes:

  • Potentially fixes #42, since JaCoCo will now always be applied by the plugin at the root project.

Known issues

  • #54 BuildConfig files may disappear or are not generated. This is caused by a bug in the Android Gradle Plugin version 7.2, a workaround has been released in 1.5.1.

release-1.4.0

3 years ago

New:

  • Support for Android Gradle Plugin 4.1 (although version 1.3.0 also works fine with AGP 4.1).
  • Support for per module code coverage. Generate a module specific report by running ./gradlew yourModule:coverageReport.
  • New configuration option includeNoLocationClasses which (like the name implies) sets Jacoco's includeNoLocationClasses. This makes using the plugin in combination with Robolectric easier, since Robolectric often requires includeNoLocationClasses to be set to true.

Changed:

  • The "Jacoco has been automatically applied" message is not longer a warning but now an info message.
  • The Gradle task rootCoverageReport (generated in the root project) has been renamed to coverageReport, the old task still works but will generate a warning when used. To run all coverage tasks execute ./gradlew coverageReport, to just run the combined (root) coverage report task use ./gradlew :coverageReport (pay attention to the double colon :). To run coverage for a specific module use ./gradlew :yourModule:coverageReport.

Breaking changes:

None

Bug-fixes:

None