Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Add support for using the various `Property` types with a read-only abstract property on a generated type (in addition to the existing `ConfigurableFileCollection` support).

  1. … 6 more files in changeset.
Change wiring of the services that set up the instantiators and property walkers for various types so that this happens consistently and is modelled as a 'scheme' for each type.

Also explicitly declare the ignored annotations for a given scheme and disallow `@Console` and `@Internal` on artifact transform actions (but not parameters).

  1. … 20 more files in changeset.
Change wiring of the services that set up the instantiators and property walkers for various types so that this happens consistently and is modelled as a 'scheme' for each type.

Also explicitly declare the ignored annotations for a given scheme and disallow `@Console` and `@Internal` on artifact transform actions (but not parameters).

  1. … 20 more files in changeset.
Use a slightly more informative error message when a known but unsupported annotation is attached to an artifact transform parameters object.

  1. … 10 more files in changeset.
Use a slightly more informative error message when a known but unsupported annotation is attached to an artifact transform parameters object.

  1. … 10 more files in changeset.
Move the validation problems seen during property visiting from the individual property to the type metadata, so that other kinds of failures can be collected (eg an annotation on a non-getter method).

  1. … 24 more files in changeset.
Move the validation problems seen during property visiting from the individual property to the type metadata, so that other kinds of failures can be collected (eg an annotation on a non-getter method).

  1. … 24 more files in changeset.
Tweak the error message for a property that is not annotated on an artifact transform parameters object so that it does not suggest that an output annotation should be used.

  1. … 6 more files in changeset.
Tweak the error message for a property that is not annotated on an artifact transform parameters object so that it does not suggest that an output annotation should be used.

  1. … 6 more files in changeset.
Allow a generated "managed" type with properties of type `ConfigurableFileCollection` to be unpacked, isolated and recreated. This can be used with the parameters object of an artifact transform.

  1. … 6 more files in changeset.
Allow a generated "managed" type with properties of type `ConfigurableFileCollection` to be unpacked, isolated and recreated. This can be used with the parameters object of an artifact transform.

  1. … 6 more files in changeset.
Use lenient instantiator for extensible instances

  1. … 1 more file in changeset.
Use lenient instantiator for extensible instances

  1. … 1 more file in changeset.
Change generated classes to use an `ObjectFactory` service instead of `ProjectLayout` to create `ConfigurableFileCollection` instances. This allows this feature to work in more places.

Inject owning scope services into the parameters object of an artifact transform (not the actions), so that the parameters object can define read-only abstract properties of type `ConfigurableFileCollection`. Doing so still fails due to lack of support in the isolation infrastructure.

  1. … 8 more files in changeset.
Change generated classes to use an `ObjectFactory` service instead of `ProjectLayout` to create `ConfigurableFileCollection` instances. This allows this feature to work in more places.

Inject owning scope services into the parameters object of an artifact transform (not the actions), so that the parameters object can define read-only abstract properties of type `ConfigurableFileCollection`. Doing so still fails due to lack of support in the isolation infrastructure.

  1. … 8 more files in changeset.
Rename injectedServicesByAnnotation

to annotationsTriggeringServiceInjection.

  1. … 5 more files in changeset.
Add support for read-only properties with type `ConfigurableFileCollection` with an abstract getter on types instantiated by Gradle. Gradle will provide an implementation of the property and (lazily) create a file collection instance as required.

Currently works only in those places where project scope services are visible. This does not include the parameters object for an artifact transform. A subsequent commit will allow this feature to be used in more places.

  1. … 6 more files in changeset.
Add support for read-only properties with type `ConfigurableFileCollection` with an abstract getter on types instantiated by Gradle. Gradle will provide an implementation of the property and (lazily) create a file collection instance as required.

Currently works only in those places where project scope services are visible. This does not include the parameters object for an artifact transform. A subsequent commit will allow this feature to be used in more places.

  1. … 6 more files in changeset.
Inject primary input dependencies as Iterable<File>

instead of using the container type `ArtifactTransformDependencies`.

The container type now also has been removed from the public API.

  1. … 20 more files in changeset.
Special case the isolation for generated `Named` types, to make this faster for variant selecting.

  1. … 28 more files in changeset.
Special case the isolation for generated `Named` types, to make this faster for variant selecting.

  1. … 28 more files in changeset.
Support isolation of a 'managed' type (a Gradle provided implementation of an interface or abstract class with no fields) without serialization.

The implementation is shared for types generated by `NamedObjectFactory` and `ClassGenerator`.

  1. … 22 more files in changeset.
Support isolation of a 'managed' type (a Gradle provided implementation of an interface or abstract class with no fields) without serialization.

The implementation is shared for types generated by `NamedObjectFactory` and `ClassGenerator`.

  1. … 22 more files in changeset.
Rename PropertyMetadata.get{Field -> Property}Name

  1. … 5 more files in changeset.
Change class generation to accept interface types. The interface may define mutable properties and an implementation is mixed in for each mutable property. The interface may also define `default` methods, `@Inject` properties and may extend `ExtensionAware`. Immutable properties with lazy types (eg `Property`) are not supported yet.

This commit does not include any validation or documentation. These will be added in later commits.

  1. … 7 more files in changeset.
Do not use JavaPropertyReflectionUtil in ClosureCompiler

Since ClosureCompiler will run in a Worker Daemon and

`JavaPropertyReflectionUtil` is not available there.

  1. … 3 more files in changeset.
Split methods required in Worker

  1. … 17 more files in changeset.
Move most of org.gradle.internal.reflect to modelCore

The JavaMethod and DirectInstantiator classes are used by the service

and classloading infrastructure in `baseServices`, so I would leave

them there for now.

    • -0
    • +412
    ./org/gradle/internal/reflect/ClassInspectorTest.groovy
    • -0
    • +367
    ./org/gradle/internal/reflect/JavaReflectionUtilTest.groovy
    • -0
    • +147
    ./org/gradle/internal/reflect/JavaTestSubject.java
    • -0
    • +66
    ./org/gradle/internal/reflect/MethodsTest.groovy
    • -0
    • +242
    ./org/gradle/internal/reflect/PropertyAccessorTypeTest.groovy
    • -0
    • +377
    ./org/gradle/internal/reflect/PropertyExtractorTest.groovy
    • -0
    • +56
    ./org/gradle/internal/reflect/TypesTest.groovy
  1. … 55 more files in changeset.
spelling: unmanaged

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

spelling: precedence

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>