Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Polish `BeanCodec`

- Move method down for symmetry

- Extract when `val` and invert when clauses for clarity

- Make `when` clauses more symmetrical

Polish `BeanCodec`

- Move method down for symmetry

- Extract when `val` and invert when clauses for clarity

Polish `BeanCodec`

- Move method down for symmetry

- Extract when `val` and invert when clauses for clarity

Move `writeReplace` handling to `BeanCodec`

For symmetry.

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

For symmetry.

  1. … 2 more files in changeset.
Cache `readResolve` methods restoring the instant execution state

Cache `readResolve` methods restoring the instant execution state

Cache `readResolve` methods restoring the instant execution state

Store serializable lambdas to the instant execution cache

  1. … 1 more file in changeset.
Store serializable lambdas to the instant execution cache

  1. … 1 more file in changeset.
Store serializable lambdas to the instant execution cache

  1. … 1 more file in changeset.
Store serializable lambdas to the instant execution cache

  1. … 1 more file 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.

  1. … 10 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.

  1. … 10 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.

  1. … 10 more files in changeset.
Represent classes serialized to the instant execution cache using an integer id, rather than a string class name.

Apart from reducing the amount of stuff written to the cache, this will also allow multiple classes with the same name (but different ClassLoaders) to be referenced in the instant execution state.

  1. … 8 more files in changeset.
Represent classes serialized to the instant execution cache using an integer id, rather than a string class name.

Apart from reducing the amount of stuff written to the cache, this will also allow multiple classes with the same name (but different ClassLoaders) to be referenced in the instant execution state.

  1. … 8 more files in changeset.
Represent classes serialized to the instant execution cache using an integer id, rather than a string class name.

Apart from reducing the amount of stuff written to the cache, this will also allow multiple classes with the same name (but different ClassLoaders) to be referenced in the instant execution state.

  1. … 8 more files in changeset.
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.
Polish usages of `withPropertyTrace`

  1. … 3 more files in changeset.
Log complete path of values written to the instant execution cache

In order to make it easier to understand where values are coming from

when things go wrong.

  1. … 8 more files in changeset.
Log complete path of values written to the instant execution cache

In order to make it easier to understand where values are coming from

when things go wrong.

  1. … 8 more files in changeset.
Set up Groovy performance template

Signed-off-by: Bo Zhang <bo@gradle.com>

  1. … 14 more files in changeset.
Set up Groovy performance template

  1. … 15 more files in changeset.
Cache instant-execution bean serialization schema

For another small boost in write performance.

  1. … 4 more files in changeset.
Cache bean serialization constructor and schema when reading from instant-execution cache

This optimisation more than makes up for the time lost restoring the

dynamically registered properties.

  1. … 6 more files in changeset.
Cache bean serialization constructor and schema when reading from instant-execution cache

This optimisation more than makes up for the time lost restoring the

dynamically registered properties.

  1. … 6 more files in changeset.