Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix source of consistent resolution being eagerly resolved #15593

Merged
merged 2 commits into from Dec 15, 2020

Conversation

melix
Copy link
Contributor

@melix melix commented Dec 15, 2020

This commit fixes an issue with consistent resolution, which caused
the consistent resolution source to be fully resolved (including
external dependencies) during task dependencies computation.

To fix this problem, we reworked how "synthetic" dependencies are
added to the resolution process. Synthetic dependencies include
dependency locking constraints, as well as constraints for
dependency resolution consistency. They would now only be added
to the resolution graph if we're actually at the execution phase,
not during task dependency computation.

Fixes #15588

Fixes #?

Context

Contributor Checklist

  • Review Contribution Guidelines
  • Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
  • Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
  • Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
  • Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
  • Provide unit tests (under <subproject>/src/test) to verify logic
  • Update User Guide, DSL Reference, and Javadoc for public-facing changes
  • Ensure that tests pass sanity check: ./gradlew sanityCheck
  • Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Gradle Core Team Checklist

  • Verify design and implementation
  • Verify test coverage and CI build status
  • Verify documentation
  • Recognize contributor in release notes

This commit fixes an issue with consistent resolution, which caused
the consistent resolution source to be fully resolved (including
external dependencies) during task dependencies computation.

To fix this problem, we reworked how "synthetic" dependencies are
added to the resolution process. Synthetic dependencies include
dependency locking constraints, as well as constraints for
dependency resolution consistency. They would now only be added
to the resolution graph if we're actually at the execution phase,
not during task dependency computation.

Fixes #15588
@melix melix added this to the 6.8 RC2 milestone Dec 15, 2020
@melix melix requested a review from ljacomet December 15, 2020 15:30
@melix melix self-assigned this Dec 15, 2020
@melix
Copy link
Contributor Author

melix commented Dec 15, 2020

@bot-gradle test this

@bot-gradle
Copy link
Collaborator

OK, I've already triggered ReadyForMerge build for you.

Copy link
Member

@ljacomet ljacomet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants