Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Allow resolving fixed file collections from a Directory or DirectoryProperty

just like a Directory or Directory property can be seen as a fixed FileTree

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -0
    • +11
    ./file/DefaultFilePropertyFactory.java
  1. … 3 more files in changeset.
Fix resolving `DirectoryTee` elements of a `FileCollection`.

    • -0
    • +5
    ./file/collections/UnpackingVisitor.java
  1. … 3 more files in changeset.
Replace `FileResolver.resolveFilesAsTree()` and `compositeFileTree()` with `FileCollectionFactory`.

    • -3
    • +2
    ./file/AbstractBaseDirFileResolver.java
    • -3
    • +17
    ./file/DefaultFileCollectionFactory.java
    • -13
    • +26
    ./file/DefaultFilePropertyFactory.java
  1. … 34 more files in changeset.
Replace usages of `FileResolver.resolveFile()` with `FileCollectionFactory.resolving()` or `FileOperations.immutable()`, so that `FileResolver` can be responsible only for converting scalar values to File-ish values.

  1. … 39 more files in changeset.
Introduce a factory service to create instances of `TaskDependency`, to allow the implementations to be contextualized and to use types that aren't part of the (internal) core API.

Use this factory in `DefaultConfigurableFileCollection`.

    • -2
    • +3
    ./file/AbstractBaseDirFileResolver.java
    • -9
    • +16
    ./file/DefaultFileCollectionFactory.java
    • -3
    • +8
    ./file/collections/ManagedFactories.java
  1. … 31 more files in changeset.
Replace some direct instantiation of `FileResolver` instances with a service.

    • -0
    • +202
    ./file/DefaultFileCollectionFactory.java
    • -0
    • +46
    ./file/FileLookup.java
  1. … 19 more files in changeset.
Some unit tests and fixes for determining whether to eagerly evaluate a `Provider` instance when serializing to the instant execution cache.

Also fixed an issue where `map { }` could not be called from the Groovy DSL on the result of `Provider.map { }`.

    • -5
    • +5
    ./file/DefaultFilePropertyFactory.java
  1. … 12 more files in changeset.
Serialize `Provider` instances that provide a mapped task output so that the mapping is applied at execution time, rather than calculating the value eagerly.

    • -2
    • +2
    ./file/DefaultFilePropertyFactory.java
  1. … 8 more files in changeset.
Add methods to allow a `Property<FileSystemLocation>` value to be set using a `Provider<File>`, to match the methods that allow the value to be set using a `File`.

    • -73
    • +60
    ./file/DefaultFilePropertyFactory.java
  1. … 8 more files in changeset.
Make Cast.cast() be non-nullable

  1. … 5 more files in changeset.
Rename file collection visitor type and visit method.

    • -72
    • +0
    ./file/FileCollectionLeafVisitor.java
    • -0
    • +72
    ./file/FileCollectionStructureVisitor.java
    • -4
    • +4
    ./file/collections/FileTreeAdapter.java
  1. … 26 more files in changeset.
Some refactoring of file collection visitor.

    • -2
    • +4
    ./file/collections/FileTreeAdapter.java
  1. … 15 more files in changeset.
Move some more special casing of local file dependencies closer to the other code that handles these dependencies.

  1. … 12 more files in changeset.
Change file collection `visitLeafCollections()` so that visitor receives a 'source' object and `Iterable<File>` that describes a file collection, instead of a `FileCollection` instance.

Change visiting of the outputs of artifact transforms so that an empty collection is visited when its 'spec' is requested by the visitor. The 'source' object can be used to carry details about the output variant to the instant execution serializer.

  1. … 23 more files in changeset.
Change file collection `visitLeafCollections()` so that visitor receives a 'source' object, instead of an enum, in order to make the decision whether to visit a child collection or not.

Use this in dependency resolution to remove some special-casing for local dependency files.

    • -3
    • +3
    ./file/collections/FileTreeAdapter.java
    • -0
    • +22
    ./file/collections/GeneratedFiles.java
  1. … 24 more files in changeset.
Allow a file collection visitor to skip collections whose content is generated. Use this to avoid watching generated content in continuous build.

    • -0
    • +8
    ./file/collections/FileTreeAdapter.java
