Add nice error when non-exclusive task depends on exclusive task #3887
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #3875
I placed a check to raise an error when a non-exclusive task depends on an exclusive task.
We could place this check any time from task instantiation to just before the
NoSuchElementException
gets thrown. I ended up putting it as late as possible, such that the failure is localized, which allows other un-related parts of the build to proceed despite the failure, as well as allowing other errors in the build to be reported in parallel (rather than having to re-run the build over and over after fixing each one to see the next one)Covered with an integration test that asserts on the error message. Best reviewed with Ignore Whitespace