Skip to content

gradle/configuration-cache-report

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.

Architecture

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.

Setting up a quick feedback loop

Start a build on one shell:

$ ./gradlew stageDevReport

Start browser-sync 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!

Development with gradle/gradle and composite build

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