Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Merge branch 'release'

  1. … 2 more files in changeset.
Make paths/names of included builds immutable (#10998)

Changes the “build path” for included builds to be determined at inclusion time based on the directory name, or a user supplied override. Previously, we tried to use the root project name defined in the included build. This caused a lot of complexity due to it not being known until part way through building the included build.

This change also disallows use of `buildSrc` as a project name, as it collides with the `buildSrc` nested build.

  1. … 72 more files in changeset.
Also get Instant Execution system properties directly

if not in startParameter

This is temporary adding on top of the temporary way to enable

instant execution in order to be able to configure an IDE to always

use instant execution easily.

Signed-off-by: Paul Merlin <>

Move temporarily ignored Android fields to Workarounds

Signed-off-by: Paul Merlin <>

Polish `TransformerCodec.kt`

- Silence warning via `uncheckedCast` utility

Add instant execution codec for ListenerManager service

Signed-off-by: Paul Merlin <>

  1. … 1 more file in changeset.
Run all tasks read from the instant execution cache in parallel. Each of the tasks is isolated from the project state and so can run in parallel.

  1. … 5 more files in changeset.
Fix `:instantExecution` warnings

Polish `ProxyCodec`

- Remove unchecked cast warnings by using specialized operations

- Replace `if (c) e else null` by `e.takeIf { c }`

Support serialization of proxy instances to the instant execution cache. Previously this would work by accident when the cache was read by the same daemon process that wrote to the cache.

    • -0
    • +48
Include the property display name, if defined, in error messages when a `Property` value is set using a value or provider whose type is not assignable to the property type.

Also validate and sanitize the values used to set a `Property` convention.

  1. … 9 more files in changeset.
Let instant execution handle ExecOperations service

Signed-off-by: Paul Merlin <>

  1. … 1 more file in changeset.
Work around AGP static state in instant execution

Signed-off-by: Paul Merlin <>

    • -0
    • +50
  1. … 1 more file in changeset.
Create immutable file collection when de-serializing

Let instant execution handle FileSystemOperations service

Signed-off-by: Paul Merlin <>

  1. … 1 more file in changeset.
Build buildSrc after applying the settings file (#10305)

Fixes #9094 and #5333

  1. … 54 more files in changeset.
Persist only file tree roots contained in file collections

in the instant execution cache. Before this change, all the files

in the file tree have been persisted instead of the root only.

Do not write bean property names to the instant execution cache. Instead, write and read fields in a deterministic order.

Cache the constructors used to deserialize beans from the instant execution cache across build invocations.

  1. … 3 more files in changeset.
Do not serialize the full exception for a broken `Provider` or `FileCollection` to the instant execution cache, as the serializing the exception is expensive and only a temporary behaviour. Instead, write the messages from the cause chain.

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
  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`.

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 <>

Refine EnumCodec

Signed-off-by: Paul Merlin <>

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 <>

    • -0
    • +43
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.
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.
Polish `DefaultInstantExecution`

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

- Avoid intermediate collection allocation

- Compose method for clarity