Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Add opt-out to the duplicate project name detection

This commit reworks the project with duplicate names cycle

detection fix by adding an opt-out: because the new behavior

may force existing users to set both the artifactId and groupId

to publications even if they don't publish all projects, this

could be a potential breaking change.

  1. … 6 more files in changeset.
Rephrase warnings for clarity

  1. … 3 more files in changeset.
Fix circular dependencies when project have the same name

Before this commit, during dependency resolution, a synthetic

module version identifier was generated by project, using the

group and name of the project. However, it's possible for a

project in gradle to have the same name as another in the

same build, leading to duplicates. In this case the projects

were mixed together and lead to a circular dependency.

This commit fixes the problem by making sure we generate

distinct module version identifiers for such projects, by

using the full project path as the name instead of the short

name.

This also makes it possible to publish valid publications

when using the maven or ivy publish plugins. However, we detect

this problem early and warn the user that they should overwrite

the project identity in this case.

  1. … 14 more files in changeset.
Fix Gradle Module Metadata referencing stale files

If a file is not published, then it shouldn't appear in GMM.

  1. … 3 more files in changeset.
Do not publish stale signature files

This commit fixes the publication of stale signature files:

prior to this change it was possible that a signature generated

in a previous build for a different artifact was uploaded even

if no signature was generated during the build, which would

lead to inconsistent publications.

In addition, it makes it an error to publish something which

doesn't have the main artifact created (or, at least up-to-date)

in this build. In other words, if the task which generates the

main artifact is disabled, it's an error to publish.

Other stale artifacts are going to be ignored.

Fixes #5136

  1. … 38 more files in changeset.
Revert "Remove sourceJar task in favor of sourcesJar (plural)"

This reverts commit a965be46

  1. … 8 more files in changeset.
Remove sourceJar task in favor of sourcesJar (plural)

  1. … 10 more files in changeset.
Rename @FailsWithInstantExecution to @ToBeFixedForInstantExecution

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -17
    • +17
    ./gradle/api/publish/ivy/IvyGradleModuleMetadataPublishIntegrationTest.groovy
    • -13
    • +13
    ./gradle/api/publish/ivy/IvyPublishArtifactCustomizationIntegTest.groovy
    • -6
    • +6
    ./gradle/api/publish/ivy/IvyPublishDescriptorCustomizationIntegTest.groovy
    • -2
    • +2
    ./gradle/api/publish/ivy/IvyPublishDescriptorCustomizationKotlinDslIntegTest.groovy
  1. … 858 more files in changeset.
Merge branch 'master' into eskatos/ie/instantIntegTest-enable

    • -44
    • +90
    ./gradle/api/publish/ivy/IvyGradleModuleMetadataPublishIntegrationTest.groovy
  1. … 7 more files in changeset.
Gradle module metadata: forbid no version at all

With this change, it becomes illegal to create a Gradle Module Metadata

file that has depedencies or constraints declared without any version at

all across all variants.

    • -44
    • +89
    ./gradle/api/publish/ivy/IvyGradleModuleMetadataPublishIntegrationTest.groovy
  1. … 5 more files in changeset.
Merge branch 'master' into eskatos/ie/instantIntegTest-enable

    • -2
    • +10
    ./gradle/api/publish/ivy/IvyPublishArtifactCustomizationIntegTest.groovy
  1. … 8 more files in changeset.
Annotate integ tests failing with instant execution in various projects

removing most of @IgnoreWithInstantExecution annotations

after fixing the @FailsWithInstantExecution rule

and more ci feedback

also make @IgnoreWithInstantExecution require a reason from a fixed set

and add it to the remaining ignores

Signed-off-by: Paul Merlin <paul@gradle.com>

  1. … 123 more files in changeset.
Add a system property to disable publishing of SHA-256

This commit adds an internal system property which can be used as

a workaround whenever the remote repository doesn't accept SHA-256

and SHA-512 checksums. Gradle is fail-safe when it cannot upload

those files, however, in some situations, the remote repository may

not allow promoting the release if it finds such files. This is the

case in older repositories, or currently with Maven Central.

To disable publication of both SHA-256 and SHA-512 checksums, either:

- add `-Dorg.gradle.internal.publish.checksums.insecure` to the CLI or

- add `org.gradle.internal.publish.checksums.insecure=true` to your

`gradle.properties` file

Fixes #11308

  1. … 7 more files in changeset.
Allow publication artifacts to be defined as files through providers

*Updated solution based on feedback to #11329*

