Gradle

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Add more task property validations

- conflicting property types are declared

- same annotation is used on both field and method

- missing @PathSensitive annotation for cacheable task

- @Input used on File or FileCollection property

+review REVIEW-6501

Reintroduce performance improvements for task plan

Revert "Make project lock map thread safe" Revert "Move task dependency check after project lock" Revert "Cache projectlocks in the task execution plan" Revert "Cache task dependency complete status"

This reverts commit ac2b23ef8d5840aa1141a6df2849d159f9da73c3.

This reverts commit 484cbc40e414991a8d11dfc9d42891e5f3ccc103.

This reverts commit 5bc908876103b56e0363424841f6a44e1b5061a0.

This reverts commit 76e6e9ebf38d502de4eb57d94559b779d541baa9.

Fix Java component publishing

When we introduced the `java-library` plugin, we made sure

the published POM reflects what a downstream project in the

same build would see: `api` dependencies are exposed, `implementation`

dependencies are hidden. The legacy `compile`/`runtime` dependencies

are exposed as well for backwards compatibility.

We forgot to adjust the tests for the existing `java` plugin,

leading to a confusing difference in behavior. The `java` plugin

was still hiding the legacy `compile` and `runtime` dependencies from

consumers. This was due to a bug in the implementation of `JavaLibrary`,

which was looking for the `api` configuration instead of the `apiElements`

configuration.

    • -0
    • +5
    /subprojects/docs/src/docs/release/notes.md
  1. … 10 more files in changeset.
Assign build operation ids to workers through requests

A worker currently works on only one build operation at a time,

therefore we can maintain the current build operation by

- separating operation ids used for build operations from those

used for progress logging

- Registering current operation id from build operation executor

- Getting that operation id and storing it in Request to worker

- Setting current operation in worker's local operation registry

upon receipt of the request (now with operation id)

Issue: #1816

Fix performance test

+review REVIEW-6503

Add performance tests to verification group so they show up in tasks

Deduplicate IDE modules based on available projects

Instead of de-duplication based on post-processing the configured

IDE module names, de-duplication is now done for the default IDE

module names, based on the set of available projects. This results

in slightly more predictable behaviour, since the default name of

a module is not dependent on which projects have the IDE plugin

applied.

In addition, we now _always_ honour the user-configured IDE module

name, even if this will result in a duplicate name.

Add more test coverage for IDE deduplication

Update docs for deprecated classes/methods that will be left in core

Revert "Remove TaskInternal.isCacheable()"

This reverts commit d2785c3bc5e1ab3aeb86570ef1930e486b661bcb.

Merge remote-tracking branch 'origin/lp-remove-deprecations-for-4.0'

    • -0
    • +3
    /subprojects/docs/src/docs/release/notes.md
Reword error message and release notes

+review REVIEW-6504

    • -4
    • +7
    /subprojects/docs/src/docs/release/notes.md
Make TaskExecutionStatistics event listener stateless

Issue: #1639

Favor property syntax over setter invocation

Remove unnecessary `java.io.File` imports

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.