The :configuration-cache-report
project produces the Javascript / HTML
app for browsing and understanding problems occurred when running a
build with configuration caching.
The output of :configuration-cache-report
is completely produced by the
assembleReport
task into build/report
which then gets published to repo.grdev.net.
It's consumed by gradle/gradle
's configuration-cache
module.
The interface between :configuration-cache
and
:configuration-cache-report
is a Javascript global function named
configurationCacheProblems
which must be defined in a file named
configuration-cache-report-data.js
. The file is generated by the
:configuration-cache
module from the data collected at configuration
time.
An example file is kept for documentation and testing purposes.
The app itself is built according to the Elm architecture.
Start a build on one shell:
$ ./gradlew stageDevReport
Start browser-sync
(https://browsersync.io/) on another:
$ browser-sync start -s build/stageDevReport --startPath configuration-cache-report.html -w
Then make some changes and start the build again:
$ ./gradlew stageDevReport
Hack away!
To quickly make and verify changes for gradle/gradle
build, you can run (this assumes you have cloned configuration-cache-report
in the same directory as gradle
):
./gradlew <TheTaskToBeRunInGradleBuild> --include-build ../configuration-cache-report -Dorg.gradle.dependency.verification=lenient