Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Apply `Anonymous type can be replaced with lambda` inspection the whole project

  1. … 665 more files in changeset.
Apply `Explicit type can be replaced with <>` inspection the whole project

    • -2
    • +2
    ./nodes/InvertedRenderableModuleResult.java
    • -1
    • +1
    ./nodes/RenderableDependencyResult.java
  1. … 906 more files in changeset.
Extract anonymous classes to static inner classes

    • -17
    • +25
    ./nodes/UnresolvableConfigurationResult.java
  1. … 145 more files in changeset.
Extract anonymous classes to static inner classes

    • -17
    • +25
    ./nodes/UnresolvableConfigurationResult.java
  1. … 145 more files in changeset.
Extract anonymous classes to static inner classes

    • -17
    • +25
    ./nodes/UnresolvableConfigurationResult.java
  1. … 145 more files in changeset.
Extract anonymous classes to static inner classes

    • -17
    • +25
    ./nodes/UnresolvableConfigurationResult.java
  1. … 145 more files in changeset.
Extract anonymous classes to static inner classes

    • -17
    • +25
    ./nodes/UnresolvableConfigurationResult.java
  1. … 146 more files in changeset.
Organize imports

  1. … 339 more files in changeset.
Replace anonymous classes with lambdas

  1. … 710 more files in changeset.
Replace anonymous classes with lambdas

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

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

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

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

  1. … 999 more files in changeset.
Support depending on multiple variants of the same component

This commit changes the resolution engine so that it is possible

to resolve multiple variants of the same component when using

variant-aware dependency management.

Before, in order to have 2 dependencies on the same component

but using different variants, one had to use explicit configuration

dependencies. Now, with this change, it is possible to have

two dependencies on the same component, but with different attributes.

Those components would resolve to different variants.

Special treatment is applied when attributes are declared on constraints:

in this case, we _merge_ the constraint attributes, and make sure that

the edge is computed using the merged attributes. Should they be

incompatible, the build would fail as before.

    • -2
    • +2
    ./nodes/AbstractRenderableDependency.java
    • -2
    • +4
    ./nodes/AbstractRenderableModuleResult.java
  1. … 23 more files in changeset.
Fix dependencyInsight for project dependencies that fail to resolve

    • -6
    • +15
    ./nodes/UnresolvedDependencyEdge.java
  1. … 2 more files in changeset.
Show selected id in dependencies report when differs from version constraint

    • -0
    • +15
    ./nodes/AbstractRenderableDependency.java
    • -1
    • +1
    ./nodes/AbstractRenderableDependencyResult.java
    • -1
    • +1
    ./nodes/InvertedRenderableModuleResult.java
  1. … 2 more files in changeset.
Make use of `VersionConstraint` in dependency reporting

- Use `VersionConstraint.displayName` to render unresolved dependency

- Remove assumption that all unresolved deps are `ModuleComponentSelector`

- Tidy implementation of `DependencyResultSorter`

    • -14
    • +1
    ./nodes/AbstractRenderableDependencyResult.java
    • -7
    • +1
    ./nodes/RenderableUnresolvedDependencyResult.java
    • -6
    • +15
    ./nodes/UnresolvedDependencyEdge.java
  1. … 2 more files in changeset.
Replace '=>' symbol with explicit 'requested'

    • -1
    • +1
    ./nodes/InvertedRenderableModuleResult.java
  1. … 1 more file in changeset.
Do not attach children to constraints in `dependencies` report

Prior to this change, constraints and dependencies were treated identically in

the `dependencies` report. This meant that transitive dependencies would often

appear to be "brought in" by an imported BOM file or other source of dependency

constraints. This can be confusing to a user, who thinks of the constraint as

merely influencing the version of the dependency, not adding a new dependency.

This has been addressed by ensuring that transitive dependencies are attached to

a hard dependency in the dependencies report. Dependency constraint edges are

rendered non-transitively, even if they appear earlier in the dependency graph.

Fixes #5969

Fixes #4846

    • -1
    • +1
    ./nodes/RenderableDependencyResult.java
  1. … 1 more file in changeset.
Show more edge information in dependencyInsight

The `dependencyInsight` report shows detailed information about a particular

node in the dependency graph, including all incoming edges to that node traced from

the root. Understand which incoming edge is responsible for influencing the selected

version is an important use case for `dependencyInsight`.

A previous change added and conflict resolution reasons that were present for a

node on an incoming edge. This PR brings an improvement over this previous behaviour:

with this change we show the requested version for each edge where it is different

from the actual version that was selected.

    • -11
    • +15
    ./nodes/InvertedRenderableModuleResult.java
  1. … 2 more files in changeset.
