Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Extract `WorkerSharedUserHomeScopeServices`

With the services shared between `GradleUserHomeScopeServices` and

`WorkerDaemonServices`.

  1. … 2 more files in changeset.
Migrate `DefaultValueSourceProviderFactory` implementation to model-core

  1. … 7 more files in changeset.
Prepare to move `DefaultValueSourceProviderFactory` to model-core

- Move `ProviderFactory` to the Gradle user home scope so it can depend on

`IsolatableFactory`

  1. … 4 more files in changeset.
Polish `WorkerDaemonServer`

- Fix formatting

Move `ProviderFactory` instantiation back to `WorkerSharedGlobalScopeServices`

  1. … 2 more files in changeset.
Introduce `ValueSource` API

Based on the _Westline services_ prototype (#11168).

  1. … 12 more files in changeset.
make inner classes static where possible

Signed-off-by: Steven Crockett <crockett.j.steven@gmail.com>

  1. … 42 more files in changeset.
Rename some methods of `InstantiatorFactory`.

  1. … 9 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. … 35 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.

  1. … 5 more files in changeset.
Align no isolation worker with isolated workers

    • -0
    • +32
    ./gradle/workers/internal/AbstractWorkerRequirement.java
    • -0
    • +32
    ./gradle/workers/internal/FixedClassLoaderWorkerRequirement.java
    • -0
    • +32
    ./gradle/workers/internal/ForkedWorkerRequirement.java
    • -0
    • +32
    ./gradle/workers/internal/IsolatedClassLoaderWorkerRequirement.java
    • -0
    • +23
    ./gradle/workers/internal/WorkerRequirement.java
  1. … 4 more files in changeset.
Use lambdas where possible

Move a bunch of shared project scope services to a shared provider

    • -82
    • +10
    ./gradle/workers/internal/WorkerDaemonServer.java
  1. … 2 more files in changeset.
Add ProjectLayout and ProviderFactory services to workers

  1. … 3 more files in changeset.
Ensure reused worker daemons resolve files from the correct directory

  1. … 1 more file in changeset.
Get rid of ProjectDirectoryProvider in favor of ProjectLayout

  1. … 2 more files in changeset.
Make DefaultResourceHandler.Factory an interface we can stub out in workers

  1. … 4 more files in changeset.
Introduce a ProjectDirectoryProvider to allow worker executor to find the project directory

  1. … 2 more files in changeset.
Fix the decoration on FileSystemOperations and ExecOperations closures

  1. … 2 more files in changeset.
Expose ExecOperations service to workers

  1. … 1 more file in changeset.
Make file operations in worker daemons relative to project directory

    • -14
    • +46
    ./gradle/workers/internal/WorkerDaemonServer.java
  1. … 7 more files in changeset.
Expose ObjectFactory and FileSystemOperations to worker actions

  1. … 3 more files in changeset.
Compiler daemons can access internal services

    • -37
    • +0
    ./gradle/workers/internal/WorkServicesBuilder.java
  1. … 6 more files in changeset.
Restrict services available to worker actions

    • -8
    • +11
    ./gradle/workers/internal/DefaultWorkerServer.java
    • -0
    • +37
    ./gradle/workers/internal/WorkServicesBuilder.java
De-incubate Worker related APIs

  1. … 1 more file in changeset.
Fix tests

  1. … 2 more files in changeset.
Use a non-decorated fork options when creating fork options for worker daemon

WorkerDaemonClients are retained across builds, so any object associated with

it must not contain project state since this will be kept around until the worker

expires.

- Introduce a newDecoratedJavaForkOptions which creates a decorated JavaForkOptionsInternal

- Replace calls to the decorated version of the method with non-decorated versions where appropriate

  1. … 11 more files in changeset.
Fix issue with properties object not being isolatable

  1. … 8 more files in changeset.
Ensure that no-isolation workers run with the classloader of the submitting thread

This fixes a problem where, in a composite build, a worker can get a context

classloader set to a classloader from another project, which causes a class

mismatch when we attempt to re-hydrate a legacy runnable class in AdapterWorkAction.

We now ensure that the context classloader for no-isolation workers get set

to the context classloader of the thread that submitted the work.

  1. … 3 more files in changeset.
Updates to upgrading guide and WorkerExecutor javadoc

  1. … 1 more file in changeset.