Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Force AbstractTestDirectoryProvider to use Class (#12431)


This PR adds `className` to `AbstractTestDirectoryProvider` so there'll be no more `unknown-test-class`.

  1. … 403 more files in changeset.
Expose the location that a file tree will generate its contents into to the structure visitor.

Use this to implement mapping a file collection to an Ant structure by visiting the file collection structure and remove the special case implementation.

  1. … 34 more files in changeset.
Push some responsibilities from `FileTreeAdapter` down to its `MinimalFileTree` implementation, to remove a bunch of special casing.

    • -0
    • +74
  1. … 21 more files in changeset.
Remove unused field.

  1. … 2 more files in changeset.
Replace 'Matchers' with 'CoreMatchers'

So we do not require 'org.hamcrest:hamcrest-library' as additional

dependency anymore. Which was only available for most of the tests

because it leaked onto the test compile classpath.

  1. … 159 more files in changeset.
spelling: unique

Signed-off-by: Josh Soref <>

Upgrade to Groovy 2.5.2 and make compilation work

  1. … 8 more files in changeset.
Move file collection APIs out of core (#6525)

This change breaks out code that directly relates to handling `FileCollection`s and their build dependencies (called `TaskDependency` at this time) into a separate subproject (`:files`). This is so that other modules can build on just this module instead of having to depend on the oversized `:core`.

As part of the change `Provider`s have been moved to `:base-services`. In a possible followup step `:base-services` could be split into a module that captures the very basic concepts of Gradle's data model: it's all about `DomainObjectCollection`s that can be configured via `Action`s, transformed via `Transformer`s, lazyness can be provided via `Provider`s and rich mutable data types can be created via `Property` objects.

Another addition to `:base-serivces` is the directed graph traversal algorithms used in many parts of Gradle.

    • -0
    • +27
  1. … 443 more files in changeset.
Use FileHasher in TarFileTree when possible

This allows caching the hash of the tar file instead of recalculating

it every time.

  1. … 2 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.
Fix merge issues

  1. … 21 more files in changeset.
Address review feedback on faster zipTrees

  1. … 6 more files in changeset.
Make no-overwrite assertion stronger

Only expand .tar files once

Up until now, .tar files were extracted on every

file tree visit, which can be 2-4 times per build.

Instead. hash the tar's content and only expand again

if the content has changed.

  1. … 2 more files in changeset.
Make zipTrees faster

zipTrees were unpacked every time they were visited,

which meant 2-4 times for every single build.

This changes the logic to snapshot the zip and only unpack

again if it has changed.

  1. … 12 more files in changeset.
Merged the file resource implementation for the public `Resource` API into the file resource implementation for `ExternalResource` used by dependency resolution and publishing. This is a small step towards merging and reusing all the various resource implementations.

  1. … 29 more files in changeset.
remove duplicate then statement; collapse duplicate if statements

  1. … 1 more file in changeset.
Update ArchiveTestFixture to assert on file permissions

  1. … 3 more files in changeset.
Add sortedFileOrder and preserveFileTimestamps for archive tasks

  1. … 9 more files in changeset.
Converted a couple more JMock tests to Spock

    • -0
    • +170
  1. … 2 more files in changeset.
Use a factory to create `DirectoryFileTree` instances, to avoid exposing the dependencies of `DirectoryFileTree` to its consumers.

This is only partially done, there are quite a few other places where this is not used.

  1. … 20 more files in changeset.
Removed a few usages of static `FileSystem`. Use an injected instance instead.

  1. … 14 more files in changeset.
Add encoding property for zip task

  1. … 4 more files in changeset.
GRADLE-3304 Add coverage for unpacking tar files with null user or group permissions.

+review REVIEW-5525

  1. … 1 more file in changeset.
Support zipTree() and tarTree() (i.e. the actual zip/tar file) as file system inputs in continuous mode.

+review REVIEW-5481

  1. … 8 more files in changeset.
tarTree() and zipTree() now fail when the target file does not exist. This was deprecated behaviour.

  1. … 2 more files in changeset.
Renamed AbstractZipCompressor to DefaultZipCompressor.

  1. … 3 more files in changeset.
Merged the various ZipCompressor implementations into a single implementation.

Inject some services into the various FileTreeElement implementations rather than reach across to FileSystems.default.

  1. … 26 more files in changeset.
Improve the error message if the Zip should have been built with Zip64.

  1. … 5 more files in changeset.