TarTaskOutputPackerTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Move tests to the correct location

    • -384
    • +0
    ./TarTaskOutputPackerTest.groovy
  1. … 3 more files in changeset.
Remove unused code

ContentHasherFactory has no real use, so let's decrease complexity.

  1. … 11 more files in changeset.
Fix tests

  1. … 1 more file in changeset.
Use MD5 as the default hashing function

  1. … 38 more files in changeset.
Move all hashing-related stuff to base-services

- Renamed existing Hasher -> PrimitiveHasher

- Renamed BuildCacheHasher -> Hasher (this is the one that prefixes hashed data with the length of the data to avoid collisions)

  1. … 72 more files in changeset.
Remove dependencies on :core

  1. … 19 more files in changeset.
Move snapshotting files to own package

  1. … 134 more files in changeset.
Keep empty fingerprint instance in Identifier

  1. … 5 more files in changeset.
Merge branch 'release'

  1. … 16 more files in changeset.
Expose input file snapshots to build operation listeners (#6153)

  1. … 32 more files in changeset.
Merge file and directory cache

Instead of using two different caches for file and directory snapshots,

there is only one. We now cache the metadata of individual files

separately.

  1. … 32 more files in changeset.
Use the fingerprint package

  1. … 87 more files in changeset.
Rename Snapshot -> Fingerprint

Where applicable.

  1. … 43 more files in changeset.
Move *Fingerprint to org.gradle.internal.fingerprint

  1. … 36 more files in changeset.
Separate fingerprints and snapshots (#5927)

This de-tangles FileContentSnapshot (and removes it) from NormalizedFileSnapshots.

Also it makes clear that only PhysicalSnapshots can be used to check if a file changed the timestamp.

  1. … 87 more files in changeset.
Fix counting entries when unpacking

  1. … 5 more files in changeset.
Retain hierarchical structure in file system mirror (#5844)

The `FileSystemSnapshotter` now returns a root for each snapshotted file, possible containing all the children in hierarchy as the directory would no the file system.

This PR also contains some performance related changes:

- Stop interning path segments: That was only necessary when we stored the same path segments in many RelativePath objects. We don't do this any more, so interning should not be necessary and make things faster.

Actually, up-to-date assemble on largeMonolithicJavaProject (parallel false)

is about 40ms faster with this change (2.5 %).

- Don't use IndexedNormalizedFileSnapshots: It seems like there are no real performance gains by using IndexedNormalizedFileSnapshots.

    • -24
    • +21
    ./TarTaskOutputPackerTest.groovy
  1. … 131 more files in changeset.
Extract AbvstractLoadCommand

  1. … 32 more files in changeset.
Relax property name requirements (#3739)

Previously, property names for file inputs and outputs had to be valid Java

identifiers, and nested properties were allowed to use dots ('.') to separate

the elements of the property's name. This was required so outputs could be

easily represented as file and directory names inside TAR archives.

This change removes this restriction, and instead escapes property names when

archiving the task outputs.

  1. … 5 more files in changeset.
Merge branch 'release'

  1. … 7 more files in changeset.
Fix Windows tests

  1. … 1 more file in changeset.
Fix URI-quoted chars in cached outputs bug

  1. … 2 more files in changeset.
Create directories when registering outputs via the runtime API, too (#2929)

Previously we were creating output directories only for outputs registered via task property annotations.

  1. … 32 more files in changeset.
Use our own hashing architecture, take 2 (#2817)

This replaces Guava's hashing. We need this for two reasons:

- it allows the addition of custom hash functions, like BLAKE2b which would not be possible with Guava's closed design

- it fixes a few performance issues that Guava only fixes in version 20 (which we can't upgrade to right now, because we still need to support Java 5 in places)

  1. … 159 more files in changeset.
Use snapshots while packing task outputs (#2756)

We've already collected snapshots after the task, so no need to walk the file system again.

    • -28
    • +73
    ./TarTaskOutputPackerTest.groovy
  1. … 16 more files in changeset.
Update snapshots while unpacking task outputs (#2745)

Previously we were naively extracting task outputs, and then snapshot

them in a separate step, just as if the output was generated by some

unknown process. However, during unpacking we already know everything we

need to also do the snapshotting. This speeds up the unpacking process

substantially.

  1. … 46 more files in changeset.
Move 'org.gradle.caching' to build-cache

+review REVIEW-6562

    • -0
    • +262
    ./TarTaskOutputPackerTest.groovy
  1. … 150 more files in changeset.