rules_scala
rules_scala copied to clipboard
hardcoded scala-library doesn't respect scala_version
trafficstars
With
scala_config(scala_version = "2.13.9")
in WORKSPACE there is still 2.13.6 scala-library dependency
$ bazel query --output build //external:io_bazel_rules_scala_scala_library
jvm_import_external(
name = "io_bazel_rules_scala_scala_library",
generator_name = "io_bazel_rules_scala_scala_library",
generator_function = "scala_repositories",
rule_name = "scala_import",
licenses = ["notice"],
jar_urls = ["https://repo.maven.apache.org/maven2/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6.jar", "https://maven-central.storage-download.googleapis.com/maven2/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6.jar", "https://mirror.bazel.build/repo1.maven.org/maven2/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6.jar", "https://jcenter.bintray.com/org/scala-lang/scala-library/2.13.6/scala-library-2.13.6.jar"],
artifact_sha256 = "f19ed732e150d3537794fd3fe42ee18470a3f707efd499ecd05a99e727ff6c8a",
rule_load = "load(\"@io_bazel_rules_scala//scala:scala_import.bzl\", \"scala_import\")",
deps = [],
runtime_deps = [],
testonly_ = False,
)
and it ends up being present in the container images (along with scala-library pulled in via rules_jvm_external dependency in this case)
-r-xr-xr-x 0/0 5939419 1970-01-01 01:00 ./app/maven/v1/https/repo.maven.apache/maven2/org/org/scala-lang/scala-library/2.13.9/scala-library-2.13.9.jar
-r-xr-xr-x 0/0 5955737 1970-01-01 01:00 ./app/io_bazel_rules_scala_scala_library/scala-library-2.13.6.jar
We got around this by doing an override
scala_version = "2.13.11"
scala_repositories(overriden_artifacts={
"io_bazel_rules_scala_scala_library": {
"artifact": "org.scala-lang:scala-library:%s" % scala_version,
"sha256": "e6ca607c3fce03e8fa38af3374ce1f8bb098e316e8bf6f6d27331360feddb1c1",
},
"io_bazel_rules_scala_scala_compiler": {
"artifact": "org.scala-lang:scala-compiler:%s" % scala_version,
"sha256": "2cd4a964ea48e78c91a2a7b19c4fc67a9868728ace5ee966b1d498270b3c3aa7",
},
"io_bazel_rules_scala_scala_reflect": {
"artifact": "org.scala-lang:scala-reflect:%s" % scala_version,
"sha256": "62bd7a7198193c5373a992c122990279e413af3307162472a5d3cbb8ecadb35e",
}
})