MultipleVariantSelectionIntegrationTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Module test fixture: add 'category' attribute to api/runtime variants

This reflects the default variant attributes of a published

java component.

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 13 more files in changeset.
Module test fixture: add 'category' attribute to api/runtime variants

This reflects the default variant attributes of a published

java component.

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 13 more files in changeset.
Do not drop variant attributes for 'traditional' maven artifacts

FixedComponentArtifacts dropped the variant attributes (stored in

ConfigurationMetadata) for no clear reason. Because of this, the

attributes in the resolve result differed depending on whether the

variant was constructed from pom or GMM.

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 27 more files in changeset.
Add customizable capability conflict resolution

This commit disables the automatic capability conflict

resolution based on the highest version of a capability

and replaces it with a customizable resolution strategy.

This allows better control on how capability conflicts

are handled: before this change, capabilities could be

automatically upgraded just because they had a higher

version, which is not always acceptable.

The new API gives finer control by providing a DSL on

the resolution strategy which allows:

- explicitly setting "highest wins" strategy for a given

capability

- or choosing explicitly between a list of modules in conflict

for a given capability

It is possible to use a generic _all_ call to configure the

strategy independently of the capability.

Closes #9888

    • -0
    • +3
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 19 more files in changeset.
Add customizable capability conflict resolution

This commit disables the automatic capability conflict

resolution based on the highest version of a capability

and replaces it with a customizable resolution strategy.

This allows better control on how capability conflicts

are handled: before this change, capabilities could be

automatically upgraded just because they had a higher

version, which is not always acceptable.

The new API gives finer control by providing a DSL on

the resolution strategy which allows:

- explicitly setting "highest wins" strategy for a given

capability

- or choosing explicitly between a list of modules in conflict

for a given capability

It is possible to use a generic _all_ call to configure the

strategy independently of the capability.

Closes #9888

    • -0
    • +3
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 19 more files in changeset.
Add customizable capability conflict resolution

This commit disables the automatic capability conflict

resolution based on the highest version of a capability

and replaces it with a customizable resolution strategy.

This allows better control on how capability conflicts

are handled: before this change, capabilities could be

automatically upgraded just because they had a higher

version, which is not always acceptable.

The new API gives finer control by providing a DSL on

the resolution strategy which allows:

- explicitly setting "highest wins" strategy for a given

capability

- or choosing explicitly between a list of modules in conflict

for a given capability

It is possible to use a generic _all_ call to configure the

strategy independently of the capability.

Closes #9888

    • -0
    • +3
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 19 more files in changeset.
WIP

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 46 more files in changeset.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryelements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 46 more files in changeset.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryElements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 46 more files in changeset.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryelements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 46 more files in changeset.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryElements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 46 more files in changeset.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryElements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 46 more files in changeset.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryelements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 46 more files in changeset.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryElements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 46 more files in changeset.
Rename format attribute and clean up values

Attribute is now org.gradle.libraryelements and only applied

to variants having the org.gradle.category at library.

This means that values related to platforms or document in the

former format attribute are removed.

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 46 more files in changeset.
Remove utilisation of *-jars usage values

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 29 more files in changeset.
Remove utilisation of *-jars usage values

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 55 more files in changeset.
Remove utilisation of *-jars usage values

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 55 more files in changeset.
Remove utilisation of *-jars usage values

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 29 more files in changeset.
Remove utilisation of *-jars usage values

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 42 more files in changeset.
Remove utilisation of *-jars usage values

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 55 more files in changeset.
Remove utilisation of *-jars usage values

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 56 more files in changeset.
Remove utilisation of *-jars usage values

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 56 more files in changeset.
Remove utilisation of *-jars usage values

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 55 more files in changeset.
Remove utilisation of *-jars usage values

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 56 more files in changeset.
Remove utilisation of *-jars usage values

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 48 more files in changeset.
Remove utilisation of *-jars usage values

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 56 more files in changeset.
Remove utilisation of *-jars usage values

    • -6
    • +6
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 56 more files in changeset.
Sort module selectors

This commit reworks module selectors so that they are sorted

in an order which reduces the cost of module selection. We

make sure to put local (project) selectors first, then we

use selectors from locks (if any).

The next selectors are "latest" version selectors because

even if they are dynamic, they are likely to "win" selection.

Then, exact version selectors are sorted by version descending

, and last we add dynamic version selectors.

    • -2
    • +2
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 19 more files in changeset.
Sort module selectors

This commit reworks module selectors so that they are sorted

in an order which reduces the cost of module selection. We

make sure to put local (project) selectors first, then we

use selectors from locks (if any).

The next selectors are "latest" version selectors because

even if they are dynamic, they are likely to "win" selection.

Then, exact version selectors are sorted by version descending

, and last we add dynamic version selectors.

    • -2
    • +2
    ./MultipleVariantSelectionIntegrationTest.groovy
  1. … 19 more files in changeset.