Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Reuse worker leases in build processor queue

Cache calculated include paths for native compile tasks

Fix unqualified URL setter references in IvyArtifactRepository javadoc

Follow up to ddae1accaa0b34fc37795af3eb634b47f3a24f95

Added some test coverage for parallel artifact transform execution.

Some changes to `BlockingHttpServer`: fix `release()` to work when fewer than the expected max concurrent requests are still expected, moved timeout from parameter of `waitForAllPendingCalls()` to constructor parameter, added some test coverage.

Fixed task dependencies so that test works correctly when run in parallel mode.

Shuffled around the internals of `DefaultArtifactTransforms`.

Don't apply artifact transform twice to each artifact/file when visiting the contents of a consumer provided variant.

Cleaned up the various `ResolvedArtifactSet` implementations, post API refactor.

Changed the contract of `ResolvedArtifactSet` so that it can only be visited asynchronously, merging several operations (snapshot, prepare, visit) into a single method.

Deduplicate IDEA module names in TAPI models

This wasn't working previously due to the fact that the 'idea'

plugin was not being implicitly applied to included builds

when constructing the IdeaProject model for a composite build.


Renamed `NameDeduplicationAdapter` -> `HierarchicalElementAdapter`

Only de-duplicate project names once per build execution

Cleanup some stale TODOs

Ensure that composite build services are available

The gradle runtime requires the composite build services to be registered.

Adding this runtime dependency from the `:plugins` module is a bit of a hacky

way to ensure that these services are registered for all integration testing.

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.