Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Changes in Gradle Module Metadata loading

We no longer define any configurations, like default or the maven ones.

In the past, we still had these defined which allowed partial legacy

selection. But it made no sense since all these configurations would not

have any dependencies for example.

Fixes #10980

    • -1
    • +13
    ./model/maven/DefaultMutableMavenModuleResolveMetadata.java
  1. … 16 more files in changeset.
Changes in Gradle Module Metadata generation

We no longer define any configurations, like default or the maven ones.

In the past, we still had these defined which allowed partial legacy

selection. But it made no sense since all these configurations would not

have any dependencies for example.

    • -1
    • +13
    ./model/maven/DefaultMutableMavenModuleResolveMetadata.java
  1. … 16 more files in changeset.
Support variant selection in capability conflict resolution

A conflict can also occur between two variants of the same component.

This gives access to the variant name in the selection rule and

evicts nodes that represent the not-selected variant.

    • -0
    • +46
    ./model/DefaultComponentVariantIdentifier.java
  1. … 13 more files in changeset.
Support variant selection in capability conflict resolution

A conflict can also occur between two variants of the same component.

This gives access to the variant name in the selection rule and

evicts nodes that represent the not-selected variant.

    • -0
    • +46
    ./model/DefaultComponentVariantIdentifier.java
  1. … 12 more files in changeset.
Fix realization of Maven metadata

The fix to handle SNAPSHOT dependencies correctly with Gradle

Module Metadata exposed a couple of failures in the "force

realize" cases, which correspond to the cases where metadata

has to be realized pre-emptively (using cached metadata rules

for example).

    • -1
    • +18
    ./model/AbstractRealisedModuleResolveMetadataSerializationHelper.java
  1. … 1 more file in changeset.
Fix snapshot handling with Gradle Module Metadata

This commit fixes a couple of bugs:

1. if Gradle Module Metadata was published and consumed, then

the `changing` flag for the resolved component metadata wouldn't

be set to `true`, which means that snapshot would effectively be

considered as persistent

2. the publish test fixtures were not using the right, timestamped,

version id for the metadata and artifacts in case of unique snapshots,

which caused the resolution to fallback to the POM file

In addition, this fixes the generated module metadata file which

was uploaded _without_ substution the the SNAPSHOT version with

the timestamped version when published on external repositories.

Finally, this highlighted a couple of issues with test fixtures

which were still using Gradle Module Metadata when they shouldn't.

Fixes #10916

    • -4
    • +29
    ./model/UrlBackedArtifactMetadata.java
  1. … 10 more files in changeset.
Fix snapshot handling with Gradle Module Metadata

This commit fixes a couple of bugs:

1. if Gradle Module Metadata was published and consumed, then

the `changing` flag for the resolved component metadata wouldn't

be set to `true`, which means that snapshot would effectively be

considered as persistent

2. the publish test fixtures were not using the right, timestamped,

version id for the metadata and artifacts in case of unique snapshots,

which caused the resolution to fallback to the POM file

Fixes #10916

    • -3
    • +31
    ./model/UrlBackedArtifactMetadata.java
  1. … 7 more files in changeset.
Fix snapshot handling with Gradle Module Metadata

This commit fixes a couple of bugs:

1. if Gradle Module Metadata was published and consumed, then

the `changing` flag for the resolved component metadata wouldn't

be set to `true`, which means that snapshot would effectively be

considered as persistent

2. the publish test fixtures were not using the right, timestamped,

version id for the metadata and artifacts in case of unique snapshots,

which caused the resolution to fallback to the POM file

Fixes #10916

    • -3
    • +31
    ./model/UrlBackedArtifactMetadata.java
  1. … 7 more files in changeset.
Fix snapshot handling with Gradle Module Metadata

This commit fixes a couple of bugs:

1. if Gradle Module Metadata was published and consumed, then

the `changing` flag for the resolved component metadata wouldn't

be set to `true`, which means that snapshot would effectively be

considered as persistent

