Gradle

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Make TaskExecutionStatistics event handling logic clearer

Issue: #1639

Unify BuildOperationExecutor and BuildOperationProcessor APIs

This introduces the following `BuildOperationExecutor`

interface (as outlined in gradle/gradle#1676):

void run(RunnableBuildOperation buildOperation);

<T> T call(CallableBuildOperation<T> buildOperation);

<O extends RunnableBuildOperation> void runAll(

Action<BuildOperationQueue<O>> schedulingAction);

<O extends BuildOperation> void runAll(

BuildOperationWorker<O> worker,

Action<BuildOperationQueue<O>> schedulingAction);

To accomplish this, the following changes were performed:

- Various representation of build operations have been merged into

1) BuildOperation (with sub-interfaces)

-> declare and describe a build operation

2) BuildOperationDescriptor (BuildOperationDescriptor.Builder)

-> describe a build operation

3) BuildOperationState

-> represents a running build operation, with run state, start time,

parent relationship information, and description

- The DefaultBuildOperationExecutor and DefaultBuildOperationProcessor

implementations have been merged in DefaultBuildOperationExecutor,

which is now build session scoped.

  1. … 166 more files in changeset.
Make project lock map thread safe

Update release notes for disallowed runtime modification of copy tasks

+review REVIEW-6504

    • -0
    • +19
    /subprojects/docs/src/docs/release/notes.md
Disallow modifying child copy specs during task execution

We used to do this already when task output caching was enabled. Now we do it even if it’s not enabled.

+review REVIEW-6504

Update wrappers to latest snapshot distro

    • -1
    • +1
    /gradle/wrapper/gradle-wrapper.properties
  1. … 4 more files in changeset.
Polish parameter name

+review REVIEW-6503

Address review items

+review REVIEW-6503

Add a strongly typed setter for maven & ivy PluginRepository url property

See gradle/gradle-script-kotlin#256

Add a strongly typed setter for IvyArtifactRepository url property

See gradle/gradle-script-kotlin#256

Fix test for Java 9

This is probably broken because of https://issues.apache.org/jira/browse/GROOVY-8123

Display tasks statistics summary for root project only

Using the same logic as applied in BuildProgressFilter, compare

the started/finished Gradle instances and only fire

buildFinished() in the statistics listener for root project build.

Add test coverage asserting this

Issue: #1639

Simplified resolving name of dependent IDE module

For any project that has the appropriate IDE plugin applied, the

name will be taken from the 'published' IDE metadata artifact.

For a project without the IDE plugin applied, we derive the project

name from the project path.

Test IDE deduplication in composite builds

Adds integration test coverage for de-duplication of IDEA module

names in a composite build.

Move task dependency check after project lock

Cache projectlocks in the task execution plan

Cache task dependency complete status

Favor `<expr>.run { ... }` over `with (<expr>) { ... }`

Update wrappers to latest snapshot distro

    • -1
    • +1
    /gradle/wrapper/gradle-wrapper.properties
  1. … 5 more files in changeset.
Remove deprecated task caching system properties

+review REVIEW-6503

Renamed a method on `ArtifactVisitor`.

Fixed handling of listeners registered by Gradle user home scope services.

Moved `DefaultTransformedFileCache` up to session scope, to allow state and coordination to be shard by all builds in a Gradle invocation. There used to be an instance in each build scope.

Introduced a listener type that receives notifications of the start and completion of the root, or top-most, build in a particular Gradle invocation.

Changed several services to use this instead of `BuildListener`.

Avoid snapshotting a given file or directory from multiple threads at the same time.

Also moved responsibility for hashing a file/directory and caching the result in-memory from `DefaultTransformedFileCache` to `FileSystemSnapshotter` and friends, so that this is available outside of artifact transform caching and so that there is a single place that makes the decision for whether information for a given file/directory can be reused or should be calculated again.

Fixed test for changes to error message across Gradle versions.

Fixed output when using continuous build and quiet logging together, and added some test coverage for such a thing.

Removed unused field.

Moved the various snapshotters up to session scope, was previously in each build scope. This allows them, or services that use them, to maintain session wide state and do session wide coordination.

Moved setup of requested logging level so that it happens around the entire session. Previously it happened much later in the lifecycle and once per build per invocation. This change means that the logging level applies to all logging done during the session.