Lóránt Pintér

Rebaseline performance tests

  1. … 16 more files in changeset.
Do not disable local cache on CI

We used to disable the local cache on CI for two reasons:

- without a local cache the remote backend learns about every cache reuse, and can prevent evicting an entry that is actually used everywhere,

- storing local results in the cache can lead to different artifacts used for the same cache key on different machines.

These pose some small risk of introducign cache misses, but the downside of not using the local cache is that we download the same artifacts to the same build agent many-many times. Let's see if reintroducing the local cache on CI breaks anything.

Merge pull request #8038 from gradle/lptr/execution/separate-input-output-execution-states

Resolve input and output execution states explicitly

Address review comments

Make pre-Java-8 compiler happy

Add test for finishing non-wrap-around child after parent

Extract common code

Add ExecutingBuildOperation

And use it to track input snapshotting and build cache key calculation.

Add ExecutingBuildOperation

And use it to track input snapshotting and build cache key calculation.

Add ExecutingBuildOperation

And use it to track input snapshotting and build cache key calculation.

Simplify TestBuildOperationExecutor

Add test for ResolveBeforeExecutionOutputsTaskExecuter

Add test for ResolveBeforeExecutionOutputsTaskExecuter

Add test for ResolveBeforeExecutionOutputsTaskExecuter

Add test for ResolveBeforeExecutionOutputsTaskExecuter

Move task fingerprinting around and extract overlapping fingerprint filtering

Pass whether results are reused separate from origin metadata

  1. … 10 more files in changeset.
Pass whether results are reused separate from origin metadata

  1. … 18 more files in changeset.
Pass whether results are reused separate from origin metadata

  1. … 10 more files in changeset.
Fix tests

Remove comment

We can't remove this line, as empty `FileTree` sources end up here, and they will still register the root directory as watchpoint.

Address review feedback

Try removing registering watchpoints for empty sources

Merge branch 'master' into lptr/execution/separate-input-output-execution-states

Update dates for newly introduced types

Better names for the executers

Better names for the executers

Make ExecutionHistoryStore.load() return Optional

Make ExecutionHistoryStore.load() return Optional

Remove execution state completely when task has no sources

We are essentially acting as if the task was never executed.