internal

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Remove legacy local cache option

    • -0
    • +258
    ./controller/BuildCacheControllerFactoryTest.groovy
    • -278
    • +0
    ./services/BuildCacheControllerFactoryTest.groovy
  1. … 8 more files in changeset.
Move BuildCacheControllerFactory to :core

    • -0
    • +278
    ./services/BuildCacheControllerFactoryTest.groovy
  1. … 4 more files in changeset.
Move BuildCacheControllerFactory to :core

    • -0
    • +278
    ./services/BuildCacheControllerFactoryTest.groovy
  1. … 4 more files in changeset.
Move build cache packaging and execution to build-cache-packaging

With this change the build cache becomes independent of tasks, so that in future it can be used to cache things like artifact transforms and Kotlin build scripts via a unified interface.

    • -76
    • +0
    ./tasks/RelativePathParserTest.groovy
    • -384
    • +0
    ./tasks/TarTaskOutputPackerTest.groovy
    • -221
    • +0
    ./tasks/TaskOutputCacheCommandFactoryTest.groovy
  1. … 69 more files in changeset.
Break up FingerprintingStrategy.Identifier

    • -5
    • +5
    ./tasks/TarTaskOutputPackerTest.groovy
  1. … 13 more files in changeset.
Move tests to the correct location

    • -0
    • +384
    ./tasks/TarTaskOutputPackerTest.groovy
    • -0
    • +221
    ./tasks/TaskOutputCacheCommandFactoryTest.groovy
  1. … 2 more files in changeset.
Fix counting entries when unpacking

    • -0
    • +12
    ./tasks/RelativePathParserTest.groovy
  1. … 5 more files in changeset.
Unpack merkle trees

We don't yet store the merkle tree information in the artifact.

    • -0
    • +64
    ./tasks/RelativePathParserTest.groovy
  1. … 6 more files in changeset.
Move BuildCacheControllerFactory to build-cache project

+review REVIEW-6562

    • -261
    • +0
    ./controller/BuildCacheControllerFactoryTest.groovy
  1. … 4 more files in changeset.
Move 'org.gradle.caching' to build-cache

+review REVIEW-6562

    • -65
    • +0
    ./DefaultBuildCacheHasherTest.groovy
    • -340
    • +0
    ./controller/DefaultBuildCacheControllerTest.groovy
    • -86
    • +0
    ./controller/service/LoadTargetTest.groovy
    • -262
    • +0
    ./tasks/TarTaskOutputPackerTest.groovy
    • -149
    • +0
    ./tasks/TaskOutputCacheCommandFactoryTest.groovy
    • -87
    • +0
    ./tasks/TaskOutputPackerUtilsTest.groovy
    • -62
    • +0
    ./tasks/origin/TaskOutputOriginFactoryTest.groovy
  1. … 143 more files in changeset.
