MavenDependencyResolveIntegrationTest.groovy

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Variant aware and legacy dependency setup invalid

A dependency declaration either needs to be about variant aware

dependency management with attributes and capabilities or about legacy

artifacts and configuration.

Mixing the two is now disallowed explicitly.

Issue #10532

    • -0
    • +17
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 2 more files in changeset.
Variant aware and legacy dependency setup invalid

A dependency declaration either needs to be about variant aware

dependency management with attributes and capabilities or about legacy

artifacts and configuration.

Mixing the two is now disallowed explicitly.

Issue #10532

    • -0
    • +17
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 2 more files in changeset.
Variant aware and legacy dependency setup invalid

A dependency declaration either needs to be about variant aware

dependency management with attributes and capabilities or about legacy

artifacts and configuration.

Mixing the two is now disallowed explicitly.

Issue #10532

    • -0
    • +17
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 2 more files in changeset.
First elements of a compatibility mode for classifiers in Gradle Metadata

This commit introduces a synthetic attribute used for compatibility

purposes when a dependency declaration uses classifiers. It is

transparently converted to a dependency attribute on Gradle Module

Metadata, and this attribute is used in a specific manner during

resolution (it's actually converted _back to_ an artifact selection).

    • -0
    • +44
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 11 more files in changeset.
First elements of a compatibility mode for classifiers in Gradle Metadata

This commit introduces a synthetic attribute used for compatibility

purposes when a dependency declaration uses classifiers. It is

transparently converted to a dependency attribute on Gradle Module

Metadata, and this attribute is used in a specific manner during

resolution (it's actually converted _back to_ an artifact selection).

    • -0
    • +44
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 11 more files in changeset.
Minor tweaks to tests

    • -1
    • +1
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 2 more files in changeset.
Implement Gradle metadata marker in published pom/ivy files

This commit implements a performance optimization for Gradle metadata.

Given that today there's no library published in any repository with

Gradle metadata, it's much more likely to find a POM (or Ivy) metadata

file for an external dependency, rather than a Gradle metadata file.

If we decided to add `gradleMetadata()` sources by default to all

repositories, then we would probably introduce a performance regression

to a lot of builds, because we would first try to get Gradle metadata,

then fail, and search for POM/Ivy files.

To avoid this, whenever a library is going to be published with Gradle

metadata, we will introduce a _marker_ in the published POM or Ivy

file. When Gradle _resolves_ such a dependency, it will parse the POM

file and look for the marker. If it finds it, then it will _redirect_

to use Gradle metadata instead. This means that when Gradle metadata is

present, we will pay the price of looking for a POM or Ivy file first,

start parsing, only to discover we should parse Gradle metadata. This

should be ok in the beginning, knowing that if `gradleMetadata()` is

added, then we would systematically look at Gradle metadata first.

This means that this is a _temporary_ solution, until Gradle metadata

becomes widespread. So "temporary" should be understood as several

months, if not years.

The marker introduced in POM and Ivy files is _neutral_ for both Ivy

and Maven. By this we mean that it uses an XML comment. While not super

nice, we couldn't use a custom namespace because both Ivy and Maven

fail when parsing this. Properties were considered too, but Ivy doesn't

support them so for consistency both models use comments.

It's worth noting that we will still _completely parse_ the POM or Ivy

descriptor. It's a waste of time, but it helps in case we find a marker

but that for some reason the Gradle metadata file is absent. In this

case we fallback on the model we found.

This change also introduces a change in the semantics of the incubating

metadata sources API: those should be considered _hints_, and not strong

statements anymore.

Finally, should a producer want to avoid publishing Gradle metadata,

it's now possible to disable the task that creates the metadata file.

    • -1
    • +1
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 57 more files in changeset.
Validate the name of a dependency artifact defined in the build script (#3981)

Throw a proper error if the name is missing. This is similar to the

error we throw if a user attempts to create a dependency without name.

Before, an NPE was thrown as the name was assumed to be never null.

Signed-off-by: Jendrik Johannes <jendrik@gradle.com>

    • -0
    • +17
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 3 more files in changeset.
Convert and consolidate tests for POM excludes

    • -44
    • +0
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 3 more files in changeset.
Migrate `MavenDependencyResolveIntegrationTest` to new test fixtures

Issue #3394

    • -123
    • +126
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 1 more file in changeset.
On CI redirect maven central queries to local repo for integration tests

    • -3
    • +1
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 108 more files in changeset.
Include details about the file dependencies attached to each node in the dependency graph in the results written to file, rather than retaining this information in heap. This information is only required when using a filtered view via the legacy APIs.

    • -2
    • +2
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 16 more files in changeset.
Changed traversal of dependency graph results so that the `ArtifactSet` instances included in the result are visited in consumer first order, rather than the nodes, so that the artifact sets can be collected directly into a list in the correct order rather than collecting and retaining an additional map from node -> artifact set to apply the ordering.

    • -2
    • +2
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 16 more files in changeset.
Reworked the collection of file dependencies during dependency graph traversal, so that the files from these dependencies are ordered the same way as other kinds of dependencies, rather than always ordering these files at the start of the result.

    • -2
    • +2
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 16 more files in changeset.
Use doLast instead of left shift operator

Made this change in preparation for deprecating the left shift operator.

+review REVIEW-6236

    • -14
    • +16
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 163 more files in changeset.
Added some more int test coverage for optional maven dependencies. Covers existing behaviour to ensure backwards compatibility, rather than desired behaviour.

    • -13
    • +40
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 2 more files in changeset.
Converted a maven int test to use `ResolveTestFixture` to verify results.

    • -103
    • +93
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 5 more files in changeset.
GRADLE-1574 integration test

    • -0
    • +27
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 1 more file in changeset.
Moved test into new test class and added more test conditions.

+review REVIEW-5394

    • -31
    • +0
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 1 more file in changeset.
Dependency exclude rule should not apply to declaring module for Gradle dependency exclude declarations.

    • -0
    • +31
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 3 more files in changeset.
Renamed subprojects/core-impl to subprojects/dependency-management.

    • -0
    • +212
    ./MavenDependencyResolveIntegrationTest.groovy
  1. … 1384 more files in changeset.