Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Reuse worker lease in task workers

More tests for IDEA de-duplication in composite

- Test IML dependencies when module names are de-duplicated

- Test de-duplication when not all projects have 'idea' plugin applied.

(Not yet implemented: see gradle/composite-builds#99)

Delay memory info until first interval has passed

Remove guava from worker process path

    • -1
    • +0
Start at least one worker, even when `max-workers` is 0 (as can be the case in unit tests).

Changed the contract of `ResolvedArtifactSet`, so that visitors can opt-in to being notified as soon as an artifact/file is available when doing parallel visiting.

Use this to split the download of an external artifact and the transformation of it to produce the final artifacts into 2 separate build operations, the later added on completion of the former.

Changed the contract of `BuildOperationQueue` to allow build operations to add further operations to the queue as they run. The queue cannot be reused once all work as completed.

Changed the implementation so that it arranges work in a queue, with workers taking work off the queue. The implementation does not use more than `max-workers` worker threads. Previously it would potentially starting a thread per operation, which would then block waiting for permission to start work. The implementation could be made more efficient with improvements to how it performs synchronisation and with better integration with the current state of the worker lease service.

`EmptyResolvedVariant` no longer is-a `ResolvedArtifactSet`. This was a left over from a previous refactor.

Changed `ParallelResolveArtifactSet` so that it simply provides a way to visit the contents of a `ResolvedArtifactSet` in an efficient way, rather than being a `ResolvedArtifactSet`.

Changed `ResolvedVariant` so that it has-a set of artifacts instead of is-a set of artifacts.

Moved parallel artifact resolution up so that it is applied as a single batch across all artifacts, regardless of type, and is applied regardless of which query API is being used to perform the resolution.

Previously there were issues with inconsistency, for example artifact transforms for all local file dependency artifacts were resolved in parallel and then resolved all other artifacts. Or parallel resolution did not happen when triggered using some of the public APIs.

  1. … 3 more files in changeset.
Add test coverage for #1873

+review REVIEW-6507

Mention Chris Gavin in the release notes

    • -0
    • +1
Use `BuildProjectRegistry` to build Idea project in composite

Instead of tracking projects from Included builds separately via

`CompositeBuildContext.allProjects`, we now use `BuildProjectRegistry.allProjects`

together with registered artifacts to build the IdeaProject file for

a composite build.

Fix equality for DefaultProjectDescriptor

The previous equality method was assuming a common parent

descriptor shared by all instances. This is no longer the case,

so equality and hashcode have been updated to check parent.

Fix a broken method from the signing subproject. (#1679)

* Fix a broken method from the signing subproject.

* Add a test to ensure the `signatureType` method works.

* Remove `Sign.signatureType` method from the signing subproject.

Removed unused method from `CompositeBuildContext`

Setup logging lazily

Worker processes can't start receiving requests before their logging

is set up. By deferring part of this work until the first log message is sent,

they can start working a bit earlier.

Revert "Don't include path to file in content hash for individual files"

This reverts commit 45ae4af0990bcc9e27043e18c249b07a448d4453.

Don't include path to file in content hash for individual files

We only need to track the file path inside a jar

+review REVIEW-6507

Changed a couple of integration tests to use `BlockingHttpServer` fixture instead of using ad hoc synchronisation mechanisms.

Changed `BlockingHttpServer` to allow it to return the contents of a file for a particular response.

Removed unused class.

Change repository test fixtures to allow the repository path and backing file of artifacts to be queried by test.

  1. … 3 more files in changeset.
Reworked `BlockingHttpServer`. Converted to Java and changed the implementation to use the JVM's HTTP server types instead of Jetty internals.

Simplified test case.

Log Maven output to file

Move all locking during task selection into a single thread

Mark log events with their associated build operation id

Use BuildOperationIdentifierRegistry in all of the places where

we generate renderable output events to set build operation id.

Serialize Operation identifiers coming from forked processes.

Use Builder pattern for constructing renderable output events to

avoid an explosion of constructors while maintaining forward

compatibility. (0 uses of StyledTextOutputEvent in non-forked

repos, so removed those constructors, they're internal anyway)

Reuse BuildOperation ids through progress logging where we


Issue: #1611

  1. … 41 more files in changeset.
Reactivate all Maven vs Gradle tests