Rework visiting a `Configuration` so that its contents are treated as a sequence of collections, rather than a single monolithic collection of files. This will allow visitors such as continuous build or instant execution some finer-grained visibility into the contents of the `Configuration`.

In this commit, the collections do not carry any useful information and the granularity is per artifact, which is too fine-grained. Later commits will address this.

    • -1
    • +1
    ./file/collections/FileTreeAdapter.java
  1. … 23 more files in changeset.
Merge `FileCollection.registerWatchPoints()` into `visitLeafCollections()`, so that a visitor can optionally receive the 'spec' or definition for each participant in a file collection.

This will also later be used by instant execution to serialize some file collection participants as files and some as definitions.

    • -2
    • +13
    ./file/FileCollectionLeafVisitor.java
    • -6
    • +0
    ./file/collections/DirectoryFileTree.java
    • -7
    • +1
    ./file/collections/FileTreeAdapter.java
    • -3
    • +0
    ./file/collections/MinimalFileTree.java
  1. … 8 more files in changeset.
Treat the artifacts produced for a local file dependency and those produced for other kinds of dependencies more similarly, when visiting the result.

Specifically, merge `ArtifactVisitor.visitFile()` into `ArtifactVisitor.visitArtifact()`, so that now all files/artifacts that participate in the resolution result are represented as a `ResolvableArtifact`.

  1. … 33 more files in changeset.
Allow a `FileCollection` visitor to skip visiting the output of artifact transforms, and use this when serializing file collections to the instant execution cache.

This is only intended to be a basic step towards allow visitors better control over what to visit and in what form to visit. In this step, the API is specific to artifact transforms but will be made more general in later changes.

    • -0
    • +16
    ./file/FileCollectionLeafVisitor.java
    • -0
    • +3
    ./file/collections/FileTreeAdapter.java
  1. … 19 more files in changeset.
Merge `FileTreeInternal.visitTreeOrBackingFile()` into `visitLeafCollections(listener)`, so that the listener is told whether or not the tree is backed by a file and can do what it chooses with this information.

    • -5
    • +0
    ./file/collections/DirectoryFileTree.java
    • -6
    • +1
    ./file/collections/FileTreeAdapter.java
    • -2
    • +0
    ./file/collections/MinimalFileTree.java
  1. … 8 more files in changeset.
Change `FileCollection` implementations so that they all expose their task dependencies via `TaskDependencyContainer` rather than a mix of `Buildable` and `TaskDependencyContainer`.

    • -18
    • +0
    ./file/CompositeFileCollection.java
    • -6
    • +3
    ./file/collections/FileTreeAdapter.java
  1. … 10 more files in changeset.
Some cleanup of the internals of `DefaultFileCollectionFactory`.

  1. … 2 more files in changeset.
Refine the API for visiting the leaves of a FileCollection, so that a visitor does not have to recreate a FileTree from its root directory and set of patterns, but can instead use the original instance.

    • -2
    • +2
    ./file/collections/FileTreeAdapter.java
  1. … 7 more files in changeset.
Some Javadoc edits.

  1. … 1 more file in changeset.
Revert "Revert "Merge remote-tracking branch 'origin/sg/merges/pr-9419'""

This reverts commit 0625bc7420e55e87730673231af6ad45dd04f47a.

    • -0
    • +6
    ./file/FileOrUriNotationConverter.java
  1. … 90 more files in changeset.
Change calculation of task dependencies for a file collection containing a `Callable` backed provider whose value contains a `Buildable` element.

Previously, these were intentionally ignored, to avoid calculating the value of the provider during task graph calculation. Instead, this case should become a warning or error in the future (rather than just silently ignoring them).

    • -4
    • +1
    ./file/collections/BuildDependenciesOnlyFileCollectionResolveContext.java
  1. … 1 more file in changeset.
Change confusing broken symlink error message thrown during file visits

  1. … 4 more files in changeset.
Merge remote-tracking branch 'origin/master' into lorinc/9575/copy-to-unreadable-output

    • -0
    • +164
    ./file/collections/DefaultDirectoryWalker.java
  1. … 3 more files in changeset.
Merge branch 'master' into lptr/files/simplify-file-matchers-take-2

    • -6
    • +0
    ./file/FileOrUriNotationConverter.java
  1. … 1 more file in changeset.