2. the publish test fixtures were not using the right, timestamped,

version id for the metadata and artifacts in case of unique snapshots,

which caused the resolution to fallback to the POM file

In addition, this fixes the generated module metadata file which

was uploaded _without_ substution the the SNAPSHOT version with

the timestamped version when published on external repositories.

Finally, this highlighted a couple of issues with test fixtures

which were still using Gradle Module Metadata when they shouldn't.

Fixes #10916

    • -4
    • +29
    ./model/UrlBackedArtifactMetadata.java
  1. … 10 more files in changeset.
Re-use immutable capabilities objects in configuration metadata objects

    • -6
    • +4
    ./model/DefaultConfigurationMetadata.java
    • -6
    • +5
    ./model/JavaEcosystemVariantDerivationStrategy.java
Re-use immutable capabilities objects in configuration metadata objects

    • -6
    • +4
    ./model/DefaultConfigurationMetadata.java
    • -6
    • +5
    ./model/JavaEcosystemVariantDerivationStrategy.java
Re-use immutable capabilities objects in configuration metadata objects

    • -6
    • +4
    ./model/DefaultConfigurationMetadata.java
    • -1
    • +1
    ./model/JavaEcosystemVariantDerivationStrategy.java
Re-use immutable capabilities objects in configuration metadata objects

    • -6
    • +4
    ./model/DefaultConfigurationMetadata.java
    • -1
    • +1
    ./model/JavaEcosystemVariantDerivationStrategy.java
