Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Temporarily ignore a specific property of an Android plugin class when writing to the instant execution cache.

This work around can be ignored once we are able to correctly write lambda instances to the cache.

Serialize references to `WorkerExecutor` to the instant execution cache.

Also serialize broken `Provider<T>` instances, in the same way that broken `FileCollection` instances are serialized. This is really just a work around, and we should instead offer ways to avoid writing these broken instances to the cache.

  1. … 5 more files in changeset.
Serialize references to `WorkerExecutor` to the instant execution cache.

Also serialize broken `Provider<T>` instances, in the same way that broken `FileCollection` instances are serialized. This is really just a work around, and we should instead offer ways to avoid writing these broken instances to the cache.

  1. … 5 more files in changeset.
Remove no longer necessary `SerializableReadReplaceReader`

Now that the `writeReplace` / `readResolve` responsibility was moved to `BeanCodec`.

  1. … 1 more file in changeset.
Remove no longer necessary `SerializableReadReplaceReader`

Now that the `writeReplace` / `readResolve` responsibility was moved to `BeanCodec`.

  1. … 1 more file in changeset.
Remove no longer necessary `SerializableReadReplaceReader`

Now that the `writeReplace` / `readResolve` responsibility was moved to `BeanCodec`.

  1. … 1 more file in changeset.
Move `writeReplace` handling to `BeanCodec`

For symmetry.

    • -31
    • +0
    ./SerializableWriteReplaceWriter.kt
  1. … 2 more files in changeset.
Move `writeReplace` handling to `BeanCodec`

For symmetry.

    • -31
    • +0
    ./SerializableWriteReplaceWriter.kt
  1. … 2 more files in changeset.
Revert "Reinstate "Let instant execution reuse classloaders when loading""

  1. … 36 more files in changeset.
Revert "Revert "Let instant execution reuse classloaders when loading""

  1. … 36 more files in changeset.
Revert "Let instant execution reuse classloaders when loading"

  1. … 36 more files in changeset.
Fix Kotlin warnings

  1. … 1 more file in changeset.
Fix Kotlin warnings

  1. … 1 more file in changeset.
Fix Kotlin warnings

  1. … 1 more file in changeset.
Don't serialize transient fields of beans in instant execution state

Don't serialize transient fields of beans in instant execution state

Don't serialize transient fields of beans in instant execution state

Change the instant execution cache bean serialization so that it honors the `writeReplace()` contract for `Serializable` types.

This allows a plugin to use the Guava collection types, which happen to use this contract for serialization. This could be viewed as a work around for the lack of support for multiple classes with the same name (and that is certainly the motivation). However, this provides a potential escape hatch for plugin authors to work around serialization issues. It also provides a nice migration path for re-using the bean serialization in other places, such as task properties, isolated work parameters and tooling models, all of which currently use Java Serialization as the general purpose contract.

    • -0
    • +26
    ./BeanStateReader.kt
    • -0
    • +24
    ./BeanStateWriter.kt
    • -0
    • +37
    ./SerializableReadReplaceReader.kt
    • -0
    • +31
    ./SerializableWriteReplaceWriter.kt
  1. … 5 more files in changeset.
Change the instant execution cache bean serialization so that it honors the `writeReplace()` contract for `Serializable` types.

This allows a plugin to use the Guava collection types, which happen to use this contract for serialization. This could be viewed as a work around for the lack of support for multiple classes with the same name (and that is certainly the motivation). However, this provides a potential escape hatch for plugin authors to work around serialization issues. It also provides a nice migration path for re-using the bean serialization in other places, such as task properties, isolated work parameters and tooling models, all of which currently use Java Serialization as the general purpose contract.

    • -0
    • +31
    ./SerializableWriteReplaceWriter.kt
  1. … 5 more files in changeset.
Change the instant execution cache bean serialization so that it honors the `writeReplace()` contract for `Serializable` types.

This allows a plugin to use the Guava collection types, which happen to use this contract for serialization. This could be viewed as a work around for the lack of support for multiple classes with the same name (and that is certainly the motivation). However, this provides a potential escape hatch for plugin authors to work around serialization issues. It also provides a nice migration path for re-using the bean serialization in other places, such as task properties, isolated work parameters and tooling models, all of which currently use Java Serialization as the general purpose contract.

    • -0
    • +26
    ./BeanStateReader.kt
    • -0
    • +24
    ./BeanStateWriter.kt
    • -0
    • +37
    ./SerializableReadReplaceReader.kt
    • -0
    • +31
    ./SerializableWriteReplaceWriter.kt
  1. … 5 more files in changeset.
Do not deserialize all `List` implementations from the instant execution cache as `ArrayList`, as a step towards support for plugins using Guava types.

Also simplify the contract that codecs use to write values, making it symmetrical for writing and reading.

  1. … 6 more files in changeset.
Do not deserialize all `List` implementations from the instant execution cache as `ArrayList`, as a step towards support for plugins using Guava types.

Also simplify the contract that codecs use to write values, making it symmetrical for writing and reading.

  1. … 6 more files in changeset.
Do not deserialize all `List` implementations from the instant execution cache as `ArrayList`, as a step towards support for plugins using Guava types.

Also simplify the contract that codecs use to write values, making it symmetrical for writing and reading.

  1. … 6 more files in changeset.
Do not deserialize all `List` implementations from the instant execution cache as `ArrayList`, as a step towards support for plugins using Guava types.

Also simplify the contract that codecs use to write values, making it symmetrical for writing and reading.

  1. … 6 more files in changeset.
Let instant execution (de)serialize MapProperty bean fields

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

  1. … 4 more files in changeset.
Cache bean schema as a `List` instead of a `Sequence`

For performance.

Cache bean schema as a `List` instead of a `Sequence`

For performance.

Let errors, `IOException` and `GradleException` bubble up

When reading from the instant execution cache.

Let errors, `IOException` and `GradleException` bubble up

When reading from the instant execution cache.

Make `Codec.decode` a suspending function

  1. … 20 more files in changeset.