vanniktech / gradle-android-junit-jacoco-plugin

Gradle plugin that generates JaCoCo reports from an Android Gradle Project
http://vanniktech.com
Apache License 2.0
399 stars 72 forks source link

Fix slow file traversal in configuration phase #163

Closed fo2rist closed 5 years ago

fo2rist commented 5 years ago

Replace .files with .getFrom() for ConfigurableFileCollection objects .files list all folder content that could be slow for the second build b/c at that time build folder is not empty.

Context: mergedReportTask.classDirectories += classDirectories format of adding new files to class directories of Jacoco task was replaced in PR #151 b/c of the bug in Gradle with mergedReportTask.classDirectories.setFrom(classDirectories.files + mergedReportTask.classDirectories.files) format, that doesn't cause crash but travers the folder and slow down the configuration. The fix is to replace it with: mergedReportTask.classDirectories.setFrom(classDirectories.getFrom() + mergedReportTask.classDirectories.getFrom())

Disclaimer: I don't have enough expertise in Gradle to tell if using getFrom is the best or even correct solution, but it works on my repo.

codecov[bot] commented 5 years ago

Codecov Report

Merging #163 into master will not change coverage. The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff            @@
##             master     #163   +/-   ##
=========================================
  Coverage     88.06%   88.06%           
  Complexity       43       43           
=========================================
  Files             1        1           
  Lines           176      176           
  Branches         24       24           
=========================================
  Hits            155      155           
  Misses           13       13           
  Partials          8        8
Impacted Files Coverage Δ Complexity Δ
...ktech/android/junit/jacoco/GenerationPlugin.groovy 88.06% <100%> (ø) 43 <0> (ø) :arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 9607c93...20d4dae. Read the comment docs.