Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fix inconsistent dependency graph state

This commit fixes a problem with _unattached dependencies_ being

incorrectly removed from the dependency graph whenever only the

target of an edge is changed.

This was causing the Gradleception build to fail with strict

dependencies as "forSubgraph", but the problem was already

present (and left unnoticed).

  1. … 5 more files in changeset.
Fix inconsistent dependency graph state

This commit fixes a problem with _unattached dependencies_ being

incorrectly removed from the dependency graph whenever only the

target of an edge is changed.

This was causing the Gradleception build to fail with strict

dependencies as "forSubgraph", but the problem was already

present (and left unnoticed).

  1. … 5 more files in changeset.
Fix inconsistent dependency graph state

This commit fixes a problem with _unattached dependencies_ being

incorrectly removed from the dependency graph whenever only the

target of an edge is changed.

This was causing the Gradleception build to fail with strict

dependencies as "forSubgraph", but the problem was already

present (and left unnoticed).

  1. … 5 more files in changeset.
Fix inconsistent dependency graph state

This commit fixes a problem with _unattached dependencies_ being

incorrectly removed from the dependency graph whenever only the

target of an edge is changed.

This was causing the Gradleception build to fail with strict

dependencies as "forSubgraph", but the problem was already

present (and left unnoticed).

  1. … 5 more files in changeset.
Rework `forSubgraph` as implied by `strictly`

This commit removes a dedicated `forSubgraph` flag

on version constraints, so that it is _implied_ by

strict version constraints. This simplifies the behavior

of `strictly`, making it closer to the intuitive semantics,

while maintaining the ability to fail the build if a

consumer brings an incompatible version in the graph.

As a consequence, _strict dependencies_ now express that

the producer preference overrides whatever is found in

its own dependency graph. It is closer to the "nearest

first" semantics of Maven, while not having its drawbacks

(ordering in particular).

  1. … 77 more files in changeset.
Rework `forSubgraph` as implied by `strictly`

This commit removes a dedicated `forSubgraph` flag

on version constraints, so that it is _implied_ by

strict version constraints. This simplifies the behavior

of `strictly`, making it closer to the intuitive semantics,

while maintaining the ability to fail the build if a

consumer brings an incompatible version in the graph.

As a consequence, _strict dependencies_ now express that

the producer preference overrides whatever is found in

its own dependency graph. It is closer to the "nearest

first" semantics of Maven, while not having its drawbacks

(ordering in particular).

  1. … 79 more files in changeset.
Rework `forSubgraph` as implied by `strictly`

This commit removes a dedicated `forSubgraph` flag

on version constraints, so that it is _implied_ by

strict version constraints. This simplifies the behavior

of `strictly`, making it closer to the intuitive semantics,

while maintaining the ability to fail the build if a

consumer brings an incompatible version in the graph.

As a consequence, _strict dependencies_ now express that

the producer preference overrides whatever is found in

its own dependency graph. It is closer to the "nearest

first" semantics of Maven, while not having its drawbacks

(ordering in particular).

  1. … 77 more files in changeset.
Rework `forSubgraph` as implied by `strictly`

This commit removes a dedicated `forSubgraph` flag

on version constraints, so that it is _implied_ by

strict version constraints. This simplifies the behavior

of `strictly`, making it closer to the intuitive semantics,

while maintaining the ability to fail the build if a

consumer brings an incompatible version in the graph.

As a consequence, _strict dependencies_ now express that

the producer preference overrides whatever is found in

its own dependency graph. It is closer to the "nearest

first" semantics of Maven, while not having its drawbacks

(ordering in particular).

  1. … 77 more files in changeset.
Rework `forSubgraph` as implied by `strictly`

This commit removes a dedicated `forSubgraph` flag

on version constraints, so that it is _implied_ by

strict version constraints. This simplifies the behavior

of `strictly`, making it closer to the intuitive semantics,

while maintaining the ability to fail the build if a

consumer brings an incompatible version in the graph.

As a consequence, _strict dependencies_ now express that

the producer preference overrides whatever is found in

