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. … 666 more files in changeset.
Apply `Explicit type can be replaced with <>` inspection the whole project

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

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

  1. … 695 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 902 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 902 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 890 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 897 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 902 more files in changeset.
Remove synthetic accessors for internal private symbol references

  1. … 902 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.

  1. … 29 more files in changeset.
Move `TreeFormatter` out of core and decouple from `TreeVisitor` by introducing an interface to represent something that can receive diagnostic information.

  1. … 69 more files in changeset.
Remove flag from constructor of `TreeFormatter`, so that all usages format information the same way.

  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`

  1. … 4 more files in changeset.
Renamed `VersionSelectionReasons` -> `ComponentSelectionReasons`

  1. … 30 more files in changeset.
Remove unnecessary method from API

  1. … 2 more files in changeset.
Further simplification of rendering of selection reasons

Reuse the multi-line section to generate a single-line

selection reason message when appropriate.

    • -54
    • +21
    ./DependencyInsightReporter.java
More consistent message rendering in dependency insight

- Use common logic for rendering multi-line and single-line

selection reasons

- Remove custom logic for rendering constraints. This allows

other reasons to be displayed in conjunction with constraints.

    • -34
    • +21
    ./DependencyInsightReporter.java
  1. … 1 more file in changeset.
Do not render empty "Was requested" reason in dependency insight

  1. … 3 more files in changeset.
Use `getVersion()` in preference to `getVersionConstraint().getPreferredVersion()`

  1. … 13 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.

    • -28
    • +54
    ./DependencyInsightReporter.java
  1. … 12 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.
Collect all dependency reasons

This code fixes the problem that we only keep the first dependency reason

that we find when resolving. If it was a dependency without reason, then

even if a transitive dependency had a custom reason, we wouldn't show it.

Now, we properly collect all reasons during resolution, then show them in

the dependency insight report. It's worth noting that the output of the

report has been changed to always include a header, so that we have the

details for all dependencies which match the predicate.

  1. … 8 more files in changeset.
Collect all dependency reasons

This code fixes the problem that we only keep the first dependency reason

that we find when resolving. If it was a dependency without reason, then

even if a transitive dependency had a custom reason, we wouldn't show it.

Now, we properly collect all reasons during resolution, then show them in

the dependency insight report. It's worth noting that the output of the

report has been changed to always include a header, so that we have the

details for all dependencies which match the predicate.

  1. … 8 more files in changeset.
Report versions which were rejected by attribute matching

  1. … 4 more files in changeset.
Report versions which were rejected by attribute matching

  1. … 4 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.

  1. … 26 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.

  1. … 26 more files in changeset.