This used to work in Gradle 5.5 (see #11054).

The combination of #9467 and #6775 broke this.

A builtBy dependency is added if the artifact is a TaskDependencyContainer,

which all Providers are (#9467). This dependency was silently doing

nothing in case of a plain File/String. This became an error (#6775)

because a File/String is nothing that can be resolved to a task.

We now only add a builtBy dependency, if the provider value or content is

actually produced by a task.

    • -2
    • +10
    ./gradle/api/publish/ivy/IvyPublishArtifactCustomizationIntegTest.groovy
  1. … 3 more files in changeset.
Allow publication artifacts to be defined as files through providers

*Updated solution based on feedback to #11329*

This used to work in Gradle 5.5 (see #11054).

The combination of #9467 and #6775 broke this.

A builtBy dependency is added if the artifact is a TaskDependencyContainer,

which all Providers are (#9467). This dependency was silently doing

nothing in case of a plain File/String. This became an error (#6775)

because a File/String is nothing that can be resolved to a task.

We now only add a builtBy dependency, if the provider value or content is

actually produced by a task.

    • -2
    • +10
    ./gradle/api/publish/ivy/IvyPublishArtifactCustomizationIntegTest.groovy
  1. … 3 more files in changeset.
Revert "Allow publication artifacts to be defined as files through providers (#11329)"

This reverts commit a4b79f33fee015bb5faded27426369ad54bae8dd.

  1. … 3 more files in changeset.
Allow publication artifacts to be defined as files through providers (#11329)

This used to work in Gradle 5.5 (see #11054).

The combination of #9467 and #6775 broke this.

A builtBy dependency is added if the artifact is a TaskDependencyContainer,

which all Providers are (#9467). This dependency was silently doing

nothing in case of a plain File/String. This became an error (#6775)

because a File/String is nothing that can be resolved to a task.

We now only add a builtBy dependency, if the provider value or content is

actually produced by a task.

  1. … 3 more files in changeset.
Annotate integ tests failing with instant execution in various projects

after third round of CI feedback

much better, no more OOMEs, no more hung builds, no more console

replacement weirdness

Signed-off-by: Paul Merlin <paul@gradle.com>

  1. … 36 more files in changeset.
Annotate integ tests failing with instant execution in :ivy

Signed-off-by: Paul Merlin <paul@gradle.com>

    • -0
    • +16
    ./gradle/api/publish/ivy/IvyGradleModuleMetadataPublishIntegrationTest.groovy
    • -0
    • +13
    ./gradle/api/publish/ivy/IvyPublishArtifactCustomizationIntegTest.groovy
    • -0
    • +6
    ./gradle/api/publish/ivy/IvyPublishDescriptorCustomizationIntegTest.groovy
    • -0
    • +2
    ./gradle/api/publish/ivy/IvyPublishDescriptorCustomizationKotlinDslIntegTest.groovy
  1. … 13 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. … 6 more files in changeset.
Fix publication warning report

An output is no longer presented if all warnings are silenced by variant

name.

Fixes #11111

  1. … 3 more files in changeset.
Add tests to prove resiliency of SHA signature uploads

  1. … 2 more files in changeset.
Add support for sha256/sha512 to ivy publishing

Publication of SHA256 and SHA512 checksums is now enabled

on both the legacy `ivy` and `ivy-publish` plugins.

  1. … 7 more files in changeset.
Fix snapshot handling with Gradle Module Metadata

This commit fixes a couple of bugs:

1. if Gradle Module Metadata was published and consumed, then

the `changing` flag for the resolved component metadata wouldn't

be set to `true`, which means that snapshot would effectively be

considered as persistent

2. the publish test fixtures were not using the right, timestamped,

version id for the metadata and artifacts in case of unique snapshots,

which caused the resolution to fallback to the POM file

In addition, this fixes the generated module metadata file which

was uploaded _without_ substution the the SNAPSHOT version with

the timestamped version when published on external repositories.

Finally, this highlighted a couple of issues with test fixtures

which were still using Gradle Module Metadata when they shouldn't.

Fixes #10916

  1. … 9 more files in changeset.
Remove use of deprecated API

Remove use of deprecated APIs in PluginBuilder

Replace use of archiveName with archiveFileName

Avoid more deprecated APIs

  1. … 61 more files in changeset.
Make Javadoc and sources primary variants without dependencies

  1. … 15 more files in changeset.
Update 'complete example' section in ivy publishing chapter

  1. … 6 more files in changeset.
Warn on publication of non transitive variant

This is effectively not supported in any of the published format.

  1. … 2 more files in changeset.
Add validation at publication time

This commit introduces validation when generating Gradle

Module Metadata:

- check that there's at least one variant published

- each variant must have at least one attribute

- there shouldn't be duplicate variant names

- each variant must have a different (attributes,capabilities)

combination

Closes #10736

    • -15
    • +217
    ./gradle/api/publish/ivy/IvyGradleModuleMetadataPublishIntegrationTest.groovy
  1. … 10 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.

    • -3
    • +3
    ./gradle/api/publish/ivy/IvyGradleModuleMetadataPublishIntegrationTest.groovy
  1. … 70 more files in changeset.