Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Avoid eager creation of `ResolveIvyFactory`

The `ResolveIvyFactory` instance was created too eagerly. In general,

this isn't a problem because most builds will eventually resolve

dependencies. But there are cases, like when calling `help`, when this

is not the case.

The previous code was assuming that a factory would always be created,

and by side effect moved the creation of the factory to an earlier

phase during build initialization, triggering the creation of the file

access journal.

This is no longer the case: we only create the dependency verification

parameter override eagerly, and configure the build to shut it down

at the end of the build.

  1. … 4 more files in changeset.
Generate checksum file for dependency verification

This commit introduces the generation of a dependency

verification metadata file from the CLI. If the user

calls `--write-verification-metadata`, then an XML

file is generated (`gradle/verification-metadata.xml`).

This file will contain the checksums for all artifacts

required by a build, which includes:

- plugin artifacts

- jars and other artifacts requested via a `configuration`

- secondary artifacts (javadocs, classifiers, ...)

It does NOT include metadata of those artifacts (pom files,

ivy files, Gradle Module metadata).

It isn't required to resolve any configuration to get this

behavior: the build will automatically process all resolvable

configurations and _try_ to resolve them automatically. All

artifacts resolved during this process are going to be automatically

downloaded (if not already). Then SHA-1 and SHA-512 checksums

are computed for all those artifacts.

The current format is an XML file planned to support more than

just artifacts: module metadata AND signature information is

planned.

See #11398

  1. … 30 more files in changeset.
Desugar producer attribute if the requesting attribute is desugared (#11372)

This can be the case if an attribute on a dependency is published

and the resolved target of the dependency is a local project.

For example, a published platform dependency to a local java-platform

project.

We support 'Named' and 'Enum' for desugaring as that are the only

non-primitve types we currently allow to be published in Gradle

Module Metadata.

  1. … 3 more files in changeset.
Add `BuildServiceParameters.None` marker type that is used to indicate that a build service does not take any parameters, to match the pattern used in other places.

Extract some validation logic from several places so it can be reused in the places where parameterized isolated objects, such as artifact transforms or build services, are registered.

  1. … 35 more files in changeset.
Handle serialization for shadowed capabilities in the GMM case (#11179)

This is now done in the same way as it is done in the

AbstractRealisedModuleResolveMetadataSerializationHelper

for cases without GMM

Follow up to: #11118

  1. … 4 more files in changeset.
There can be multiple enforced platform variants for Gradle metadata

Follow up to: #11118

  1. … 3 more files in changeset.
Increase cache layout version

  1. … 1 more file 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. … 12 more files in changeset.
Use a different 'shadow capability' for enforced platform

This allows both 'regular' and 'enforced' platform of the same

component to be selected. In order to make this work, support

for projects having shadow capability needed to be added.

  1. … 10 more files in changeset.
Always apply all Category disambiguation rules

Before, parts of the platform disambiguation were only done when

using the 'java-platform' plugin. However, other consumers

may also require all rules (see #11091)

  1. … 5 more files in changeset.
Introduce new metadata marker for Gradle 6 (#11109)

See: https://github.com/gradle/gradle/issues/11105

  1. … 13 more files in changeset.
Correct handling of multiple svc provider impls in a single SPI file

Issue: #11027

Signed-off-by: lingocoder <coder@lingocoder.com>

  1. … 4 more files in changeset.
Add compatibility layer for SNAPSHOT metadata

Gradle 5.3 to 5.6 have an issue when publishing a Gradle Module Metadata

with a unique snapshot.

This commit enables Gradle 6+ to consume such metadata files without

error.

Fixes #9462

  1. … 4 more files in changeset.
GradlePomModuleDescriptorParser: resolve GAV after configuring parent in case POM inherits portions for name/group/version from the parent

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

  1. … 1 more file in changeset.
No more absolute path in metadata cache

Reference to file are now relative to the root of the module cache

instead of being absolute.

This allows moving the full module cache around to be reused with

a different root path.

The path are also normalized, so that they are portable across systems

where the name separator changes.

Issue #1338

  1. … 7 more files in changeset.
Track 'changing' and 'client module' information for override metadata

Although these are edge cases, it leads to more consistency and makes

the behavior less dependent on order which may change unexpectedly

through internal optimisations.

  1. … 5 more files in changeset.
Track 'changing' and 'client module' information for override metadata

Although these are edge cases, it leads to more consistency and makes

the behavior less dependent on order which may change unexpectedly

through internal optimisations.

  1. … 5 more files in changeset.
Remove unused imports

  1. … 1 more file in changeset.
Remove unused imports

  1. … 1 more file in changeset.
Use the first found dependency artifact for override metadata

Later in the resolution, we already combine all artifacts defined

as 'dependency artifacts' on incoming edges.

If a component does not have metadata, we need at least information

about one artifact early when we look for an artifact (instead of a

metadata file).

  1. … 8 more files in changeset.
Use the first found dependency artifact for override metadata

Later in the resolution, we already combine all artifacts defined

as 'dependency artifacts' on incoming edges.

If a component does not have metadata, we need at least information

about one artifact early when we look for an artifact (instead of a

metadata file).

  1. … 8 more files in changeset.
Reuse one object for empty ComponentOverrideMetadata

  1. … 2 more files in changeset.
Reuse one object for empty ComponentOverrideMetadata

  1. … 2 more files in changeset.
Track first dependency artifact in SelectorState and ModuleSelectors

This information needs to be preserved to make sure that an artifact

that acts as metadata for itself (metadataSources = artifact()) is

found during the early resolution phase where we search for modules

in repositories.

  1. … 3 more files in changeset.
Track first dependency artifact in SelectorState and ModuleSelectors

This information needs to be preserved to make sure that an artifact

that acts as metadata for itself (metadataSources = artifact()) is

found during the early resolution phase where we search for modules

in repositories.

  1. … 3 more files in changeset.
Move snapshotting generic file trees to own service

  1. … 17 more files in changeset.
Revert "Revert "Merge branch 'release'""

This reverts commit 67b8bb8f18f854f45a2f5ec52cc9c8a25981e2f2.

This restores the merge attempt from earlier.

  1. … 55 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.

  1. … 55 more files in changeset.
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. … 6 more files in changeset.
Fix AttributeConfigurationSelector to return the filtered result 2/2

Same as 3255f1d for different code path.

  1. … 1 more file in changeset.