An open API service indexing awesome lists of open source software.

https://github.com/gradle/configuration-cache-report


https://github.com/gradle/configuration-cache-report

gradle-bt gradle-bt-core-configuration

Last synced: 3 months ago
JSON representation

Awesome Lists containing this project

README

        

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](https://github.com/gradle/gradle/tree/master/subprojects/configuration-cache).

## 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](./src/test/resources/configuration-cache-report-data.js)
is kept for documentation and testing purposes.

The app itself is built according to [the Elm
architecture](https://guide.elm-lang.org/architecture/).

## Setting up a quick feedback loop

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!

## 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 --include-build ../configuration-cache-report -Dorg.gradle.dependency.verification=lenient
```