Show conflict resolution reason for 2nd level dependencies

The dependencyInsight report shows a full suite of selection reasons

for the dependency being analysed, but shows only the selected version

for dependencies that are transitively responsible for the target

dependency.

With this change, we report the conflict resolution reason for any higher-order

dependencies that were selected through conflict resolution.

    • -0
    • +14
    ./nodes/InvertedRenderableModuleResult.java
  1. … 1 more file in changeset.
Use `getVersion()` in preference to `getVersionConstraint().getPreferredVersion()`

    • -1
    • +1
    ./nodes/AbstractRenderableDependencyResult.java
    • -2
    • +2
    ./nodes/RenderableUnresolvedDependencyResult.java
  1. … 11 more files in changeset.
Fix potential class cast exception

  1. … 1 more file in changeset.
Normalize `ModuleIdentifier`

This commit reworks the `ComponentModuleIdentifier`/`ComponentModuleSelector`/`ModuleVersionSelector`

classes to use `ModuleIdentifier` under the hood, instead of storing denormalized strings. This has

the advantage that we can reduce the use of the module identifier factory, which is called very

often during dependency resolution. Sharing instances reduces the need for conversions, and makes

comparisons faster.

    • -2
    • +1
    ./nodes/AbstractRenderableDependencyResult.java
  1. … 163 more files in changeset.
Add an option to limit the report to a single path per dependency

Sometimes the report is so large it's difficult to read, especially

when some dependencies are so common they have a large number of

paths leading to them. This commit adds a `--singlepath` option

which allows reducing the report to the first path to each dependency.

  1. … 6 more files in changeset.
Refactor dependency insight renderer for readability

This commit largely refactors the dependency insight report

infrastructure to make it more understandable. The same should

probably be done for the ascii reporter, but it's not as widely

used. This is the reason why the dependency graphs builder has

a `complete` method, instead of writing the legend directly

when all nodes are rendered: it is called multiple times,

instead of once.

    • -0
    • +115
    ./DependencyGraphsRenderer.java
  1. … 8 more files in changeset.
Add rendering of failures to dependency insight report

This commit adds support for rendering failures in the dependency insight

report. Before this, the only message you would get was `FAILED`, which

forces to implement a task to show the actual error, which can be a bit

painful sometimes. Instead, errors are now reported as extra details in

the header.

  1. … 3 more files in changeset.
Add rendering of failures to dependency insight report

This commit adds support for rendering failures in the dependency insight

report. Before this, the only message you would get was `FAILED`, which

forces to implement a task to show the actual error, which can be a bit

painful sometimes. Instead, errors are now reported as extra details in

the header.

  1. … 3 more files in changeset.
Render target version only when it differs from requested

    • -3
    • +9
    ./nodes/RenderableUnresolvedDependencyResult.java
Collect all rejections during dependency resolution

This commit collects all rejections during dependency resolution,

so that we can properly show them in the dependency insight report.

This highlights some consistency/readability issues, like when a

rejection originates from a constraint. For this reason this commit

does **not** pass tests, and is just the first step towards better

rendering.

    • -0
    • +59
    ./nodes/AbstractRenderableDependency.java
    • -15
    • +1
    ./nodes/AbstractRenderableDependencyResult.java
    • -6
    • +1
    ./nodes/AbstractRenderableModuleResult.java
    • -0
    • +48
    ./nodes/DefaultSection.java
    • -11
    • +12
    ./nodes/DependencyReportHeader.java
    • -20
    • +1
    ./nodes/RenderableUnresolvedDependencyResult.java
    • -0
    • +23
    ./nodes/Section.java
    • -27
    • +2
    ./nodes/UnresolvableConfigurationResult.java
  1. … 18 more files in changeset.
Collect all rejections during dependency resolution

This commit collects all rejections during dependency resolution,

so that we can properly show them in the dependency insight report.

This highlights some consistency/readability issues, like when a

rejection originates from a constraint. For this reason this commit

does **not** pass tests, and is just the first step towards better

rendering.

    • -0
    • +59
    ./nodes/AbstractRenderableDependency.java
    • -15
    • +1
    ./nodes/AbstractRenderableDependencyResult.java
    • -6
    • +1
    ./nodes/AbstractRenderableModuleResult.java
    • -0
    • +48
    ./nodes/DefaultSection.java
    • -11
    • +12
    ./nodes/DependencyReportHeader.java
    • -20
    • +1
    ./nodes/RenderableUnresolvedDependencyResult.java
    • -0
    • +23
    ./nodes/Section.java
    • -27
    • +2
    ./nodes/UnresolvableConfigurationResult.java
  1. … 18 more files in changeset.