Rename inheritStrictVersions() -> endorseStrictVersions() (#10755)

This name change more clearly communicates the semantics of the

feature from a users point of view.

This commit also removes all mentions of 'inheriting' AND 'forSubgraph'.

There have been some leftovers in documentation/comments that

would have been misleading in the future. To make sure we catch all,

this also updates all variable/method/package names.

    • -7
    • +7
    ./model/AbstractMutableModuleComponentResolveMetadata.java
    • -3
    • +3
    ./model/AbstractRealisedModuleResolveMetadataSerializationHelper.java
    • -1
    • +1
    ./model/AbstractVariantBackedConfigurationMetadata.java
    • -8
    • +8
    ./model/ConfigurationBoundExternalDependencyMetadata.java
    • -4
    • +4
    ./model/ForcedDependencyMetadataWrapper.java
    • -14
    • +14
    ./model/GradleDependencyMetadata.java
    • -1
    • +1
    ./model/LazyToRealisedModuleComponentResolveMetadataHelper.java
    • -4
    • +4
    ./model/ModuleDependencyMetadataWrapper.java
  1. … 60 more files in changeset.
Rename inheritStrictVersions() -> endorseStrictVersions()

This is more clearly communicating the semantics of the feature

from a users point of view.

The commit also removes all mentions of 'inheriting' AND 'forSubgraph'.

There have been some leftovers in documentation/comments that

will be misleading in the future. To make sure we catch all,

I also updated all variable/method/package names.

    • -7
    • +7
    ./model/AbstractMutableModuleComponentResolveMetadata.java
    • -3
    • +3
    ./model/AbstractRealisedModuleResolveMetadataSerializationHelper.java
    • -1
    • +1
    ./model/AbstractVariantBackedConfigurationMetadata.java
    • -8
    • +8
    ./model/ConfigurationBoundExternalDependencyMetadata.java
    • -4
    • +4
    ./model/ForcedDependencyMetadataWrapper.java
    • -14
    • +14
    ./model/GradleDependencyMetadata.java
    • -1
    • +1
    ./model/LazyToRealisedModuleComponentResolveMetadataHelper.java
    • -4
    • +4
    ./model/ModuleDependencyMetadataWrapper.java
  1. … 60 more files in changeset.
Rename inheritStrictVersions() -> endorseStrictVersions()

This is more clearly communicating the semantics of the feature

from a users point of view.

The commit also removes all mentions of 'inheriting' AND 'forSubgraph'.

There have been some leftovers in documentation/comments that

will be misleading in the future. To make sure we catch all,

I also updated all variable/method/package names.

    • -7
    • +7
    ./model/AbstractMutableModuleComponentResolveMetadata.java
    • -3
    • +3
    ./model/AbstractRealisedModuleResolveMetadataSerializationHelper.java
    • -1
    • +1
    ./model/AbstractVariantBackedConfigurationMetadata.java
    • -8
    • +8
    ./model/ConfigurationBoundExternalDependencyMetadata.java
    • -4
    • +4
    ./model/ForcedDependencyMetadataWrapper.java
    • -14
    • +14
    ./model/GradleDependencyMetadata.java
    • -1
    • +1
    ./model/LazyToRealisedModuleComponentResolveMetadataHelper.java
    • -4
    • +4
    ./model/ModuleDependencyMetadataWrapper.java
  1. … 60 more files in changeset.
Rename inheritStrictVersions() -> endorseStrictVersions()

This is more clearly communicating the semantics of the feature

from a users point of view.

The commit also removes all mentions of 'inheriting' AND 'forSubgraph'.

There have been some leftovers in documentation/comments that

will be misleading in the future. To make sure we catch all,

I also updated all variable/method/package names.

    • -7
    • +7
    ./model/AbstractMutableModuleComponentResolveMetadata.java
    • -3
    • +3
    ./model/AbstractRealisedModuleResolveMetadataSerializationHelper.java
    • -1
    • +1
    ./model/AbstractVariantBackedConfigurationMetadata.java
    • -8
    • +8
    ./model/ConfigurationBoundExternalDependencyMetadata.java
    • -4
    • +4
    ./model/ForcedDependencyMetadataWrapper.java
    • -14
    • +14
    ./model/GradleDependencyMetadata.java
    • -1
    • +1
    ./model/LazyToRealisedModuleComponentResolveMetadataHelper.java
    • -4
    • +4
    ./model/ModuleDependencyMetadataWrapper.java
  1. … 60 more files in changeset.
Fix application of dependency rules in realized metadata version

The rules for dependencies and dependency constraints were not applied

if the variant itself was added by a rule.

This commit also no longer attempts to apply any rule to the realized

version of 'pure maven configurations'. For Maven, we always use the

derived variants and always use variant matching. Therefore, rules are

never applied to the legacy configurations, but only to the derived

variants.

Follow up to #10368

    • -2
    • +1
    ./model/ivy/RealisedIvyModuleResolveMetadata.java
    • -14
    • +16
    ./model/maven/RealisedMavenModuleResolveMetadata.java
  1. … 1 more file in changeset.
Fix application of dependency rules in realized metadata version

The rules for dependencies and dependency constraints were not applied

if the itself variant was added by a rule.

This commit also no longer attempts to apply any rule to the realized

version of 'pure maven configurations'. For Maven, we always use the

derived variants and always use variant matching. Therefore, rules are

never applied to the legacy configurations, but only to the derived

variants.

Follow up to #10368

    • -2
    • +1
    ./model/ivy/RealisedIvyModuleResolveMetadata.java
    • -14
    • +16
    ./model/maven/RealisedMavenModuleResolveMetadata.java
  1. … 1 more file in changeset.
Fix application of dependency rules in realized metadata version

The rules for dependencies and dependency constraints were not applied

if the itself variant was added by a rule.

Follow up to #10368

    • -2
    • +1
    ./model/ivy/RealisedIvyModuleResolveMetadata.java
    • -5
    • +7
    ./model/maven/RealisedMavenModuleResolveMetadata.java
  1. … 1 more file in changeset.
Updates to terminology for clarity

- `inheritStrictConstraints` -> `inheritStrictVersions`

- `notInheritStrictConstraints` -> `doNotInheritStrictVersions`

    • -1
    • +1
    ./model/ConfigurationBoundExternalDependencyMetadata.java
    • -2
    • +2
    ./model/ForcedDependencyMetadataWrapper.java
    • -2
    • +2
    ./model/ModuleDependencyMetadataWrapper.java
  1. … 27 more files in changeset.
Updates to terminology for clarity

- `inheritStrictConstraints` -> `inheritStrictVersions`

- `notInheritStrictConstraints` -> `doNotInheritStrictVersions`

    • -1
    • +1
    ./model/ConfigurationBoundExternalDependencyMetadata.java
    • -2
    • +2
    ./model/ForcedDependencyMetadataWrapper.java
    • -2
    • +2
    ./model/ModuleDependencyMetadataWrapper.java
  1. … 27 more files in changeset.
Updates to terminology for clarity

- `inheritStrictConstraints` -> `inheritStrictVersions`

- `notInheritStrictConstraints` -> `doNotInheritStrictVersions`

    • -1
    • +1
    ./model/ConfigurationBoundExternalDependencyMetadata.java
    • -2
    • +2
    ./model/ForcedDependencyMetadataWrapper.java
    • -2
    • +2
    ./model/ModuleDependencyMetadataWrapper.java
  1. … 27 more files in changeset.
Updates to terminology for clarity

- `inheritStrictConstraints` -> `inheritStrictVersions`

- `notInheritStrictConstraints` -> `doNotInheritStrictVersions`

    • -1
    • +1
    ./model/ConfigurationBoundExternalDependencyMetadata.java
    • -2
    • +2
    ./model/ForcedDependencyMetadataWrapper.java
    • -2
    • +2
    ./model/ModuleDependencyMetadataWrapper.java
  1. … 27 more files in changeset.
Updates to terminology for clarity

- `inheritStrictConstraints` -> `inheritStrictVersions`

- `notInheritStrictConstraints` -> `doNotInheritStrictVersions`

    • -1
    • +1
    ./model/ConfigurationBoundExternalDependencyMetadata.java
    • -2
    • +2
    ./model/ForcedDependencyMetadataWrapper.java
    • -2
    • +2
    ./model/ModuleDependencyMetadataWrapper.java
  1. … 27 more files in changeset.
Updates to terminology for clarity

- `inheritStrictConstraints` -> `inheritStrictVersions`

- `notInheritStrictConstraints` -> `doNotInheritStrictVersions`

    • -1
    • +1
    ./model/ConfigurationBoundExternalDependencyMetadata.java
    • -2
    • +2
    ./model/ForcedDependencyMetadataWrapper.java
    • -2
    • +2
    ./model/ModuleDependencyMetadataWrapper.java
  1. … 26 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
    • +1
    ./ivypublish/DefaultIvyModulePublishMetadata.java
    • -1
    • +1
    ./model/ConfigurationBoundExternalDependencyMetadata.java
    • -2
    • +2
    ./model/ForcedDependencyMetadataWrapper.java
    • -2
    • +2
    ./model/ModuleDependencyMetadataWrapper.java
  1. … 72 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
    • +1
    ./ivypublish/DefaultIvyModulePublishMetadata.java
    • -1
    • +1
    ./model/ConfigurationBoundExternalDependencyMetadata.java
    • -2
    • +2
    ./model/ForcedDependencyMetadataWrapper.java
    • -2
    • +2
    ./model/ModuleDependencyMetadataWrapper.java
  1. … 74 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
    • +1
    ./ivypublish/DefaultIvyModulePublishMetadata.java
    • -1
    • +1
    ./model/ConfigurationBoundExternalDependencyMetadata.java
    • -2
    • +2
    ./model/ForcedDependencyMetadataWrapper.java
    • -2
    • +2
    ./model/ModuleDependencyMetadataWrapper.java
  1. … 72 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
    • +1
    ./ivypublish/DefaultIvyModulePublishMetadata.java
    • -1
    • +1
    ./model/ConfigurationBoundExternalDependencyMetadata.java
    • -2
    • +2
    ./model/ForcedDependencyMetadataWrapper.java
    • -2
    • +2
    ./model/ModuleDependencyMetadataWrapper.java
  1. … 72 more files in changeset.