Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Ignore this test since it's never actually run until we do a release.

Make test code Java7 compatible

Fix `ArtifactResolveException` catch

Update wrapper to use latest release of gradle

    • -2
    • +2
Update wrapper to use latest release of gradle

    • -2
    • +2
Address first review feedback.

- improve test coverage on requesting explicit task via path

- simplify handling of requests without declared filters using


+review REVIEW-6498

Add tests for 'Resolve artifacts' build operation events

Merge pull request #1784 from gradle/so-faster-script-compilation

Make script compilation faster

Rename `PluginApplicator` interface to `PluginTarget`

This was discussed in the context of #1688.

Add attributes as description instead of appending them all to the name

Do not run test in parallel test execution (where it currently fails)

Simplify build operation details building code

Fix type of constant (in test code)

Upgrade Android dexing soak test to plugin version 2.3.1

Changed `DefaultFileContentCacheFactory` to reuse `FileSystemSnapshotter` instead of duplicating its logic.

Extracted `FileSystemSnapshotter` service out of `AbstractFileCollectionSnapshotter`.

The `FileSystemSnapshotter` takes care of snapshotting the current state of a file or directory in the file system and the associated in-memory mirroring.

The `FileCollectionSnapshotter` implementations then take care of transforming these snapshots to arrive at the snapshot for a given file collection when that file collection is used for a particular purpose.


Renamed a couple of classes.

  1. … 18 more files in changeset.

Added some test coverage to verify that task/transform input snapshotting can deal with files and directories that change during the build. For example, a directory that is changed by a task or some external tool in between the execution of two tasks that take that directory as input. Or a directory that is used as a transform input and is changed between two artifact resolutions.

These kinds of changes _shouldn't_ happen during a build, but they certainly _can_. This coverage ensures we don't break these cases as we cache more state for snapshotting.

Introduced a common supertype for the various kinds of snapshots used to represent the inputs and outputs of a task or artifact transform.

Use task instance instead of computing path

We are creating a String which would then be used to

look up the task again which we already have a reference to.

Just add the task itself as a dependency.

Make task factory more efficient

Don't create `Map`s when the user calls methods

with explicit arguments like `create(name, type)`.

Instead, use the appropriate creation methods


Remove array reuse

After several rounds of mesuring, this did not

show any actualy performance improvement. Removing

it as it added complexity and was error prone.

Avoid unnecessary alternate method lookups

When we can't find a perfect match, we look for methods

that would take the arguments in a transformed form, e.g.

Strings transformed to Enums. This change ensures we only

look for such method if there is any chance to actually transform

the inputs.

Avoid expensive property lookup in hot loop

Instantiate performance test projects at execution time

The detailed configuration possibilities are now unused and

instantiating these objects at configuration time just adds

unnecessary overhead.

Make task creation cheaper

Only order tasks within a single project

Creating a global task ordering is expensive and not necessary

thanks to the fact that Gradle will stick to the requested task order

as much as possible anyway. Our fast feedback configurations define

tasks in an order that delivers fast feedback already, e.g.


quickCheck {

tasks "doc:checkstyleApi", "docs:check", "codeQuality", "test"



Basic support for @Destroys annotation