DefaultTaskOutputFilesRepositoryTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Store snapshots taken after mutating execution in execution project

    • -80
    • +0
    ./DefaultTaskOutputFilesRepositoryTest.groovy
  1. … 16 more files in changeset.
Move in-memory caches to persistent-cache project

    • -0
    • +1
    ./DefaultTaskOutputFilesRepositoryTest.groovy
  1. … 50 more files in changeset.
Remove dependencies on :core

    • -0
    • +1
    ./DefaultTaskOutputFilesRepositoryTest.groovy
  1. … 19 more files in changeset.
Remove FileSystemSnapshotter.exists

We can now directly use the FileCollectionFingerprints to determine

the declared output paths for `TaskOutputFilesRepository`, so no need

to re-check if a file exists - we directly use the output snapshots.

    • -8
    • +12
    ./DefaultTaskOutputFilesRepositoryTest.groovy
  1. … 16 more files in changeset.
Move snapshotting files to own package

    • -0
    • +1
    ./DefaultTaskOutputFilesRepositoryTest.groovy
  1. … 134 more files in changeset.
Replaced a direct usage of `FileSystemMirror` with a new method on `FileSystemSnapshotter`.

    • -2
    • +2
    ./DefaultTaskOutputFilesRepositoryTest.groovy
  1. … 6 more files in changeset.
Separate snapshotting and comparing task executions (#2735)

This way we have all the snapshotting logic in one place, and the comparison logic in another. Makes the code much simpler and easier to extend and test.

    • -9
    • +6
    ./DefaultTaskOutputFilesRepositoryTest.groovy
  1. … 42 more files in changeset.
Move some of persistent-cache out of core

+review REVIEW-6562

    • -1
    • +1
    ./DefaultTaskOutputFilesRepositoryTest.groovy
  1. … 127 more files in changeset.
Cleanup stale output files during execution (#2572)

We now keep a registry of all the outputs generated by Gradle which will be reset on each version change. If Gradle encounters an existing output file, then it will remove it if is not part of the registered outputs and owned by Gradle/the build. We do also not remove directories containing outputs from different tasks.

The check to delete the stale outputs happens now just before the task executes and not up-front as it did before.

The `build` directory and all delete targets of the `clean` task are registered as owned by Gradle and are considered safe to delete.

Currently, the set of recorded task output files is only growing if we do not change the Gradle version. In the future we can improve on this by also detecting that some directories where removed (e.g. by running a clean task) and reflect this in the registry.

Fixes #1168

Fixes #973

+review REVIEW-6557

    • -0
    • +76
    ./DefaultTaskOutputFilesRepositoryTest.groovy
  1. … 32 more files in changeset.