maven_install: fail if 'repositories' attribute is empty #1135
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.
Coursier fails with a cryptic error in case someone tries to use
maven_install()
without specifying anyrepositories
, which is a small silly thing I did when trying to extract internal corporate code into a public proof-of-concept on how to do something with Bazel that took me 10 minutes to hunt down :)When
repositories
is empty, Coursier fails with an error like:this was for a
maven_install()
block with a single artifact to install; otherwise the error message will contain oneResolution error
per artifact. The problem though is that Coursier doesn't say what the error is, just that one occurred.The root-cause is that
coursier_fetch
etc will invoke coursier with arguments likewhich disables default repositories like Maven Central.
So as a simple fix to prevent people from configuring
maven_install
in a way that doesn't make sense like I did, this commit adds a check insidemake_coursier_dep_tree
(where the arguments to coursier are constructed) to fail if the list/dict of repositories is empty.