Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Bump cache layout version

  1. … 2 more files in changeset.
Bump cache layout version

  1. … 2 more files in changeset.
Bump the metadata cache layout version

  1. … 2 more files in changeset.
Bump the metadata cache version for addition of excludes

  1. … 2 more files in changeset.
Add support for resolving strict dependencies from an Ivy repository

So far strict dependencies were only supported when resolving from a Maven repository. This commit adds

the necessary infrastructure to make it work on Ivy repositories too. It's worth noting that similarly

to Maven, as soon as Gradle metadata is used, variants from the original Ivy metadata file are "ignored",

and it's a lossy conversion.

This commit is a "make it work". There's still missing test coverage, and there's redundant code due

to the replication of what has been setup for the Maven repositories. Subsequent commits will fix that.

  1. … 41 more files in changeset.
Add support for maven BOMs through optional dependencies

- If a "pom" only contains a <dependencyManagement> block and no

<dependencies> block, it is interpreted as "bom"

- Each dependency from the <dependencyManagement> block is then

added as optional dependency

  1. … 7 more files in changeset.
Make `ModuleComponentSelector` the source of truth for version constraints

This commit pushes `VersionConstraint` as a primary concept in `ModuleComponentSelector`. It replaces the (now)

deprecated `getVersion` call, which didn't reflect all possible constraints on a version. This change has several

consequences:

- version constraints now need to be "serializable"

- version constraints now consist of a preferred version and a list of rejected versions

- only a single item in the rejection list is supported

- Gradle module metadata parsing now generates a prefer/reject list

- Gradle module metadata writing does **not** yet support writing prefer/reject

- the module metadata binary format has been bumped to support prefer/reject in module descriptors

- metadata rules can say `useTarget(VersionConstraint)`

Issue #3312

  1. … 93 more files in changeset.
Fixed handling of boolean typed attributes in cached module metadata. Incremented the cache layout version due to a change in the serialized format of the metadata.

  1. … 4 more files in changeset.
Include the dependency information extracted from the module metadata file in the persistent metadata cache. The information is not used during dependency resolution yet.

Incremented the artifact cache metadata version.

  1. … 6 more files in changeset.
Changed downloaded artifact caching to honor the artifact's file name as defined in the module metadata file. This allows the producer to use an arbitrary file name that makes sense for the particular artifact, rather than being constrained to using a Maven classifier and extension.

The file name is not honored for local repositories yet.

Incremented the cache layout format version due to changes to the persisted metadata.

  1. … 14 more files in changeset.
Changed the cache layout version to reflect changes to persistent metadata contents.

  1. … 2 more files in changeset.
Moved the module level exclude rule definitions and branch property for Ivy metadata from the legacy `ModuleDescriptorState` onto the relevant metadata types. The Maven metadata has no module level excludes or branch property, so don't persist these for Maven modules.

Incremented the cache layout version to reflect the changes to the persisted metadata.

  1. … 26 more files in changeset.
Moved the artifact definitions for Ivy and Maven metadata from the legacy `ModuleDescriptorState` onto the relevant metadata types. The Maven metadata always includes a single hard-coded artifact, so don't persist the artifact definitions for Maven modules.

Changed the Maven metadata implementation so that the Jar artifact is attached to the 'compile' configuration and is inherited by the other configurations. Previously the artifact was attached to the 'default' configuration.

Incremented the cache layout version to reflect the changes to the persisted metadata.

  1. … 31 more files in changeset.
Mixed the metadata parsed from the Gradle module metadata file into the metadata parsed from the POM and persist this into the metadata cache along with the other data.

This change makes the metadata available to dependency graph and artifact resolution, however it is not yet used by these. This will happen in a later change.

Incremented the artifact cache layout version due to this change.

  1. … 20 more files in changeset.
Changed how the dependency resolution engine decides whether the artifacts of a 'changing' module may have changed so that the check is now more accurate.

One mechanism that is used is to consider the hash of the metadata, and if this has changed then look for other changes. Previously, the hash of the persisted module metadata (the output of parsing) would be used. However, during parsing information is discarded, meaning that the descriptor file can change in the repository but still be considered unchanged by Gradle.

Now, the hash of the content of the module descriptor file is used instead, meaning that any change to the descriptor (whitespace, comments, publication date, whatever) will be considered a change to the module.

This change is also a step towards properly considering all of the inputs to metadata parsing, such as parent or imported poms, included ivy.xml files or Gradle module metadata files, as the parser is now able to communicate this to the rest of the dependency resolution engine.

  1. … 20 more files in changeset.
Some simplifications to the Ivy and Maven metadata parsing. Don't extract and persist the `description` and `publicationDate` properties for Ivy and Maven as these values are not required for dependency resolution. Incremented the cache version to reflect this change.

Removed some dead code that attempted to include a `description` in a generated ivy.xml, as there is no way to specify this in the Gradle DSL.

Moved some Maven metadata properties from constructor parameters to mutable properties.

  1. … 17 more files in changeset.
Increment dependency cache format version for changes to repository id calculation.

  1. … 2 more files in changeset.
Bump metadata version

Since we changed how a POM is interpreted, we need to make sure

that Gradle will re-download POMs that it had wrongly interpreted

before. See #2282 for the change to POM parsing.

  1. … 3 more files in changeset.
Some tweaks to cached artifact transform outputs, and some more test coverage.

  1. … 4 more files in changeset.
Inject a somewhat more realistic output directory into each artifact transform. The directory points into a machine local cache under `~/.gradle`. The value is still a placeholder as several different transforms may end up with the same output directory.

  1. … 10 more files in changeset.
Changed module artifact caching to distinguish more strongly between the artifact's identifier, used for index keys, and the artifact's metadata, used for index values.

  1. … 16 more files in changeset.
Incremented the dependency metadata cache format version, for changes to cache keys.

  1. … 2 more files in changeset.
Write a little less stuff to disk for each entry in a persistent cache. Incremented the artifact cache format version, as this is a breaking change to the cache layout.

  1. … 8 more files in changeset.
Don't persist the configurations of a Maven module metadata, as they are always the same for every Maven module.

Incremented the metadata cache layout version.

  1. … 20 more files in changeset.
Use a better approximation of Maven's handling of transitive dependencies of things in 'provided' scope, when traversing the dependencies of a Maven module.

Incremented the metadata cache version, as this is (currently) a parse-time concern.

  1. … 4 more files in changeset.
Moved the module type specific state from the module meta indexed cache entry to the serialized meta data for the module. Serialize `ModuleComponentResolveMetadata` instances directly instead of unpacking to a mutable `ModuleDescriptorState` instance.

  1. … 13 more files in changeset.
Set classifier directly rather than via attributes map

Because we are no long storing a map of attributes, this bumps the

module-descriptor cache layout version.

  1. … 9 more files in changeset.
replace CRC32 checksum with a count of written bytes - bumping metadata cache layout version to 2.16

+review REVIEW-5622

  1. … 3 more files in changeset.
Split up ModuleDescriptorCacheEntry into various subtypes, for missing, ivy and maven modules. Serialize only the stuff required to recreate the entry.

This is a meta-data format change, so incremented the meta-data version.

  1. … 7 more files in changeset.
Bumped meta-data cache version for changes to artifact meta-data

  1. … 2 more files in changeset.