Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Rework `MessagingServices` so that it is just a provider of services and registered in the same way as other providers, rather than it being its own `ServiceRegistry` that is added as a service and then specific services manually located from it.

Also rework how the logging services are wired into the tooling API connections, so that the logging services registry is just a parent of the connection services in the same way as other scopes, rather than it being registered as a service as well as being a parent.

  1. … 8 more files in changeset.
Rework `MessagingServices` so that it is just a provider of services and registered in the same way as other providers, rather than it being its own `ServiceRegistry` that is added as a service and then specific services manually located from it.

Also rework how the logging services are wired into the tooling API connections, so that the logging services registry is just a parent of the connection services in the same way as other scopes, rather than it being registered as a service as well as being a parent.

  1. … 8 more files in changeset.
Rework `MessagingServices` so that it is just a provider of services and registered in the same way as other providers, rather than it being its own `ServiceRegistry` that is added as a service and then specific services manually located from it.

Also rework how the logging services are wired into the tooling API connections, so that the logging services registry is just a parent of the connection services in the same way as other scopes, rather than it being registered as a service as well as being a parent.

  1. … 8 more files in changeset.
Use ClasspathInferer to determine the classpath of the worker action

    • -143
    • +0
    ./serialization/ClasspathInfererTest.groovy
  1. … 7 more files in changeset.
WIP - more fixes.

  1. … 13 more files in changeset.
WIP - more fixes.

  1. … 13 more files in changeset.
Inline org.gradle.testing.internal.util.Specification

    • -1
    • +1
    ./FailsafePhasedActionResultListenerTest.groovy
    • -1
    • +1
    ./PhasedActionEventConsumerTest.groovy
    • -1
    • +1
    ./SubscribableBuildActionExecuterSpec.groovy
  1. … 50 more files in changeset.
Inline org.gradle.testing.internal.util.Specification

    • -1
    • +1
    ./FailsafePhasedActionResultListenerTest.groovy
    • -1
    • +1
    ./PhasedActionEventConsumerTest.groovy
    • -1
    • +1
    ./SubscribableBuildActionExecuterSpec.groovy
  1. … 50 more files in changeset.
Inline org.gradle.testing.internal.util.Specification

    • -1
    • +1
    ./FailsafePhasedActionResultListenerTest.groovy
    • -1
    • +1
    ./PhasedActionEventConsumerTest.groovy
    • -1
    • +1
    ./SubscribableBuildActionExecuterSpec.groovy
  1. … 49 more files in changeset.
Inline org.gradle.testing.internal.util.Specification

    • -1
    • +1
    ./FailsafePhasedActionResultListenerTest.groovy
    • -1
    • +1
    ./PhasedActionEventConsumerTest.groovy
    • -1
    • +1
    ./SubscribableBuildActionExecuterSpec.groovy
  1. … 50 more files in changeset.
Move ClasspathInferer to base-services

    • -0
    • +1
    ./serialization/ClasspathInfererTest.groovy
  1. … 4 more files in changeset.
spelling: netbeans

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

    • -1
    • +1
    ./serialization/ClasspathInfererTest.groovy
  1. … 1 more file in changeset.
Report TAPI progress events for project configuration

This commit introduces a new `OperationType.PROJECT_CONFIGURATION` and

adds specific `ProgressEvent` implementations. When the operation type

is not requested, no progress configuration events (neither as typed

events nor as generic build operations) will be reported. While that

will remove generic progress configuration events and their children

from clients that use old TAPI versions against Gradle >= 5.1, it is

consistent with the behavior for tasks and work items.

    • -0
    • +40
    ./ProviderConnectionTest.groovy
  1. … 41 more files in changeset.
Report task dependencies to TAPI listeners

The dependencies of a task are now reported as part of

`TaskOperationDescriptor`. If the information is not available due to

a pre-5.1 target version, an `UnsupportedMethodException` is thrown.

    • -26
    • +35
    ./SubscribableBuildActionExecuterSpec.groovy
  1. … 10 more files in changeset.
Report TAPI progress events for work items

This commit introduces a new `OperationType.WORK_ITEM` and adds specific

`ProgressEvent` implementations. For backwards compatibility, if the

new OperationType is not requested, but `OperationType.GENERIC` is, it

will be reported as a generic build operation.

    • -7
    • +3
    ./SubscribableBuildActionExecuterSpec.groovy
  1. … 42 more files in changeset.
Remove some duplication of exception handling in the TAPI `BuildActionRunner` implementations. Also remove remaining usages of `ReportedException` in the `BuildActionExecuter` implementations as a way to distinguish between build failures and other failures.

    • -50
    • +0
    ./DaemonBuildActionExecuterTest.groovy
  1. … 10 more files in changeset.
