Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Revert "Revert "Add debug support to TestLauncher (#9863)""

This reverts commit 17d0ec1ba0dd44df1a6e2e2f8e79c366faa2bee7.

    • -0
    • +6
    ./TestExecutionBuildConfigurationActionTest.groovy
  1. … 39 more files in changeset.
Revert "Add debug support to TestLauncher (#9863)"

This reverts commits 026d9f4f8b33e64a64fd0f9f4c364b4c7cebf26f and fda0f3d58074137a1e9204fbf2762d9f63a0603b.

Temporarily reverted due to a possible performance regression.

    • -6
    • +0
    ./TestExecutionBuildConfigurationActionTest.groovy
  1. … 40 more files in changeset.
Add debug support to TestLauncher (#9863)

    • -0
    • +6
    ./TestExecutionBuildConfigurationActionTest.groovy
  1. … 39 more files in changeset.
Fix test failures

    • -0
    • +6
    ./TestExecutionBuildConfigurationActionTest.groovy
  1. … 2 more files in changeset.
Fix test failures

    • -0
    • +6
    ./TestExecutionBuildConfigurationActionTest.groovy
  1. … 2 more files in changeset.
Add debug support to TestLauncher

    • -0
    • +6
    ./TestExecutionBuildConfigurationActionTest.groovy
  1. … 19 more files in changeset.
Add debug support to TestLauncher

    • -0
    • +6
    ./TestExecutionBuildConfigurationActionTest.groovy
  1. … 19 more files in changeset.
Add debug support to TestLauncher

    • -0
    • +6
    ./TestExecutionBuildConfigurationActionTest.groovy
  1. … 19 more files in changeset.
Add debug support to TestLauncher

    • -0
    • +6
    ./TestExecutionBuildConfigurationActionTest.groovy
  1. … 19 more files in changeset.
Add debug support to TestLauncher

    • -0
    • +6
    ./TestExecutionBuildConfigurationActionTest.groovy
  1. … 19 more files in changeset.
Add debug support to TestLauncher

    • -0
    • +6
    ./TestExecutionBuildConfigurationActionTest.groovy
  1. … 20 more files in changeset.
Add debug support to TestLauncher

    • -0
    • +6
    ./TestExecutionBuildConfigurationActionTest.groovy
  1. … 18 more files in changeset.
Add debug support to TestLauncher

    • -0
    • +6
    ./TestExecutionBuildConfigurationActionTest.groovy
  1. … 19 more files in changeset.
Remove WorkIdentity

Instead of assigning arbitrary ids to all work items that are part of

the execution graph, include the `Nodes` in

`ExecuteTaskBuildOperationDetails` and

`ExecuteScheduledTransformationStepBuildOperationDetails` so they can

be queries for dependency successors directly. This eliminates the need

to query `TaskExecutionGraphInternal` or `ExecutionPlan` for the node

in order to determine its dependencies.

    • -1
    • +4
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 33 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.

    • -9
    • +7
    ./ClientProvidedBuildActionRunnerTest.groovy
    • -10
    • +7
    ./ClientProvidedPhasedActionRunnerTest.groovy
  1. … 9 more files in changeset.
Move serialization of the exception to send back to the client out of the `BuildActionRunner` implementations so that it is a cross cutting concern applied for all build actions.

    • -25
    • +8
    ./ClientProvidedBuildActionRunnerTest.groovy
    • -25
    • +19
    ./ClientProvidedPhasedActionRunnerTest.groovy
  1. … 25 more files in changeset.
Improve error handling for tooling model invocations, so that any failure to build a model or run a client provided action is always treated as a build failure. Previously, some failures were ignored by error reporting.

Add a bunch of test coverage for TAPI error handling.

    • -26
    • +29
    ./ClientProvidedBuildActionRunnerTest.groovy
    • -32
    • +27
    ./ClientProvidedPhasedActionRunnerTest.groovy
  1. … 29 more files in changeset.
Move registration of tooling api build operation listeners to earlier in the build pipeline.

    • -69
    • +0
    ./SubscribableBuildActionRunnerSpec.groovy
  1. … 5 more files in changeset.
Move ExecuteTaskBuildOperationType (#7374)

* Move ExecuteTaskBuildOperationType to org.gradle.api.internal.tasks.execution

* Remove redundant import

    • -1
    • +1
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 25 more files in changeset.
Address review items

    • -1
    • +1
    ./TestExecutionBuildConfigurationActionTest.groovy
  1. … 10 more files in changeset.
Introduce separate package for execution plan

This is the code that does not depend on tasks.

    • -1
    • +1
    ./TestExecutionBuildConfigurationActionTest.groovy
  1. … 59 more files in changeset.
Rename TaskGraphExecuter -> TaskExecutionGraph(Internal)

    • -5
    • +5
    ./TestExecutionBuildConfigurationActionTest.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>

    • -19
    • +2
    ./ClientProvidedPhasedActionRunnerTest.groovy
  1. … 19 more files in changeset.
Make phased actions run tasks only when defined

With this commit, in order to specify if a PhasedAction should run tasks

or just configure the build, the API forTasks is used: when tasks are

defined (or an empty collection is given), Gradle will run tasks,

otherwise only configure the build.

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

    • -1
    • +19
    ./ClientProvidedPhasedActionRunnerTest.groovy
  1. … 7 more files in changeset.
Handle BA failures in phased action runner

Move exception handling in case of failures in BuildActions from

ProviderConnection to ClientProvidedPhasedActionRunner.

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

    • -3
    • +9
    ./ClientProvidedPhasedActionRunnerTest.groovy
  1. … 2 more files in changeset.
Change exception handling when phased action fails

Exceptions in BuildActions of a PhasedAction are now immediately thrown

and the build imediatelly fails. This makes sure that if an action fails

the remaining steps of the build will not uselessly be executed.

Exceptions are unwrapped in ProviderConnection so the correct

information is sent back to the TAPI client.

This commit also addresses other review comments in the PR:

- Removes unnecessary @since annotations in methods

- Adds a test (ignored for now) making sure that default tasks are not

run when no tasks are specified by the user

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

    • -9
    • +3
    ./ClientProvidedPhasedActionRunnerTest.groovy
  1. … 11 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
    • +5
    ./ClientProvidedBuildActionRunnerTest.groovy
  1. … 19 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>

    • -33
    • +29
    ./ClientProvidedPhasedActionRunnerTest.groovy
  1. … 38 more files in changeset.
Allow build operation listeners to log (#4693)

This change moves build operation listening out of the standard listener infrastructure, to remove serialisation guarantees. As logging output now causes build operation notifications, whenever a build operation listener logged something it would fail due to the listener manager blocking overlapping signals.

By moving build operation listening out, overlapping and concurrent signals are now allowed.

This places more responsibility on listener implementations (e.g. thread safety), but there are few and they are all internal.

Additionally, listeners will now never receive progress notifications before start notifications and after finish notifications for that operation.

    • -7
    • +36
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 18 more files in changeset.
Rationalise handling of “current” build operation and build operation ID

For an upcoming change to emit console logging as build operation progress events, we need to associate all progress logging with the build operation. This pulled a thread on some long overdue cleanup.

The end result is:

1. Base build operation infrastructure is consolidated org.gradle.internal.operations.

2. Mechanism for passing thread global current build operation is more test friendly, and better named.

3. A consistent mechanism is used for binding the current operation to the thread, instead of two mechanisms.

4. Build operation IDs are typed to OperationIdentifier.

There is no public API or user behaviour change.

    • -1
    • +1
    ./SubscribableBuildActionRunnerSpec.groovy
    • -1
    • +1
    ./TestExecutionRequestActionRunnerTest.groovy
    • -6
    • +7
    ./TestExecutionResultEvaluatorTest.groovy
  1. … 145 more files in changeset.