Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Merge remote-tracking branch 'origin/release-5.6' into release

* origin/release-5.6:

Attempt to capture failure during worker process shutdown

Use Gradle 5.6.3

Prepare for 5.6.4

Fix Kotlin DSL accessor for `android.kotlinOptions`

Use `hostname` on macOS to lookup local host name

Inject hostname to OriginMetadataFactory

  1. … 1 more file in changeset.
Attempt to capture failure during worker process shutdown

Fix some lgtm alerts

  1. … 11 more files in changeset.
Synchronize log messages with worker response messages

To avoid logging messsages containing the build operation id from being

handled asynchronously on a separate thread (and potentially arriving

after the build operation has been finished), we now process log event

messages that occur inside the boundary of the request/response through

the same queue, ensuring that they will arrive and be processed in the

order that they are sent.

  1. … 7 more files in changeset.
Rework the service wiring in the worker daemon so that only a single `InstantiatorFactory` is created and shared, rather than each layer creating its own instance (and in-memory caches).

Removed some now unnecessary layers from the service registry hierarchy in the worker daemon.

  1. … 5 more files in changeset.
Dogfood native test fixtures

This commit replaces our custom test fixtures with the native "Java test fixtures".

The `TestFixturesPlugin` of our build has been simplified to leverage the native

test fixtures capabilities. Some noticeable changes:

- the `testFixtures` extension has been replaced with regular dependency declaration

- dependencies on test fixtures are now declared using the `testFixtures` keyword

- test fixtures properly declare an API and an implementation, meaning that the

implementation dependencies of test fixtures no longer leak into the compile

classpath of consumers (in particular tests)

  1. … 84 more files in changeset.
Merge branch 'release'

  1. … 14 more files in changeset.
Only start logging on worker once the logger is connected

This way, the worker will continue to print to standard out/err until

it actually can send messages to the daemon.

Change all subprojects to use 'implementation' dependencies

This includes:

- All projects now explicitly declare all dependencies to other

subprojects. This makes issues more visible, guards for accidental

addition of new dependencies, and leaks much less transitive

dependencies on the compile classpathes.

- All usages of 'runtime' to declare dependencies have been replaced

with 'runtimeOnly'

- All projects are now `java-library` (and declare this explicitly)

- Most remaining Groovy scripts are translated to Kotlin

- The old 'compile' and 'runtime' configurations are not

configured/created anymore for the 'testFixture' and 'integTest'

source sets.

- Some obsolete dependencies (see previous commits) are removed

- 'api' is used scarcely on purpose as the current project structure is

not well designed for this. The projects contain code for several

concerns of the build tool and thus putting complete projects on the

API of others exposes too much. They should be split up along

functional concerns first.

  1. … 112 more files in changeset.
Add missing @Override to all modules

Signed-off-by: Paul Merlin <>

  1. … 998 more files in changeset.
Move worker process related types to :workerProcesses

  1. … 21 more files in changeset.