Represent the result of `BuildActionExecuter.execute()` as an object that encapsulates either a result object or a failure, rather than as an opaque return value or a thrown `ReportedException`.

    • -56
    • +2
    ./ContinuousBuildActionExecuterTest.groovy
  1. … 25 more files in changeset.
Move registration of tooling api build operation listeners to earlier in the build pipeline.

    • -0
    • +70
    ./SubscribableBuildActionExecuterSpec.groovy
  1. … 5 more files in changeset.
Removed `-u` option and uses

Fixes #6304

    • -23
    • +0
    ./ProviderStartParameterConverterTest.groovy
  1. … 8 more files in changeset.
Named classloaders (#6834)

This should help give some more context while debugging classloading issues.

    • -5
    • +5
    ./serialization/ClasspathInfererTest.groovy
    • -1
    • +2
    ./serialization/ClientSidePayloadClassLoaderFactoryTest.groovy
    • -2
    • +2
    ./serialization/DaemonSidePayloadClassLoaderFactoryTest.groovy
  1. … 38 more files in changeset.
Remove deprecated Class.newInstance() (#6496)

`Class.newInstance()` was deprecated in Java 9.

    • -5
    • +6
    ./serialization/ClasspathInfererTest.groovy
  1. … 34 more files in changeset.
Move the 'interactive' flag that is passed from the client to daemon so that it lives in only one place. The flag is still on `StartParameter` but is unused and should later be deprecated and removed.

    • -1
    • +1
    ./ContinuousBuildActionExecuterTest.groovy
  1. … 19 more files in changeset.
Remove projectsEvaluated hook from PhasedActions

And modify projectsLoaded hook to be run after configuration, making

sure that requested models are available.

For now, projects are configurated completely before running the

projectsLoaded action, however we can try to avoid unnecessary

configuration in the future without modifying public APIs.

Signed-off-by: Lucas Smaira <lsmaira@google.com>

    • -10
    • +2
    ./PhasedActionEventConsumerTest.groovy
  1. … 19 more files in changeset.
Dogfood ImmutableFileCollection in tests (#4972)

Reduce the number of static factory methods from ImmutableFileCollection

Use layout.fileFor() in a smoke test

    • -2
    • +2
    ./ContinuousBuildActionExecuterTest.groovy
  1. … 32 more files in changeset.
Ensure command-line deprecation messages are sent from the client to the daemon, as was previously happening when Java serialization was used. Change signatures on various types to communicate this expectation better.

It would be better if the messages were logged in the client rather than travelling to the daemon and then back again. This change does not address this and simply recreates the situation that was already in place.

    • -3
    • +2
    ./ParallelismConfigurationBuildActionExecuterTest.groovy
    • -2
    • +3
    ./TestExecutionRequestActionTest.groovy
  1. … 18 more files in changeset.
Code and documentation ajustments to PR

This commit:

- Renames methods in PhasedBuildActionExecuter and corresponding uses

- Improves public java docs making them more precise

- Replaces mocks by stubs in unit tests when possible

- Makes action's handlers in phased actions not receiving failures (they

are send to build results)

Signed-off-by: Lucas Smaira <lsmaira@google.com>

    • -1
    • +1
    ./FailsafePhasedActionResultListenerTest.groovy
    • -52
    • +12
    ./PhasedActionEventConsumerTest.groovy
  1. … 37 more files in changeset.
Introduce support for running phased actions

This commit introduces the ability of running multiple build actions in

different phases of the build. These actions are passed by the client

through the tooling api.

With this commit, a single action can be added to each one of the

supporting phases (after projects are loaded, after projects are

evaluated and after tasks are run).

This feature allows improvements like running actions that call a model

builder modifying the graph tasks, and then it is possible to first

fetch a model and then execute tasks, in this order. e.g. Android Studio

sync + source generation.

Signed-off-by: Lucas Smaira <lsmaira@google.com>

    • -0
    • +57
    ./FailsafePhasedActionResultListenerTest.groovy
    • -0
    • +117
    ./PhasedActionEventConsumerTest.groovy
  1. … 53 more files in changeset.
Add a test for #3601

Signed-off-by: Bo Zhang <bo@gradle.com>

    • -0
    • +23
    ./ContinuousBuildActionExecuterTest.groovy
Create build options only once

They are effectively immutable constants, so no need to

create them again and again in sevaral different places.

    • -2
    • +2
    ./ProviderStartParameterConverterTest.groovy
  1. … 29 more files in changeset.
Strive to keep Gradle's monotonic clock in sync with the system clock

    • -3
    • +6
    ./ContinuousBuildActionExecuterTest.groovy
    • -59
    • +0
    ./NormalizeBuildStartTimeBuildExecuterTest.groovy
  1. … 70 more files in changeset.