dependencyManagement

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Move added snippet to updated location

The snippets are now located in a different location. This

happened in parallel of the locking-modes PR resulting in

the wrong location being used.

  1. … 7 more files in changeset.
Split samples and snippets

    • -9
    • +0
    ./artifactTransforms/incremental/artifactTransformIncremental.sample.conf
    • -20
    • +0
    ./artifactTransforms/minify/artifactTransformMinify.out
    • -13
    • +0
    ./artifactTransforms/minify/artifactTransformMinify.sample.conf
    • -153
    • +0
    ./artifactTransforms/minify/groovy/build.gradle
  1. … 7724 more files in changeset.
Make test for alignment sample meaningful

    • -1
    • +18
    ./managingTransitiveDependencies/dependencyAlignment/align-dependency-versions.sample.conf
    • -0
    • +52
    ./managingTransitiveDependencies/dependencyAlignment/dependenciesWithBOM.out
    • -0
    • +44
    ./managingTransitiveDependencies/dependencyAlignment/dependenciesWithEnforcedVirtualPlatform.out
Clarify the two options you have to use 'belongsTo()'

  1. … 2 more files in changeset.
Document lock mode

Fixes #9907

  1. … 2 more files in changeset.
Rename: `-enforced-platform` -> `-derived-enforced-platform`

    • -1
    • +1
    ./customizingResolution/metadataRule/failRuntimeClasspathResolve.out
  1. … 4 more files in changeset.
Remove `platform` dsl from constraint handler

These shortcuts define details of a dependency like attributes,

requested capabilities and 'endorse strict' status. These things

can not be defined on constraints. So these methods only cause

inconsistent behavior.

One can use constraints in combination with platforms like this to

control platform versions:

dependencies {

api platform("org:platform")

constraints {

api "org:platform:1.0"

}

}

    • -1
    • +1
    ./customizingResolution/metadataRule/failRuntimeClasspathResolve.out
  1. … 12 more files in changeset.
Revert "Revert "Merge branch 'release'""

This reverts commit 67b8bb8f18f854f45a2f5ec52cc9c8a25981e2f2.

This restores the merge attempt from earlier.

    • -0
    • +15
    ./managingTransitiveDependencies/declaringCapabilities/declaring-capabilities.sample.conf
  1. … 63 more files in changeset.
Revert "Merge branch 'release'"

This reverts commit c7fdc455dcb9a8016af0ae9bc8b4c43fde1e2d06, reversing

changes made to 9f70d52b74dbc8c71381781b6c155474031b3cf8.

The changes need a wrapper as there are API changes. Reverting for now.

    • -15
    • +0
    ./managingTransitiveDependencies/declaringCapabilities/declaring-capabilities.sample.conf
  1. … 63 more files in changeset.
Support variant selection in capability conflict resolution (#10973)

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
    • +15
    ./managingTransitiveDependencies/declaringCapabilities/declaring-capabilities.sample.conf
    • -0
    • +38
    ./managingTransitiveDependencies/declaringCapabilities/dependencyReportReplaced.out
  1. … 10 more files in changeset.
Enhance cross project publication sample

Added info on how to setup the configuration to share the same

dependencies.

Fix result of capabilities conflict

The documentation still used the old message / format

  1. … 2 more files in changeset.
Add documentation about `failOnXXX` methods

    • -0
    • +11
    ./managingTransitiveDependencies/resolutionStrategy/resolution-strategy.sample.conf
  1. … 3 more files in changeset.
Rewrite section on 'excluding dependencies'

    • -2
    • +6
    ./managingTransitiveDependencies/excludeForConfiguration/exclude-transitive-for-configuration.sample.conf
    • -2
    • +30
    ./managingTransitiveDependencies/excludeForDependency/exclude-transitive-for-dependency.sample.conf
  1. … 18 more files in changeset.
Suppress remaining deprecation warnings

- most are because of the use of the deprecated Maven plugin

- some are because of the deprecated `force` option in dependency management

- +1: Ratpack plugin used "compile" configuration

    • -0
    • +4
    ./managingTransitiveDependencies/forceForDependency/force-per-dependency.sample.conf
  1. … 9 more files in changeset.
Use HTTPS instead of HTTP in samples

  1. … 2 more files in changeset.
Remove obsolete section

This is already covered in the section about rich versions and

strictly now.

  1. … 2 more files in changeset.
Add support for deactivateDependencyLocking to disable locking on configurations

Signed-off-by: Roberto Perez Alcolea <rperezalcolea@netflix.com>

  1. … 8 more files in changeset.
Rewrite section on component metadata rules (#10735)

The section was written when the very first version of rules was

introduced and since then only marginally updated.

This is a complete rewrite of the section focusing on explaining

all the metadata modeling features of Gradle Module Metadata

which can be utilized in rules to enrich existing metadata.

The features are described on using real-world use cases.

Related sections are also updated where applicable.

    • -0
    • +1
    ./customizingResolution/ivyMetadataRule/compileClasspathArtifacts.out
    • -0
    • +25
    ./customizingResolution/ivyMetadataRule/ivyComonentMetadataRule.sample.conf
    • -0
    • +2
    ./customizingResolution/ivyMetadataRule/runtimeClasspathArtifacts.out
  1. … 45 more files in changeset.
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.

    • -0
    • +9
    ./declaringDependencies/strictForSubgraph/dependencies-strict.sample.conf
  1. … 65 more files in changeset.
Update documentation on forcing dependencies

Now that `force` is deprecated, we should recommend and

better describe the semantics of "strictly".

  1. … 1 more file in changeset.
Improve documentation for dependency version declaration

This documents the version syntax (mostly copied from the version

constraint javadocs) as well as the new strict version short-hand

notation.

  1. … 3 more files in changeset.
Document ability to suppress publication warnings

* Includes a rename from silence* to suppress* as used in other APIs,

including @SuppressWarnings

Fixes #10467

  1. … 9 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).

    • -9
    • +0
    ./declaringDependencies/forSubgraph/dependencies-for-subgraph.sample.conf
    • -0
    • +9
    ./declaringDependencies/strictForSubgraph/dependencies-for-subgraph.sample.conf
  1. … 68 more files in changeset.
Adjust tests and samples to new metadata sources defaults

  1. … 86 more files in changeset.
Add documentation for subgraph version constraints

    • -0
    • +9
    ./declaringDependencies/forSubgraph/dependencies-for-subgraph.sample.conf
  1. … 4 more files in changeset.
Add documentation about Gradle Module Metadata

This mentions Gradle Module Metadata works with other

file formats, how to avoid its publication and how what

happens when you publish a component that uses Gradle

specific features.

  1. … 1 more file in changeset.
Reorganize the "publishing" section

Integrate it into the dependency management docs.

This commit also adds documentation about custom component publication.

  1. … 11 more files in changeset.
Improve rendering of artifacts in outgoing variants report

This commit changes how artifacts are rendered, so that if they

are associated with a type (either explicit or derived), we show

the corresponding `artifactType` attribute.

This helps understanding a bit what can happen in an Android build

where multiple variants may have the same attributes, but only

differ on the artifact type derived from the artifacts carried

by the variant.

  1. … 2 more files in changeset.
Add advanced example of producing a new variant

This example shows how to produce a new variant of a library that

can be used in a specific context from the consumer side. This

involves reusing existing attributes as well as defining compatibility

rules.

  1. … 10 more files in changeset.