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

  1. … 33 more files in changeset.
Revert "Revert instant execution report"

  1. … 33 more files in changeset.
Revert "Revert instant execution report"

  1. … 33 more files in changeset.
Revert "Revert instant execution report"

  1. … 33 more files in changeset.
Revert "Revert instant execution report"

  1. … 33 more files in changeset.
Revert "Revert instant execution report"

  1. … 33 more files in changeset.
Revert "Revert instant execution report"

  1. … 33 more files in changeset.