Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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.
Make `Codec.decode` a suspending function

  1. … 20 more files in changeset.
Make `Codec.encode` a suspending function

So the continuations can be used to solve the `StackOverflowError`s on

deeply nested object graphs.

  1. … 20 more files in changeset.
Make `Codec.encode` a suspending function

So the continuations can be used to solve the `StackOverflowError`s on

deeply nested object graphs.

  1. … 20 more files in changeset.
Limit number of instant execution failures

Limited to 512 by default, configurable via

`org.gradle.unsafe.instant-execution.max-failures`.

For quicker feedback and to avoid consuming too many resources and/or

producing unusable reports.

  1. … 5 more files in changeset.