Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
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. … 22 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.
Changed the behaviour of the Swift plugins so that the convention for where to find the source files is applied only if no source files or directories are specified by the build logic. Previously, it was applied _in addition to_ the locations explicitly specified.

  1. … 9 more files in changeset.
Added method to `TestFile` to create a mock `FileOperations` instance.

More robust approach to system-specific path

  1. … 1 more file in changeset.
Make worker daemons sensitive to all java fork options

  1. … 45 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. … 30 more files in changeset.
Inject a `FileSystem` instance into `DirectoryFileTree` when constructed, rather than look it up.

  1. … 5 more files in changeset.
Split `ExecHandleFactory` into a factory for running processes, and another factory for running jvms.

  1. … 9 more files in changeset.
Changed several more places to use an injected path resolver instead of an implicit resolver.

  1. … 10 more files in changeset.
Use a factory to create `ExecHandlerBuilder`, `JavaExecHandlerBuilder`, `ExecAction` and `JavaExecAction` instances.

+review REVIEW-5806

  1. … 15 more files in changeset.
Introduce a factory that can be used to create `FileCollection` implementations from various sources.

This isolates those things that need to create `FileCollection` instances from the dependencies of the implementations. Also detangles the public DSL/API types from some logic that calculates a set of files to operate on.

  1. … 18 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. … 23 more files in changeset.
Introduced a factory to create `SourceDirectorySet` instances, to avoid exposing the dependencies of `DefaultSourceDirectorySet` to all the places that need to create a `SourceDirectorySet`.

  1. … 37 more files in changeset.
Polishing changes to use PatternSpecFactory +review REVIEW-5627

  1. … 15 more files in changeset.
Manage creation of most PatternSet instances

- use managed CachingPatternSpecFactory instance for

these PatternSet instances

+review REVIEW-5627

  1. … 37 more files in changeset.
Require NativeServices to be initialized prior to use

+review REVIEW-5378

  1. … 40 more files in changeset.
Renamed org.gradle.internal.nativeplatform -> o.g.i.nativeintegration

  1. … 177 more files in changeset.
Inject some services into the various FileTreeElement implementations rather than reach across to FileSystems.default.

  1. … 29 more files in changeset.
Inject FileCopier into DefaultConfigurableFileTree.

  1. … 9 more files in changeset.
Some changes to remove direct usages of FileSystems.default.

- Introduced a service that provides various entry points to the File infrastructure, in particular via FileResolver.

- Use this in DefaultScript to create resolvers for the script.

- Inject this into a few other places.

  1. … 17 more files in changeset.
Removed some direct usages of FileSystems.default.

  1. … 20 more files in changeset.
Replaced some direct usages of IdentityFileResolver with factory methods

- GlobalScopeServices creates a default FileResolver instance.

- Use FileResolver.withNoBaseDir() and withBaseDir() to create new resolvers.

- Use TestFiles fixture to create resolvers in tests.

  1. … 15 more files in changeset.
Introduce a specific type for the action that gets called when processing a stream of things to copy.

This paves the way for DirectoryCopyDetails, LinkCopyDetails etc.

  1. … 14 more files in changeset.
REVIEW-2728 - introduce a specific type for the action that represents a stream of file copy details to process.

This doesn't change the design, just makes things more explicit than using Action to model this function.

    • -0
    • +40
    ./copy/CopyActionExecuterUtil.java
    • -40
    • +0
    ./copy/CopySpecContentVisitorTestDriver.java
  1. … 16 more files in changeset.
Rename the CopySpecContentVisitor type to CopyAction.

    • -3
    • +3
    ./copy/CopySpecContentVisitorTestDriver.java
  1. … 40 more files in changeset.
Change CopySpecContentVisitor to use functions instead of being a stateful visitor.

This reduces the margin of error and reduces the temptation to hold on to state when it's no longer needed.

A following change will improve the names to reflect the new approach.

    • -0
    • +40
    ./copy/CopySpecContentVisitorTestDriver.java
  1. … 20 more files in changeset.
Added TestFiles fixture for creating various file related things.

  1. … 4 more files in changeset.