Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Configuration cache (JVM-local support only, just an idea) #721

Closed
wants to merge 6 commits into from

Commits on Oct 16, 2020

  1. Configuration menu
    Copy the full SHA
    84aedee View commit details
    Browse the repository at this point in the history
  2. If apply is going to run, there's no need for check to run. Moved the…

    … place where this is handled to be config-cache friendly.
    nedtwigg committed Oct 16, 2020
    Configuration menu
    Copy the full SHA
    5c70c0f View commit details
    Browse the repository at this point in the history
  3. Our main problem is that spotlessFooApply and spotlessFooCheck ne…

    …ed to reference the "worker" task `spotlessFoo` to do various things. We create a `SpotlessTaskService implements BuildService` to serve this role, which allows configuration cache to complete without errors.
    nedtwigg committed Oct 16, 2020
    Configuration menu
    Copy the full SHA
    3e20f1b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d0b0711 View commit details
    Browse the repository at this point in the history
  5. A "private static SpotlessTaskService", which allows us to grab the S…

    …potlessTask from a previous build (the last build which actually configured)
    nedtwigg committed Oct 16, 2020
    Configuration menu
    Copy the full SHA
    a8f4798 View commit details
    Browse the repository at this point in the history
  6. But this classloader solution isn't perfect, because Gradle throws de…

    …serialization error:
    
    ```
    Caused by: java.lang.InstantiationError: [B
    	at org.gradle.instantexecution.serialization.beans.BeanPropertyReader.newBean(BeanPropertyReader.kt:58)
    	at org.gradle.instantexecution.serialization.beans.BeanStateReader$DefaultImpls.newBeanWithId(BeanStateReader.kt:25)
    	at org.gradle.instantexecution.serialization.beans.BeanPropertyReader.newBeanWithId(BeanPropertyReader.kt:37)
    ```
    nedtwigg committed Oct 16, 2020
    Configuration menu
    Copy the full SHA
    3986fe6 View commit details
    Browse the repository at this point in the history