its own dependency graph. It is closer to the "nearest

first" semantics of Maven, while not having its drawbacks

(ordering in particular).

  1. … 77 more files in changeset.
Rework `forSubgraph` as implied by `strictly`

This commit removes a dedicated `forSubgraph` flag

on version constraints, so that it is _implied_ by

strict version constraints. This simplifies the behavior

of `strictly`, making it closer to the intuitive semantics,

while maintaining the ability to fail the build if a

consumer brings an incompatible version in the graph.

As a consequence, _strict dependencies_ now express that

the producer preference overrides whatever is found in

its own dependency graph. It is closer to the "nearest

first" semantics of Maven, while not having its drawbacks

(ordering in particular).

  1. … 77 more files in changeset.
Add BY_ANCESTORS selection reason

  1. … 2 more files in changeset.
Add BY_PARENT selection reason

  1. … 1 more file in changeset.
Add BY_ANCESTORS selection reason

  1. … 2 more files in changeset.
Add BY_ANCESTORS selection reason

  1. … 2 more files in changeset.
Add BY_PARENT selection reason

  1. … 1 more file in changeset.
Add selector override functionality to resolution engine

  1. … 11 more files in changeset.
Add selector override functionality to resolution engine

  1. … 10 more files in changeset.
Add `forSubgraph()` API to version constraints

  1. … 19 more files in changeset.
Add `forSubgraph()` API to version constraints

  1. … 19 more files in changeset.
Add `forSubgraph()` API to version constraints

  1. … 20 more files in changeset.
Add `forSubgraph()` API to version constraints

  1. … 20 more files in changeset.
Add `forSubgraph()` API to version constraints

  1. … 19 more files in changeset.
Apply `Anonymous type can be replaced with lambda` inspection the whole project

    • -50
    • +29
    ./StreamingResolutionResultBuilder.java
  1. … 666 more files in changeset.
Apply `Explicit type can be replaced with <>` inspection the whole project

    • -4
    • +4
    ./StreamingResolutionResultBuilder.java
  1. … 906 more files in changeset.
Optimize case where we see no virtual platform

Filtering edges during serialization consumes a

fair amount of the serialization time itself. In most

cases this is not necessary because there's no virtual

platform in use in the graph.

This commit optimizes for this case.

    • -3
    • +7
    ./StreamingResolutionResultBuilder.java
  1. … 6 more files in changeset.
Optimize case where we see no virtual platform

Filtering edges during serialization consumes a

fair amount of the serialization time itself. In most

cases this is not necessary because there's no virtual

platform in use in the graph.

This commit optimizes for this case.

    • -3
    • +7
    ./StreamingResolutionResultBuilder.java
  1. … 6 more files in changeset.
Add requested attributes to the resolution result

This is done so that it is possible to find out what

attributes were requested/compatible/missing in variants

based on the consumer attributes, without having to

resort on finding the configuration being resolved.

This is mostly useful in build scans where the plugin

listens to every resolution result, but does not necessarily

know what configuration was resolved to generate this

result.

    • -5
    • +22
    ./StreamingResolutionResultBuilder.java
  1. … 15 more files in changeset.
Add requested attributes to the resolution result

This is done so that it is possible to find out what

attributes were requested/compatible/missing in variants

based on the consumer attributes, without having to

resort on finding the configuration being resolved.

This is mostly useful in build scans where the plugin

listens to every resolution result, but does not necessarily

know what configuration was resolved to generate this

result.

    • -5
    • +22
    ./StreamingResolutionResultBuilder.java
  1. … 15 more files in changeset.
Add tests for resolution result variant API

    • -0
    • +5
    ./ResolvedVariantResultSerializer.java
    • -0
    • +1
    ./StreamingResolutionResultBuilder.java
  1. … 1 more file in changeset.
Add tests for resolution result variant API

    • -0
    • +5
    ./ResolvedVariantResultSerializer.java
    • -0
    • +1
    ./StreamingResolutionResultBuilder.java
  1. … 1 more file in changeset.