Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
Enable parallel resolution of the dependency graph

This commit introduces parallel resolution of a dependency graph. When the graph is resolved:

- pick a node from the queue (starting from the root node)

- for its outgoing edges, resolve them serially, or concurrently if:

- all of the edges reference nodes which metadata hasn't been resolved yet

- or there are more than 8 edges

- then add discovered edges _in order_ add the end of the queue

This means that not _all_ graph resolution is done concurrently: there's a heuristic to tell if it's worth doing it,

and similarly, there are operations which still need to be done serially in order to have guarantees on the shape

of the graph (typically, to make sure that files are visible in a certain order).

    • -1
    • +1
  1. … 12 more files in changeset.
Use doLast instead of left shift operator

Made this change in preparation for deprecating the left shift operator.

+review REVIEW-6236

    • -42
    • +62
  1. … 163 more files in changeset.
Use component id rather than module version id in the 'required by' paths in resolve exceptions. This provides a better description for local components, and also allows for components that don't have a module version id.

    • -1
    • +1
  1. … 13 more files in changeset.
Moved `ResolveTestFixture` into a `org.gradle.integtests.fixtures` subpackage

This has the net effect of making this class visible to the Tooling API integration

tests, since the `org.gradle.integtests.fixtures` package is explicitly allowed

in the filtering classloader used by the TAPI integration tests.

    • -0
    • +1
  1. … 8 more files in changeset.
Fixed a bunch of tests to work when the machine's line separator is not \n.

    • -3
    • +2
  1. … 26 more files in changeset.
Renamed subprojects/core-impl to subprojects/dependency-management.

    • -0
    • +727
  1. … 1384 more files in changeset.