Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Merge 'shared resources' into 'build services', so that each service can optionally have a maximum number of concurrent usages defined.

When scheduling tasks, Gradle will not start a task that uses a build service when there are already the maximum number of tasks already running for that service.

  1. … 21 more files in changeset.
Add `BuildServiceParameters.None` marker type that is used to indicate that a build service does not take any parameters, to match the pattern used in other places.

Extract some validation logic from several places so it can be reused in the places where parameterized isolated objects, such as artifact transforms or build services, are registered.

  1. … 32 more files in changeset.
Extract some reusable logic to determine the parameters type of an isolated implementation type, such as a worker API action or a build service.

    • -0
    • +47
    ./internal/isolated/IsolationSchemeTest.groovy
  1. … 6 more files in changeset.
Support managed properties of type `DomainObjectSet<T>`.

  1. … 5 more files in changeset.
Remove unused import

Remove some unnecessary in-memory caching from the "lenient" instantiation scheme. This caching duplicates the caching that already happens in the class generator.

  1. … 4 more files in changeset.
Change instant execution serialization to handle abstract model types.

Reuse the approach used to serialize the state of abstract task types.

  1. … 9 more files in changeset.
Change the implementation of `DeserializationInstantiator` so that services and other Gradle-provided state is injected into the instances it creates, to match the state that is injected into the instances created by the `Instantiator` for the same instantiation scheme.

  1. … 5 more files in changeset.
Change the various `Report` implementations to be abstract and remove some wiring.

Also fix the class generator to handle an abstract getter from a super class whose return type is not supported for managed properties, but which is overridden by another getter whose return type is supported (eg a `Provider<T>` getter overridden by a `Property<T>` getter).

  1. … 4 more files in changeset.
Deprecate querying the value of a `Provider` whose value is a mapped a task output file, prior to completion of the producing task.

  1. … 16 more files in changeset.
Fix more tests

  1. … 12 more files in changeset.
Fix path sensitivity for property declarations in tests

  1. … 8 more files in changeset.
Consolidate the way we end validation warnings with a period

  1. … 4 more files in changeset.
Correctly report everything

  1. … 20 more files in changeset.
Consolidate type validation

Use ValidateContext with a few standard implementations instead of the many different interfaces and implementations we used to collect valdiation problems before. This fixes issues with types being displayed inconsistently.

The implementation is not fully correct yet: we now fail to display the correct type for problems that are bound to a type instead of a property.

  1. … 47 more files in changeset.
Explicitly return no annotation metadata for primitive types, arrays and annotations

  1. … 1 more file in changeset.
Ignore supported script language base packages for property inspection

We don't want to inspect any of the types from java.*, groovy.* or kotlin.*.

  1. … 8 more files in changeset.
Rename ParameterValidationContext to WorkValidationContext

  1. … 41 more files in changeset.
Mix a configure block for each property of type `NamedDomainObjectContainer` into the Groovy DSL. This makes the Groovy DSL consistent with the Kotlin DSL, which does the same thing (more or less).

    • -0
    • +58
    ./internal/metaobject/MixInClosurePropertiesAsMethodsDynamicObjectTest.groovy
  1. … 3 more files in changeset.
Support `ConfigurableFileTree` and `NamedDomainObjectContainer<T>` for managed properties (that is, abstract read-only properties where Gradle provides an implementation).

  1. … 4 more files in changeset.
Make annotations inherited from interface take precedence over… (#10472)

Make annotations inherited from interface take precedence over superclass

Generate a display name for nested objects that are created for managed properties.

  1. … 5 more files in changeset.
Merge branch 'master'

  1. … 5 more files in changeset.
Merge branch 'master' into lptr/model/interface-annotations-take-precedence-over-superclass

  1. … 1 more file in changeset.
Revert "Make it a strict error if a method is both replaced and declares a type"

This reverts commit ae4f4169cb1130345dcdf78d52a0ebc3747a299c.

  1. … 3 more files in changeset.
Include the property display name, if defined, in error messages when a `Property` value is set using a value or provider whose type is not assignable to the property type.

Also validate and sanitize the values used to set a `Property` convention.

    • -32
    • +46
    ./api/internal/provider/DefaultPropertyTest.groovy
  1. … 9 more files in changeset.
Make annotations inherited from interface take precedence over superclass

  1. … 1 more file in changeset.
Make it a strict error if a method is both replaced and declares a type

  1. … 3 more files in changeset.
Split test into two

Fail rather than emitting a deprecation warning when the value of a `Property` typed task property is changed after the task starts execution.

Also include the property display name, if attached, in the 'cannot change the value' error messages.

    • -13
    • +1
    ./api/internal/provider/DefaultPropertyTest.groovy
  1. … 23 more files in changeset.