Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Change `DefaultServiceRegistry.getAll()` so that it does not return services from parents that have been decorated or overridden by the current registry.

Also change the interaction between parent and child registry so as to avoid assuming a particular parent implementation.

    • -179
    • +0
    ./GradleScopeServicesTest.groovy
    • -171
    • +0
    ./GradleUserHomeScopeServicesTest.groovy
    • -247
    • +0
    ./ProjectScopeServicesTest.groovy
  1. … 8 more files in changeset.
Change `DefaultServiceRegistry.getAll()` so that it does not return services from parents that have been decorated or overridden by the current registry.

Also change the interaction between parent and child registry so as to avoid assuming a particular parent implementation.

    • -179
    • +0
    ./GradleScopeServicesTest.groovy
    • -171
    • +0
    ./GradleUserHomeScopeServicesTest.groovy
    • -247
    • +0
    ./ProjectScopeServicesTest.groovy
  1. … 8 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.
Discover all `PropertyAnnotationHandler` implementations the same way, regardless of whether they are 'core' or 'custom'. Each handler is discovered as a service.

  1. … 12 more files in changeset.
Discover all `PropertyAnnotationHandler` implementations the same way, regardless of whether they are 'core' or 'custom'. Each handler is discovered as a service.

  1. … 12 more files in changeset.
Moved some direct usages of `ImmutableFileCollection` to use `FileCollectionFactory` instead, so that there are fewer places that know how to create various `FileCollection` implementations.

    • -0
    • +2
    ./GradleUserHomeScopeServicesTest.groovy
  1. … 25 more files in changeset.
Moved some direct usages of `ImmutableFileCollection` to use `FileCollectionFactory` instead, so that there are fewer places that know how to create various `FileCollection` implementations.

    • -0
    • +2
    ./GradleUserHomeScopeServicesTest.groovy
  1. … 25 more files in changeset.
Change some `FileCollection` construction in various core services to delegate to `FileCollectionFactory`. Also merge some `FileCollection` implementations that do the same thing.

  1. … 14 more files in changeset.
Change some `FileCollection` construction in various core services to delegate to `FileCollectionFactory`. Also merge some `FileCollection` implementations that do the same thing.

  1. … 14 more files in changeset.
Add a factory method to `ObjectFactory` that can be used to create `ConfigurableFileCollection` instances.

This new method is intended to replace the factory methods on `ProjectLayout`, as `ObjectFactory` is available in all scopes whereas a `ProjectLayout` is only available in project scopes. This also simplifies some task and project extension implementations as now only a single service is required to create the properties.

  1. … 15 more files in changeset.
Add a factory method to `ObjectFactory` that can be used to create `ConfigurableFileCollection` instances.

This new method is intended to replace the factory methods on `ProjectLayout`, as `ObjectFactory` is available in all scopes whereas a `ProjectLayout` is only available in project scopes. This also simplifies some task and project extension implementations as now only a single service is required to create the properties.

  1. … 15 more files in changeset.
Spelling (#8199)

Fix several spelling issues.

  1. … 36 more files in changeset.
Move class generation and instantation infrastructure from core to modelCore project.

  1. … 89 more files in changeset.
Allow the services required by a given class to be queried prior to creating any instances of that class. Use this to allow `ArtifactTransformDependencies` to be injected into artifact transforms using any of the service injection patterns (that is, via a constructor or a getter).

  1. … 125 more files in changeset.
Remove some direct usages of the internals of the instantiator.

  1. … 7 more files in changeset.
Allow `Plugin` implementations to use service injection via a getter method, either abstract or with a dummy method body. Plugins are not decorated, for backwards compatibility.

  1. … 18 more files in changeset.
Use Java variant derivation strategy for scripts

The script classpath is about building a Java classpath and thus uses

now the `JavaEcosystemVariantDerivationStrategy`.

In practice this should have no visible impact, it however makes sure we

are consistent in resolving in a Java context.

Issue #7826

  1. … 5 more files in changeset.
Remove direct usages of `ThreadGlobalInstantiator` from tests, replace with test fixtures.

  1. … 9 more files in changeset.
Use `DependencyInjectingInstantiator` for (almost) all instantiation, so that service injection can be made available for all types and to make instantiation behaviour and error reporting more consistent.

Not all types have services available for injection yet, for example the elements of containers created using `Project.container()` or extensions attached to types other than `Project`.

There are some differences in behaviour due to backwards compatibility, wrt the `@Inject` annotation and also null constructor parameters. These differences can be removed in the future.

  1. … 10 more files in changeset.
Replace most direct usages of `DirectInstantiator` with indirect usages via `InstantiatorFactory` or test fixtures instead. This means more consistent behaviour in unit tests because the objects under test will behave more similarly to how they do at runtime. This also allows the decision of how the instantiation should behave to live in as few places as possible, so this can be more easily evolved and contextualized.

  1. … 60 more files in changeset.
Emit build operations around container callback executions (core and dependencyMgmt containers) (#7734)

* Decorate taskcontainer callbacks to track application id

* Decorate plugin container callbacks

* Decorate repositoryContainer callbacks

* Decoreate configurations and configuration.dependencies container callbacks

* Decorate artifactTypesDecorator callbacks

* Dont emit build ops for internal declared callbacks

* Provide usercode context in beforeResolve / afterResolve callbacks

* keep compatibility for nebula.dependency-recommender plugin

* Put domain collection callback build ops behind feature toggle

* Decorate Provider.configure() methods

* Simplify container callback filtering and decoration

Previously, we had three classes collaborating to achieve this but now this is inlined into effectively one. While this creates a more complex implementation, that is still rather simple, it avoids the more problematic complexity of a complicated relationship between the three implementations that also required extra state and details to be propagated through all of the collections.

  1. … 70 more files in changeset.
Extract :buildProfile subproject from :core

  1. … 43 more files in changeset.
Revert "Merge pull request #7696 from gradle/marc/insights/extract-buildProfile-subproject"

This reverts commit ed2e38e2e4d6ffb1d15d5e0ffa74275622b063fe, reversing

changes made to 8a73c262ef5feca10ab1050302293b9c1ff14042.

  1. … 43 more files in changeset.
Extract :buildProfile subproject from :core

  1. … 43 more files in changeset.
Move in-memory caches to persistent-cache project

    • -1
    • +1
    ./GradleUserHomeScopeServicesTest.groovy
  1. … 49 more files in changeset.
Move lenient project locking to tooling model builder registry

  1. … 5 more files in changeset.
Use lenient project locking when building the task graph

  1. … 5 more files in changeset.
Use lenient project locking when building the task graph

  1. … 5 more files in changeset.
Move ValueSnapshotter and friends to snapshots project

    • -1
    • +1
    ./GradleUserHomeScopeServicesTest.groovy
  1. … 54 more files in changeset.