Do not restore file dates when unpacking task outputs (#2667)

    • -8
    • +1
    ./tasks/TarTaskOutputPackerTest.groovy
  1. … 5 more files in changeset.
Use UTF-8 when packing TAR

+review REVIEW-6559

    • -2
    • +7
    ./tasks/TarTaskOutputPackerTest.groovy
  1. … 1 more file in changeset.
Polish TAR archiving of task outputs

    • -51
    • +0
    ./tasks/AbstractTaskOutputPackerSpec.groovy
    • -65
    • +34
    ./tasks/TarTaskOutputPackerTest.groovy
    • -0
    • +87
    ./tasks/TaskOutputPackerUtilsTest.groovy
  1. … 6 more files in changeset.
Improve error feedback for build cache errors (#2473)

We shouldn't fail the build when we can't package a task's outputs. We should also not fail the build when unpacking some already downloaded outputs.

If there was a failure during unpacking, we can expect the task's output files to be in a messed up state. If this happens, we explicitly clean all of the task's outputs, update the pre-execution output file snapshots, and force the task to execute in non-incremental mode.

This commit also removes the retry logic we had previously when "recoverable" errors were encountered while downloading or uploading cached results. Instead, all errors (except for the aforementioned failed unpacking cleanup errors) are recoverable, and we simply switch off the cache for the build after the first such error.

    • -17
    • +45
    ./controller/DefaultBuildCacheControllerTest.groovy
    • -0
    • +149
    ./tasks/TaskOutputCacheCommandFactoryTest.groovy
  1. … 25 more files in changeset.
Fix typos in test

Copy remote cache artifacts into local cache 2

Fixes some issues and improves test coverage

    • -2
    • +0
    ./controller/BuildCacheControllerFactoryTest.groovy
    • -5
    • +27
    ./controller/DefaultBuildCacheControllerTest.groovy
    • -0
    • +86
    ./controller/service/LoadTargetTest.groovy
    • -0
    • +84
    ./controller/service/StoreTargetTest.groovy
  1. … 9 more files in changeset.
Fix/ignore failing tests

    • -0
    • +2
    ./controller/DefaultBuildCacheControllerTest.groovy
  1. … 2 more files in changeset.
Store artifacts from the remote cache in the local cache

When the default local directory build cache is used, we use an optimized

way to store the downloaded artifact in the cache. Using a custom local

cache, or with the local cache disabled, a temporary file will be used

to store the downloaded artifact.

Packing is also separated from uploading to the remote cache. Again,

when the default directory cache is used to store the cached artifact in

the local cache before uploading it to the remote cache. With a custom

local cache, or when a local cache is not enabled, task outputs will be

stored in a temporary file before uploading.

Build operations are emitted separately for packing, unpacking,

uploading and downloading the cache artifact.

    • -9
    • +75
    ./controller/BuildCacheControllerFactoryTest.groovy
    • -61
    • +170
    ./controller/DefaultBuildCacheControllerTest.groovy
  1. … 55 more files in changeset.
Expose rich build operations for build cache activities (#2227)

    • -156
    • +0
    ./BuildCacheServiceProviderTest.groovy
    • -121
    • +0
    ./ShortCircuitingErrorHandlerBuildCacheServiceDecoratorTest.groovy
    • -0
    • +197
    ./controller/BuildCacheControllerFactoryTest.groovy
    • -0
    • +179
    ./controller/DefaultBuildCacheControllerTest.groovy
  1. … 53 more files in changeset.
Rename “build ID” to “build invocation ID”.

    • -4
    • +4
    ./tasks/origin/TaskOutputOriginFactoryTest.groovy
  1. … 30 more files in changeset.
Reorganise the rich build operation details/results type to further decouple from producer side semantics.

    • -3
    • +3
    ./BuildCacheServiceProviderTest.groovy
  1. … 82 more files in changeset.
Resolve the output files for the cacheable properties of a task once

Calling `getOutputFile` on a CacheableTaskOutputFilePropertySpec is potentially expensive

since we'll go through layers of convention mapping, providers and callbacks.

Since we were calling this in the TaskOutputPacker for each file in an output directory,

we were resolving the output properties hundreds of thousands of times in large builds.

+review REVIEW-6532

    • -53
    • +5
    ./tasks/AbstractTaskOutputPackerSpec.groovy
    • -26
    • +19
    ./tasks/TarTaskOutputPackerTest.groovy
  1. … 8 more files in changeset.
Do not show stacktraces for build cache errors by default

We should only show them if `--stacktrace` is specified on the command-line.

    • -1
    • +6
    ./ShortCircuitingErrorHandlerBuildCacheServiceDecoratorTest.groovy
  1. … 3 more files in changeset.
IDs are advertised for [build invocation, workspace, user] to allow cross referencing invocations and linking invocations of the same user and workspace (#1963)

This commit also adds TaskStateInternal.getOriginBuildId() that advertises the ID of the build that produced the outputs that will be reused for the UP_TO_DATE and FROM_CACHE outcomes.

    • -1
    • +5
    ./tasks/origin/TaskOutputOriginFactoryTest.groovy
  1. … 68 more files in changeset.
Report project name when logging build cache description

+review REVIEW-6525

    • -1
    • +2
    ./BuildCacheServiceProviderTest.groovy
  1. … 3 more files in changeset.
Revert "Add 'enabled' information to the Finalize Build Cache Configuration Build Operation."

This reverts commit f0cc02c320f7f8b424f90f482fc947267f8f4451.

    • -3
    • +3
    ./BuildCacheServiceProviderTest.groovy
  1. … 4 more files in changeset.
Reflect on tests that the Build Operation Descriptor Config doesn't accept nulls anymore.

    • -5
    • +12
    ./BuildCacheServiceProviderTest.groovy
Refactor org.gradle.logging.level property tests (#1964)

* Split out logging tests

* Clean up tests, ignore failing test

* Code review changes

    • -1
    • +0
    ./BuildCacheServiceProviderTest.groovy
  1. … 10 more files in changeset.
Fix test after removing BuildCacheService.getDescription()

    • -5
    • +0
    ./ShortCircuitingErrorHandlerBuildCacheServiceDecoratorTest.groovy
Inline the describer type into BuildCacheServiceFactory.

    • -3
    • +3
    ./BuildCacheServiceProviderTest.groovy
  1. … 12 more files in changeset.