-
Notifications
You must be signed in to change notification settings - Fork 14
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
Fail fast if outgoing configurations are realized early #424
Conversation
This PR has been automatically marked as stale because it has not been touched in the last 14 days. If you'd like to keep it open, please leave a comment or add the 'long-lived' label, otherwise it'll be closed in 7 days. |
+ "This is not allowed when using GCV.", | ||
configuration.get())); | ||
} | ||
return ImmutableList.of(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We need to return this so the resolution constraint gets triggered in addAllLater
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yep, I didn't know how else to add this as a "lazy effect" essentially
Released 1.18.0 |
Before this PR
Hard to debug bad interactions with other plugins.
For instance, the kotlin plugin realizes the dependencies of a bunch of java configurations early (at configuration time), and GCV doesn't allow that (see #423 (comment)).
However, by the time GCV fails, it will fail like so, and the stack trace won't point to who "included this configuration in dependency resolution" in the first place.
After this PR
==COMMIT_MSG==
Immediately throw an error capturing the stacktrace when other plugins / gradle code are attempting to realize configuration dependencies/constraints early (at configuration-time) and throw an error.
==COMMIT_MSG==
Possible downsides?