InstantExecutionTaskActionsIntegrationTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Simplify and improve the reliability of serializing classes to the instant execution cache.

Fixes a case where loading the instant execution cache after writing a task graph that references a different set of build scripts to that referenced last time the task graph was written.

    • -47
    • +81
    ./InstantExecutionTaskActionsIntegrationTest.groovy
  1. … 5 more files in changeset.
Fix `ClassNotFoundExeception` when loading objects whose class is defined in a build script from the instant execution cache, after recreating the cache from a daemon process that has previously successfully used the cache.

For example, running `gradle taskA`, `gradle taskA`, `gradle taskB`, `gradle taskB` would fail if `taskB` uses types from a build script.

This was happening because the script ClassLoaders are cached and reused, but the association between ClassLoader and scope was lost, and this association is what instant execution uses to know how to load the class.

This change fixes one case of this problem, but the same problem can still happen if the set of build scripts being referenced changes.

    • -12
    • +66
    ./InstantExecutionTaskActionsIntegrationTest.groovy
  1. … 21 more files in changeset.
Fix `ClassNotFoundExeception` when loading objects whose class is defined in a build script from the instant execution cache, after recreating the cache from a daemon process that has previously successfully used the cache.

For example, running `gradle taskA`, `gradle taskA`, `gradle taskB`, `gradle taskB` would fail if `taskB` uses types from a build script.

This was happening because the script ClassLoaders are cached and reused, but the association between ClassLoader and scope was lost, and this association is what instant execution uses to know how to load the class.

This change fixes one case of this problem, but the same problem can still happen if the set of build scripts being referenced changes.

    • -12
    • +66
    ./InstantExecutionTaskActionsIntegrationTest.groovy
  1. … 21 more files in changeset.
Record the ClassLoader associated with each class that is serialized to the instant execution cache, and use this to make class lookup on deserialize faster and to deal correctly with multiple classes with the same name.

Move some ClassLoader lifecycling from Groovy DSL script compilation to `ClassLoaderScope`, so that the scope takes care of creating and caching the script ClassLoader.

    • -4
    • +0
    ./InstantExecutionTaskActionsIntegrationTest.groovy
  1. … 30 more files in changeset.
Record the ClassLoader associated with each class that is serialized to the instant execution cache, and use this to make class lookup on deserialize faster and to deal correctly with multiple classes with the same name.

Move some ClassLoader lifecycling from Groovy DSL script compilation to `ClassLoaderScope`, so that the scope takes care of creating and caching the script ClassLoader.

    • -4
    • +0
    ./InstantExecutionTaskActionsIntegrationTest.groovy
  1. … 23 more files in changeset.
Record the ClassLoader associated with each class that is serialized to the instant execution cache, and use this to make class lookup on deserialize faster and to deal correctly with multiple classes with the same name.

Move some ClassLoader lifecycling from Groovy DSL script compilation to `ClassLoaderScope`, so that the scope takes care of creating and caching the script ClassLoader.

    • -4
    • +0
    ./InstantExecutionTaskActionsIntegrationTest.groovy
  1. … 23 more files in changeset.
Record the ClassLoader associated with each class that is serialized to the instant execution cache, and use this to make class lookup on deserialize faster and to deal correctly with multiple classes with the same name.

Move some ClassLoader lifecycling from Groovy DSL script compilation to `ClassLoaderScope`, so that the scope takes care of creating and caching the script ClassLoader.

    • -4
    • +0
    ./InstantExecutionTaskActionsIntegrationTest.groovy
  1. … 30 more files in changeset.
Polish task actions test

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -1
    • +0
    ./InstantExecutionTaskActionsIntegrationTest.groovy
Polish task actions test

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -1
    • +0
    ./InstantExecutionTaskActionsIntegrationTest.groovy
Polish task actions test

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -1
    • +0
    ./InstantExecutionTaskActionsIntegrationTest.groovy
Add some coverage for captured task actions

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -0
    • +180
    ./InstantExecutionTaskActionsIntegrationTest.groovy
  1. … 1 more file in changeset.
Add some coverage for captured task actions

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -0
    • +180
    ./InstantExecutionTaskActionsIntegrationTest.groovy
  1. … 1 more file in changeset.
Add some coverage for captured task actions

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -0
    • +180
    ./InstantExecutionTaskActionsIntegrationTest.groovy
  1. … 1 more file in changeset.
Add some coverage for captured task actions

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -0
    • +180
    ./InstantExecutionTaskActionsIntegrationTest.groovy
  1. … 1 more file in changeset.