Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Introduce new metadata marker for Gradle 6

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

    • -1
    • +1
    ./internal/publisher/IvyDescriptorFileGeneratorTest.groovy
  1. … 14 more files in changeset.
Introduce new metadata marker for Gradle 6

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

    • -1
    • +1
    ./internal/publisher/IvyDescriptorFileGeneratorTest.groovy
  1. … 11 more files in changeset.
Remove unused parameter and unused class

  1. … 2 more files in changeset.
Publish Gradle Module Metadata by default

  1. … 4 more files in changeset.
Publish Gradle Module Metadata by default

  1. … 4 more files in changeset.
Publish Gradle Module Metadata by default

  1. … 4 more files in changeset.
Publish Gradle Module Metadata by default

  1. … 4 more files in changeset.
Transition some static methods to a global service, so the implementation can be contextualized.

  1. … 12 more files in changeset.
Transition some static methods to a global service, so the implementation can be contextualized.

  1. … 12 more files in changeset.
Transition some static methods to a global service, so the implementation can be contextualized.

  1. … 12 more files in changeset.
Transition some static methods to a global service, so the implementation can be contextualized.

  1. … 11 more files in changeset.
Fix for changes to service injection.

  1. … 1 more file in changeset.
Replace another usage of the `NamedObjectInstantiator` singleton with an injected service.

  1. … 32 more files in changeset.
Replace another usage of the `NamedObjectInstantiator` singleton with an injected service.

  1. … 32 more files in changeset.
Replace another usage of the `NamedObjectInstantiator` singleton with an injected service.

  1. … 32 more files in changeset.
Make `IvyPublisher` symmetrical with `MavenPublisher`

    • -13
    • +6
    ./internal/publisher/ValidatingIvyPublisherTest.groovy
  1. … 5 more files in changeset.
Make `IvyPublisher` symmetrical with `MavenPublisher`

    • -13
    • +6
    ./internal/publisher/ValidatingIvyPublisherTest.groovy
  1. … 5 more files in changeset.
Make `IvyPublisher` symmetrical with `MavenPublisher`

    • -13
    • +6
    ./internal/publisher/ValidatingIvyPublisherTest.groovy
  1. … 5 more files in changeset.
Avoid eager realization of publishing tasks

  1. … 9 more files in changeset.
Avoid eager realization of publishing tasks

  1. … 9 more files in changeset.
Avoid eager realization of publishing tasks

  1. … 9 more files in changeset.
Avoid eager realization of publishing tasks

  1. … 9 more files in changeset.
Avoid eager realization of publishing tasks

  1. … 9 more files in changeset.
Avoid eager realization of publishing tasks

  1. … 9 more files in changeset.
Publication of resolved versions for Ivy xml

While the feature was added for the Gradle metadata linked to an Ivy

publication, it was missed for the Ivy xml itself.

This commit corrects that, relying on the usage context attributes to

map the Ivy dependency to the requested resolved configuration.

Fixes #8948

    • -3
    • +9
    ./internal/publisher/IvyDescriptorFileGeneratorTest.groovy
  1. … 9 more files in changeset.
Introduce VersionMapping support for IvyPublication

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

  1. … 7 more files in changeset.
Introduce VersionMapping support for IvyPublication

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

  1. … 7 more files in changeset.
Add task to publish all publications to a single Ivy repository

Similarly to the task added for Maven repositories

Fixes #8509

    • -0
    • +19
    ./plugins/IvyPublishPluginTest.groovy
  1. … 1 more file 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.

    • -2
    • +14
    ./internal/publisher/IvyDescriptorFileGeneratorTest.groovy
  1. … 56 more files in changeset.
Use public services in native plugins to construct `FileCollection` instances, rather than using internal `FileOperations`.

    • -3
    • +0
    ./tasks/PublishToIvyRepositoryTest.groovy
  1. … 32 more files in changeset.