Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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.

    • -22
    • +37
    ./gradle/instantexecution/InstantExecutionClassLoaderScopeRegistryListener.kt
  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.

    • -22
    • +37
    ./gradle/instantexecution/InstantExecutionClassLoaderScopeRegistryListener.kt
  1. … 18 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.

    • -22
    • +37
    ./gradle/instantexecution/InstantExecutionClassLoaderScopeRegistryListener.kt
  1. … 18 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.

    • -22
    • +37
    ./gradle/instantexecution/InstantExecutionClassLoaderScopeRegistryListener.kt
  1. … 24 more files in changeset.
Simplify `EnumCodec.decode` and `readEnum`

Taking advantage of the fact that `ordinal` represents the position of

the enum constant in `enumConstants`.

Simplify `EnumCodec.decode` and `readEnum`

Taking advantage of the fact that `ordinal` represents the position of

the enum constant in `enumConstants`.

Serialize the contents of `ArtifactCollection` instances to the instant execution cache.

With this change, up-to-date `assembleDebug` builds work for the Santa Tracker sample and the simple test build.

  1. … 4 more files in changeset.
Serialize the contents of `ArtifactCollection` instances to the instant execution cache.

With this change, up-to-date `assembleDebug` builds work for the Santa Tracker sample and the simple test build.

  1. … 4 more files in changeset.
Remove use of Java 11 API from instant execution

Signed-off-by: Rodrigo B. de Oliveira <rodrigo@gradle.com>

Refine EnumCodec

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

Refine EnumCodec

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

Refine EnumCodec

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

Introduce instant execution enum codec

Previously, spurious instances of enums were created when loading from

the cache, leading to comparison failures, observed with AGP.

Not more covered android tasks because the very same task now fails

with another problem.

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

    • -0
    • +43
    ./gradle/instantexecution/serialization/codecs/EnumCodec.kt
Replace usages of `FileResolver.resolveFile()` with `FileCollectionFactory.resolving()` or `FileOperations.immutable()`, so that `FileResolver` can be responsible only for converting scalar values to File-ish values.

  1. … 40 more files in changeset.
Replace usages of `FileResolver.resolveFile()` with `FileCollectionFactory.resolving()` or `FileOperations.immutable()`, so that `FileResolver` can be responsible only for converting scalar values to File-ish values.

  1. … 40 more files in changeset.
Replace usages of `FileResolver.resolveFile()` with `FileCollectionFactory.resolving()` or `FileOperations.immutable()`, so that `FileResolver` can be responsible only for converting scalar values to File-ish values.

  1. … 40 more files in changeset.
Replace usages of `FileResolver.resolveFile()` with `FileCollectionFactory.resolving()` or `FileOperations.immutable()`, so that `FileResolver` can be responsible only for converting scalar values to File-ish values.

  1. … 40 more files in changeset.
Rename method to not be a getter, to avoid being accidentally invoked

  1. … 3 more files in changeset.
Attach the buildSrc export scope to settings

This is the minimal change required to make Kotlin DSL IDE integration

work. When getting a script's classpath fails, we fall back to this

classpath.

  1. … 10 more files in changeset.
Add a codec to serialize `ConcurrentHashMap` instances to the instant execution cache.

  1. … 1 more file in changeset.
Add a codec to serialize `ConcurrentHashMap` instances to the instant execution cache.

  1. … 1 more file in changeset.
Replace some direct instantiation of `FileResolver` instances with a service.

  1. … 22 more files in changeset.
Replace some direct instantiation of `FileResolver` instances with a service.

  1. … 22 more files in changeset.
Replace some direct instantiation of `FileResolver` instances with a service.

  1. … 22 more files in changeset.
Replace some direct instantiation of `FileResolver` instances with a service.

  1. … 22 more files in changeset.
Replace some direct instantiation of `FileResolver` instances with a service.

  1. … 22 more files in changeset.
Polish `DefaultInstantExecution`

- Prefer expression chain over `if`/`else`

- Avoid intermediate collection allocation

- Compose method for clarity

Let instant execution report include trace of `Serializable` beans

  1. … 1 more file in changeset.
Introduce `BeanStateReader.newBeanWithId(id: Int)`

And dedupe identity registration code.

Move identity preserving combinators to `Codec.kt`