Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Merge branch 'master' into eskatos/ie/rework-error-problem-handling

  1. … 1 more file in changeset.
Move some `FileTree` construction behind a factory interface.

  1. … 16 more files in changeset.
Merge branch 'master' into eskatos/ie/rework-error-problem-handling

  1. … 1 more file in changeset.
Rename `InstantExecution{FingerprintChecker => CacheFingerprintChecker}`

For consistency.

  1. … 3 more files in changeset.
Merge branch 'master' into eskatos/ie/rework-error-problem-handling

  1. … 2 more files in changeset.
Rework instant execution problems handling

on a failing build, build failure details problems

on a succeeding build, warning log details problems

in both cases generate the HTML report

also make sure the stacktrace contains all problems causes

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

  1. … 20 more files in changeset.
Let `InstantExecutionCacheInputs` encode inputs immediatelly

Instead of accumulating them for later.

  1. … 4 more files in changeset.
Prepare `DefaultInstantExecution` to stream the fingerprint instead of collecting it

- Extract `runToCompletion` to its own module

- Make it easier to instantiate and dispose of the `DefaultWriterContext`

  1. … 6 more files in changeset.
Invalidate instant execution cache when a `buildSrc` task input directory changes

  1. … 6 more files in changeset.
Prefer encoding small integers for dirMode & fileMode

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

  1. … 6 more files in changeset.
Serialize scalar properties from CopySpec

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

  1. … 6 more files in changeset.
Improve handling of startup failures in 'single request' and 'multi request' worker processes, so that the failure is propagated to the client rather than logged.

  1. … 7 more files in changeset.
Move instantiation of the various Property instances behind a factory interface.

  1. … 18 more files in changeset.
Fix deserialization of `Directory` instances from the instant execution cache so that they use the correct base directory to resolve files and directories.

  1. … 16 more files in changeset.
Let instant execution serialize enum subtypes correctly

Fixes #12301

  1. … 1 more file in changeset.
Enable new Kotlin type inference on `:instantExecution`

  1. … 1 more file in changeset.
Simplify the implementation of `GeneratedSingletonFileTree`.

  1. … 25 more files in changeset.
Do not write the source paths for a `CopySpec` multiple times to the instant execution cache.

Previously, these were written once when the `CopySpec` was serialized and once when the associated input property spec was serialized.

This commit adds some special case handling for this case. It also preserves the identity of each `FileTree` and `FileCollection` instance for each task to enable short circuiting when the same file collections are referenced via multiple paths, such as in the `CopySpec` case.

  1. … 42 more files in changeset.
Make instant execution serialization test easier to debug

  1. … 1 more file in changeset.
Restore generic argument removed by mistake

The new type inference engine used by IntelliJ says it's unused but the batch

compiler disagrees.

Extract `ValueSource` description from its `Describable` implementation

  1. … 3 more files in changeset.
Serialize more details of the project hierachy to the instant execution cache, so that each project's project directory is correct.

Also correctly recreate the project hierarchy. Previously some projects would not be connected to their parent project.

  1. … 18 more files in changeset.
Revert some changes to artifact transform execution, as these changes introduce a performance regression.

  1. … 30 more files in changeset.
Merge some logic used for executing an initial scheduled artifact transform node and for visiting transform outputs included in the contents of an `ArtifactCollection` or `FileCollection`.

  1. … 10 more files in changeset.
Serialize the parameters of an artifact transform to the instant execution cache, rather than attempting to isolate the parameters and then serializing the result.

This allows the parameters to include files and other inputs that may need to be built before they can be queried, for example when the output of some transform is used as an input parameter to another transform (which is something different to chaining of several transforms to produce an output). An implication of this change is that the artifact parameter isolation now happens every time the cache is reused, whereas previously the isolation happened once on write. This can be improved later.

  1. … 11 more files in changeset.
Attribute serialization failures of unsupported internal types to Gradle runtime

  1. … 9 more files in changeset.
Allow a build services to be used as the parameter for isolated objects, such as other build services, artifact transforms or worker API actions.

There are still some missing pieces to this:

- Worker classloader and process isolation is not supported.

- Services are stopped in the order they are created, rather than in reverse dependency order.

- Parallel usage constraints specified for these services are not honoured.

  1. … 17 more files in changeset.
Let value source based providers be used as task inputs

  1. … 6 more files in changeset.
Let instant execution support `Serializable` beans with only a `writeObject` method

  1. … 1 more file in changeset.
Add support for Short, Float and Double to Java serialization

  1. … 2 more files in changeset.