Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Inline DelegatingBuildOperationExecutor

    • -58
    • +0
    ./DelegatingBuildOperationExecutor.java
  1. … 2 more files in changeset.
Move ServiceScope and EventScope to :base-annotations

Here we are sharing the concept of event and service scopes by making scopes themselves extensible. This is achieved by replacing the single enum with types. The scope types inherit each other, representing the inheritance between scopes.

    • -2
    • +2
    ./BuildOperationProgressEventEmitter.java
    • -1
    • +1
    ./notify/BuildOperationNotificationListenerRegistrar.java
  1. … 95 more files in changeset.
Use generic BuildOperationMetadata

Instead of BuildOperationCategory, which is Gradle-bound.

  1. … 13 more files in changeset.
Suppress warnings about unused generics

Remove redundant ExecutingBuildOperation type

    • -1
    • +1
    ./DelegatingBuildOperationExecutor.java
  1. … 10 more files in changeset.
Move BuildOperationListener and its manager to :buildOperations

Removed the @EventScope annotation because the annotation only works with the _other_ ListenerManager in Gradle.

    • -43
    • +0
    ./BuildOperationListenerManager.java
    • -131
    • +0
    ./DefaultBuildOperationListenerManager.java
  1. … 5 more files in changeset.
Extract BuildOperationRunner from BuildOperationExecutor

We don't always need the queue semantics.

  1. … 6 more files in changeset.
Move basic build operation-related types to :buildOperations

    • -48
    • +0
    ./CurrentBuildOperationPreservingRunnable.java
    • -30
    • +0
    ./DefaultBuildOperationIdFactory.java
  1. … 29 more files in changeset.
Move BuildOperationNotificationListenerRegistrar to :core

    • -45
    • +0
    ./notify/BuildOperationNotificationListenerRegistrar.java
  1. … 1 more file in changeset.
Emit build operation progress events for configuration cache and file system watching build option values (#13743)

    • -0
    • +76
    ./BuildOperationProgressEventEmitter.java
  1. … 55 more files in changeset.
Create new configuration caching compatible enterprise plugin contact point (#13372)

    • -1
    • +1
    ./notify/BuildOperationNotificationListener.java
    • -0
    • +3
    ./notify/BuildOperationNotificationListenerRegistrar.java
  1. … 121 more files in changeset.
Introduce internal `@EventScope` annotation to attach to listener interfaces to declare which scope their events are generated in.

Add some validation to `ListenerManager` to verify that each listener interface is annotated with the correct scope.

  1. … 62 more files in changeset.
Annotate internal APIs used by test-distribution (#13010)

In order to avoid accidentally changing an internal API without

adjusting the test-distribution plugin, they are now annotated with

`@UsedByScanPlugin("test-distribution")`.

  1. … 30 more files in changeset.
Remove unnecessary operation

Fix minor typo in BuildOperationType

Signed-off-by: Volker Leck <volker@gradle.com>

Polish BuildOperationType, fixing typo in javadoc

Signed-off-by: Paul Merlin <paul@gradle.com>

Add missing @Override to all modules

Signed-off-by: Paul Merlin <paul@gradle.com>

  1. … 999 more files in changeset.
Convert net.jcip.annotations to javax.annotation.concurrent annotations

  1. … 67 more files in changeset.
Add ExecutingBuildOperation

And use it to track input snapshotting and build cache key calculation.

    • -0
    • +5
    ./DelegatingBuildOperationExecutor.java
    • -0
    • +48
    ./ExecutingBuildOperation.java
  1. … 11 more files in changeset.
Don't show artifact transformation headers (#7421)

The headers for artifact transforms should not show up in the build

log if there is no output from the transformations.

That makes the console log much cleaner, especially for the plain and

verbose console.

The logging for artifact transformations still shows up in build scan

logs or if the transformation produced some output.

  1. … 6 more files in changeset.
Use more conventional hash code for OperationIdentifier

Remove BuildOperationNotificationListener2

Not used anymore by the build scan plugin from 2.0-RC1

    • -47
    • +0
    ./notify/BuildOperationNotificationListener2.java
    • -9
    • +0
    ./notify/BuildOperationNotificationListenerRegistrar.java
Retire worker lease service callable methods in favor of Factory methods

  1. … 8 more files in changeset.
Simplify BuildOperationNotificationListenerRegistrar

Only keep the method used by build scan plugin 2.0, which is the minimum

version required for Gradle 5.0+.

    • -2
    • +4
    ./notify/BuildOperationNotificationListener.java
    • -1
    • +1
    ./notify/BuildOperationNotificationListener2.java
    • -13
    • +2
    ./notify/BuildOperationNotificationListenerRegistrar.java
  1. … 7 more files in changeset.
Fix handling of InterruptedExceptions

These exceptions were handled incorrectly throughout the whole

codebase, usually rethrown without restoring the interrupt status

or discarded entirely. This means that the system would not stop

executing even though the user wanted it to. In some cases this

also left the system in an inconsistent state, leading to deadlocks.

The most notable changes include:

- UncheckedException.rethrow automatically restores the interrupt status

- AsyncDispatch is guaranteed to deliver its messages, even when interrupted

- ExecHandle cancels the started process if it is interrupted while waiting

- ExecHandle disconnects from the process' output before killing it

- The worker API cancels the started work items if it is interrupted

- ManagedExecutors shut down immediately if they are interrupted while stopping

- We no longer log exceptions caused by interruption to the console

- Interrupting our caches no longer leaks file locks

  1. … 38 more files in changeset.
Document build operations categories

  1. … 3 more files in changeset.
Use new BuildOperation category for transforms (#6186)

So they show up in the console and in build scans.

  1. … 4 more files in changeset.
Change the console build status rendering to use the progress operation events associated with various build operations rather than injecting some additional synthetic progress events into the event stream to communicate this information. This avoids the cost of handling these additional events.

As a side benefit, the configuration phase % complete calculation now takes included builds into account.

  1. … 24 more files in changeset.
Always generate task realization and registration build operations and remove the magic flag that used to enable this.

  1. … 3 more files in changeset.
Remove outdated comment

    • -8
    • +0
    ./notify/BuildOperationStartedNotification.java