internal

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Do not hash the implementation classpath for a Groovy DSL script to use for in-memory script caching, but instead use the parent `ClassLoader` identity and the hash of the script itself, as this is faster and identifies the script implementation equally well.

This was the previous behavior, which was accidentally changed in a previous commit. This commit restores the previous behaviour but in a way that (hopefully) is harder to accidentally break in the future.

    • -3
    • +1
    ./DefaultScriptCompilationHandler.java
  1. … 8 more files in changeset.
Do not hash the implementation classpath for a Groovy DSL script to use for in-memory script caching, but instead use the parent `ClassLoader` identity and the hash of the script itself, as this is faster and identifies the script implementation equally well.

This was the previous behavior, which was accidentally changed in a previous commit. This commit restores the previous behaviour but in a way that (hopefully) is harder to accidentally break in the future.

    • -3
    • +1
    ./DefaultScriptCompilationHandler.java
  1. … 9 more files in changeset.
Do not hash the implementation classpath for a Groovy DSL script to use for in-memory script caching, but instead use the parent `ClassLoader` identity and the hash of the script itself, as this is faster and identifies the script implementation equally well.

This was the previous behavior, which was accidentally changed in a previous commit. This commit restores the previous behaviour but in a way that (hopefully) is harder to accidentally break in the future.

    • -3
    • +1
    ./DefaultScriptCompilationHandler.java
  1. … 8 more files in changeset.
Do not hash the implementation classpath for a Groovy DSL script to use for in-memory script caching, but instead use the parent `ClassLoader` identity and the hash of the script itself, as this is faster and identifies the script implementation equally well.

This was the previous behavior, which was accidentally changed in a previous commit. This commit restores the previous behaviour but in a way that (hopefully) is harder to accidentally break in the future.

    • -3
    • +1
    ./DefaultScriptCompilationHandler.java
  1. … 9 more files in changeset.
make inner classes static where possible

Signed-off-by: Steven Crockett <crockett.j.steven@gmail.com>

    • -1
    • +1
    ./BuildOperationBackedScriptCompilationHandler.java
    • -1
    • +1
    ./TaskDefinitionScriptTransformer.java
  1. … 41 more files in changeset.
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.

    • -5
    • +8
    ./DefaultScriptCompilationHandler.java
  1. … 7 more files in changeset.
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.

    • -5
    • +8
    ./DefaultScriptCompilationHandler.java
  1. … 5 more files in changeset.
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.

    • -5
    • +8
    ./DefaultScriptCompilationHandler.java
  1. … 7 more files in changeset.
Fix for previous commit.

    • -8
    • +11
    ./DefaultScriptCompilationHandler.java
Fix for previous commit.

    • -8
    • +11
    ./DefaultScriptCompilationHandler.java
Fix for previous commit.

    • -1
    • +1
    ./DefaultScriptCompilationHandler.java
Fix for previous commit.

    • -1
    • +1
    ./DefaultScriptCompilationHandler.java
Fix for previous commit.

    • -2
    • +1
    ./DefaultScriptCompilationHandler.java
Fix for previous commit.

    • -2
    • +1
    ./DefaultScriptCompilationHandler.java
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.

    • -0
    • +1
    ./CrossBuildInMemoryCachingScriptClassCache.java
    • -12
    • +27
    ./DefaultScriptCompilationHandler.java
    • -0
    • +5
    ./FileCacheBackedScriptClassCompiler.java
  1. … 22 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.

    • -0
    • +1
    ./CrossBuildInMemoryCachingScriptClassCache.java
    • -5
    • +18
    ./DefaultScriptCompilationHandler.java
    • -0
    • +5
    ./FileCacheBackedScriptClassCompiler.java
  1. … 18 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.

    • -0
    • +1
    ./CrossBuildInMemoryCachingScriptClassCache.java
    • -12
    • +27
    ./DefaultScriptCompilationHandler.java
    • -0
    • +5
    ./FileCacheBackedScriptClassCompiler.java
  1. … 22 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.

    • -0
    • +1
    ./CrossBuildInMemoryCachingScriptClassCache.java
    • -5
    • +18
    ./DefaultScriptCompilationHandler.java
    • -0
    • +5
    ./FileCacheBackedScriptClassCompiler.java
  1. … 18 more files in changeset.
Remove duplicate vendor from javaVmVersion String

    • -1
    • +1
    ./RegistryAwareClassLoaderHierarchyHasher.java
Do not follow symlinks when removing work outputs

    • -3
    • +3
    ./DefaultScriptCompilationHandler.java
  1. … 18 more files in changeset.
Do not follow symlinks when removing work outputs

    • -3
    • +3
    ./DefaultScriptCompilationHandler.java
  1. … 17 more files in changeset.
Do not follow symlinks when removing work outputs

    • -3
    • +3
    ./DefaultScriptCompilationHandler.java
  1. … 17 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.

    • -3
    • +2
    ./BuildOperationBackedScriptCompilationHandler.java
    • -3
    • +2
    ./BuildScopeInMemoryCachingScriptClassCompiler.java
    • -3
    • +1
    ./CrossBuildInMemoryCachingScriptClassCache.java
    • -21
    • +8
    ./DefaultScriptCompilationHandler.java
    • -6
    • +3
    ./FileCacheBackedScriptClassCompiler.java
  1. … 24 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.

    • -3
    • +2
    ./BuildOperationBackedScriptCompilationHandler.java
    • -3
    • +2
    ./BuildScopeInMemoryCachingScriptClassCompiler.java
    • -3
    • +1
    ./CrossBuildInMemoryCachingScriptClassCache.java
    • -21
    • +8
    ./DefaultScriptCompilationHandler.java
    • -6
    • +3
    ./FileCacheBackedScriptClassCompiler.java
  1. … 17 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.

    • -3
    • +2
    ./BuildOperationBackedScriptCompilationHandler.java
    • -3
    • +2
    ./BuildScopeInMemoryCachingScriptClassCompiler.java
    • -3
    • +1
    ./CrossBuildInMemoryCachingScriptClassCache.java
    • -21
    • +8
    ./DefaultScriptCompilationHandler.java
    • -6
    • +3
    ./FileCacheBackedScriptClassCompiler.java
  1. … 17 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.

    • -3
    • +2
    ./BuildOperationBackedScriptCompilationHandler.java
    • -3
    • +2
    ./BuildScopeInMemoryCachingScriptClassCompiler.java
    • -3
    • +1
    ./CrossBuildInMemoryCachingScriptClassCache.java
    • -21
    • +8
    ./DefaultScriptCompilationHandler.java
    • -6
    • +3
    ./FileCacheBackedScriptClassCompiler.java
  1. … 24 more files in changeset.
Support plugins {} in settings scripts

    • -1
    • +1
    ./InitialPassStatementTransformer.java
  1. … 10 more files in changeset.
Support plugins {} in settings scripts

    • -1
    • +1
    ./InitialPassStatementTransformer.java
  1. … 9 more files in changeset.
Support plugins {} in settings scripts

    • -1
    • +1
    ./InitialPassStatementTransformer.java
  1. … 9 more files in changeset.
Move Deleter interface out of impl package

    • -1
    • +1
    ./DefaultScriptCompilationHandler.java
  1. … 38 more files in changeset.