diff --git a/.gitignore b/.gitignore index bc05c9305..8b49d2c08 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,5 @@ hash2 .metals .vscode unformatted-*.backup.scala -.scala-build \ No newline at end of file +.scala-build +MODULE.bazel.lock diff --git a/MODULE.bazel b/MODULE.bazel new file mode 100644 index 000000000..f0dfdd4dc --- /dev/null +++ b/MODULE.bazel @@ -0,0 +1,32 @@ +module(name = "io_bazel_rules_scala") + +bazel_dep(name = "bazel_skylib", version = "1.4.1") +bazel_dep(name = "rules_cc", version = "0.0.6") +bazel_dep(name = "rules_java", version = "5.5.0") +bazel_dep(name = "rules_proto", version = "5.3.0-21.7") + +use_repo( + use_extension("//:extensions/scala_config_ext.bzl", "scala_config_dep"), + "io_bazel_rules_scala_config" +) + +non_module_deps = use_extension("//:extensions/non_module_deps.bzl", "non_module_deps") +use_repo(non_module_deps, "scala_compiler_source") +use_repo(non_module_deps, "io_bazel_rules_scala_scala_library") +use_repo(non_module_deps, "io_bazel_rules_scala_scala_compiler") +use_repo(non_module_deps, "io_bazel_rules_scala_scala_xml") +use_repo(non_module_deps, "io_bazel_rules_scala_scala_parser_combinators") +use_repo(non_module_deps, "io_bazel_rules_scala_scala_interfaces") +use_repo(non_module_deps, "io_bazel_rules_scala_scala_reflect") +use_repo(non_module_deps, "org_scalameta_semanticdb_scalac") +use_repo(non_module_deps, "io_bazel_rules_scala_scala_tasty_core") +use_repo(non_module_deps, "io_bazel_rules_scala_scala_asm") +use_repo(non_module_deps, "io_bazel_rules_scala_scala_library_2") +use_repo(non_module_deps, "io_bazel_rules_scala_org_openjdk_jmh_jmh_core") +use_repo(non_module_deps, "io_bazel_rules_scala_org_openjdk_jmh_jmh_generator_asm") +use_repo(non_module_deps, "io_bazel_rules_scala_org_openjdk_jmh_jmh_generator_reflection") +use_repo(non_module_deps, "io_bazel_rules_scala_org_ows2_asm_asm") +use_repo(non_module_deps, "io_bazel_rules_scala_net_sf_jopt_simple_jopt_simple") +use_repo(non_module_deps, "io_bazel_rules_scala_org_apache_commons_commons_math3") + +register_toolchains("@io_bazel_rules_scala//jmh:jmh_toolchain") diff --git a/WORKSPACE.bzlmod b/WORKSPACE.bzlmod new file mode 100644 index 000000000..26bc7ffa9 --- /dev/null +++ b/WORKSPACE.bzlmod @@ -0,0 +1,178 @@ +workspace(name = "io_bazel_rules_scala") + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") + +_build_tools_release = "5.1.0" + +http_archive( + name = "com_github_bazelbuild_buildtools", + sha256 = "e3bb0dc8b0274ea1aca75f1f8c0c835adbe589708ea89bf698069d0790701ea3", + strip_prefix = "buildtools-%s" % _build_tools_release, + url = "https://github.com/bazelbuild/buildtools/archive/%s.tar.gz" % _build_tools_release, +) + +load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains") + +# Declares @com_google_protobuf//:protoc pointing to released binary +# This should stop building protoc during bazel build +# See https://github.com/bazelbuild/rules_proto/pull/36 +rules_proto_dependencies() + +rules_proto_toolchains() + +load("//scala:scala_cross_version.bzl", "default_maven_server_urls") +load("//twitter_scrooge:twitter_scrooge.bzl", "twitter_scrooge") + +twitter_scrooge() + +load("//scala_proto:scala_proto.bzl", "scala_proto_repositories") + +scala_proto_repositories() + +load("//scalatest:scalatest.bzl", "scalatest_repositories") + +scalatest_repositories() + +load("//specs2:specs2_junit.bzl", "specs2_junit_repositories") + +specs2_junit_repositories() + +register_toolchains("//testing:testing_toolchain") + +load("//scala/scalafmt:scalafmt_repositories.bzl", "scalafmt_default_config", "scalafmt_repositories") + +scalafmt_default_config() + +scalafmt_repositories() + +MAVEN_SERVER_URLS = default_maven_server_urls() + +# needed for the cross repo proto test +load("//test/proto_cross_repo_boundary:repo.bzl", "proto_cross_repo_boundary_repository") + +proto_cross_repo_boundary_repository() + +new_local_repository( + name = "test_new_local_repo", + build_file_content = + """ +filegroup( + name = "data", + srcs = glob(["**/*.txt"]), + visibility = ["//visibility:public"], +) +""", + path = "third_party/test/new_local_repo", +) + +local_repository( + name = "example_external_workspace", + path = "third_party/test/example_external_workspace", +) + +load("@io_bazel_rules_scala//scala:toolchains.bzl", "scala_register_unused_deps_toolchains") + +scala_register_unused_deps_toolchains() + +register_toolchains("@io_bazel_rules_scala//test/proto:scalapb_toolchain") + +load("//scala:scala_maven_import_external.bzl", "java_import_external") + +# bazel's java_import_external has been altered in rules_scala to be a macro based on jvm_import_external +# in order to allow for other jvm-language imports (e.g. scala_import) +# the 3rd-party dependency below is using the java_import_external macro +# in order to make sure no regression with the original java_import_external +java_import_external( + name = "org_apache_commons_commons_lang_3_5_without_file", + generated_linkable_rule_name = "linkable_org_apache_commons_commons_lang_3_5_without_file", + jar_sha256 = "8ac96fc686512d777fca85e144f196cd7cfe0c0aec23127229497d1a38ff651c", + jar_urls = ["https://repo.maven.apache.org/maven2/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar"], + licenses = ["notice"], # Apache 2.0 + neverlink = True, + testonly_ = True, +) + +## Linting + +load("//private:format.bzl", "format_repositories") + +format_repositories() + +http_archive( + name = "io_bazel_rules_go", + sha256 = "dd926a88a564a9246713a9c00b35315f54cbd46b31a26d5d8fb264c07045f05d", + urls = [ + "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.38.1/rules_go-v0.38.1.zip", + "https://github.com/bazelbuild/rules_go/releases/download/v0.38.1/rules_go-v0.38.1.zip", + ], +) + +load( + "@io_bazel_rules_go//go:deps.bzl", + "go_register_toolchains", + "go_rules_dependencies", +) + +go_rules_dependencies() + +go_register_toolchains(version = "1.19.5") + +# Explicitly pull in a different (newer) version of rules_java for remote jdks +rules_java_extra_version = "5.1.0" + +rules_java_extra_sha = "d974a2d6e1a534856d1b60ad6a15e57f3970d8596fbb0bb17b9ee26ca209332a" + +rules_java_extra_url = "https://github.com/bazelbuild/rules_java/releases/download/{}/rules_java-{}.tar.gz".format(rules_java_extra_version, rules_java_extra_version) + +http_archive( + name = "rules_java_extra", + sha256 = rules_java_extra_sha, + url = rules_java_extra_url, +) + +load("@rules_java//java:repositories.bzl", "remote_jdk8_repos") + +# We need to select based on platform when we use these +# https://github.com/bazelbuild/bazel/issues/11655 +remote_jdk8_repos() + +http_archive( + name = "bazelci_rules", + sha256 = "eca21884e6f66a88c358e580fd67a6b148d30ab57b1680f62a96c00f9bc6a07e", + strip_prefix = "bazelci_rules-1.0.0", + url = "https://github.com/bazelbuild/continuous-integration/releases/download/rules-1.0.0/bazelci_rules-1.0.0.tar.gz", +) + +load("@bazelci_rules//:rbe_repo.bzl", "rbe_preconfig") + +rbe_preconfig( + name = "rbe_default", + toolchain = "ubuntu2004-bazel-java11", +) + +load("//third_party/repositories:repositories.bzl", "repositories") + +repositories( + fetch_sources = False, + for_artifact_ids = [ + # test adding a scala jar: + "com_twitter__scalding_date", + # test of strict deps (scalac plugin UT + E2E) + "com_google_guava_guava_21_0_with_file", + "com_github_jnr_jffi_native", + "org_apache_commons_commons_lang_3_5", + "com_google_guava_guava_21_0", + # test of import external + # scala maven import external decodes maven artifacts to its parts + # (group id, artifact id, packaging, version and classifier). To make sure + # the decoding and then the download url composition are working the artifact example + # must contain all the different parts and sha256s so the downloaded content will be + # validated against it + "org_springframework_spring_core", + "org_springframework_spring_tx", + "org_typelevel_kind_projector", + # For testing that we don't include sources jars to the classpath + "org_typelevel__cats_core", + ], + maven_servers = MAVEN_SERVER_URLS, +) diff --git a/extensions/non_module_deps.bzl b/extensions/non_module_deps.bzl new file mode 100644 index 000000000..c2fb3a3c9 --- /dev/null +++ b/extensions/non_module_deps.bzl @@ -0,0 +1,74 @@ +load("//third_party/repositories:repositories.bzl", "repository") +load( + "@io_bazel_rules_scala//scala/private:macros/scala_repositories.bzl", + _dt_patched_compiler_setup = "dt_patched_compiler_setup", +) + +def _non_module_deps_impl(ctx): + _dt_patched_compiler_setup() + repository( + id = "io_bazel_rules_scala_scala_library", + validate_scala_version = True, + ) + repository( + id = "io_bazel_rules_scala_scala_compiler", + validate_scala_version = True, + ) + repository( + id = "io_bazel_rules_scala_scala_xml", + validate_scala_version = True, + ) + repository( + id = "io_bazel_rules_scala_scala_parser_combinators", + validate_scala_version = True, + ) + repository( + id = "io_bazel_rules_scala_scala_interfaces", + validate_scala_version = True, + ) + repository( + id = "io_bazel_rules_scala_scala_reflect", + validate_scala_version = True, + ) + repository( + id = "org_scalameta_semanticdb_scalac", + validate_scala_version = True, + ) + repository( + id = "io_bazel_rules_scala_scala_tasty_core", + validate_scala_version = True, + ) + repository( + id = "io_bazel_rules_scala_scala_asm", + validate_scala_version = True, + ) + repository( + id = "io_bazel_rules_scala_scala_library_2", + validate_scala_version = True, + ) + repository( + id = "io_bazel_rules_scala_org_openjdk_jmh_jmh_core", + fetch_sources = False, + ) + repository( + id = "io_bazel_rules_scala_org_openjdk_jmh_jmh_generator_asm", + fetch_sources = False, + ) + repository( + id = "io_bazel_rules_scala_org_openjdk_jmh_jmh_generator_reflection", + fetch_sources = False, + ) + repository( + id = "io_bazel_rules_scala_org_ows2_asm_asm", + fetch_sources = False, + ) + repository( + id = "io_bazel_rules_scala_net_sf_jopt_simple_jopt_simple", + fetch_sources = False, + ) + repository( + id = "io_bazel_rules_scala_org_apache_commons_commons_math3", + fetch_sources = False, + ) + +non_module_deps = module_extension(implementation = _non_module_deps_impl) diff --git a/extensions/scala_config_ext.bzl b/extensions/scala_config_ext.bzl new file mode 100644 index 000000000..f991448ac --- /dev/null +++ b/extensions/scala_config_ext.bzl @@ -0,0 +1,8 @@ +load("//:scala_config.bzl", "scala_config") + +def _scala_config_dep_impl(ctx): + scala_config(enable_compiler_dependency_tracking = True) + +scala_config_dep = module_extension( + implementation = _scala_config_dep_impl, +) diff --git a/scala/private/phases/phase_dependency.bzl b/scala/private/phases/phase_dependency.bzl index d8ae91e7e..a2689d362 100644 --- a/scala/private/phases/phase_dependency.bzl +++ b/scala/private/phases/phase_dependency.bzl @@ -85,11 +85,11 @@ def _get_unused_deps_mode(ctx): def _is_target_included(target, includes, excludes): for exclude in excludes: - if target.startswith(exclude): + if target.startswith(exclude) or target.startswith("@" + exclude): return False for include in includes: - if target.startswith(include): + if target.startswith(include) or target.startswith("@" + include): return True return False diff --git a/scala/scala_maven_import_external.bzl b/scala/scala_maven_import_external.bzl index 63d5e3b75..4181d93ac 100644 --- a/scala/scala_maven_import_external.bzl +++ b/scala/scala_maven_import_external.bzl @@ -64,7 +64,7 @@ def _jvm_import_external(repository_ctx): if (repository_ctx.attr.generated_linkable_rule_name and not repository_ctx.attr.neverlink): fail("Only use generated_linkable_rule_name if neverlink is set") - name = repository_ctx.attr.generated_rule_name or repository_ctx.name + name = repository_ctx.attr.repo_name or repository_ctx.attr.generated_rule_name or repository_ctx.name urls = repository_ctx.attr.jar_urls if repository_ctx.attr.jar_sha256: print("'jar_sha256' is deprecated. Please use 'artifact_sha256'") @@ -133,7 +133,7 @@ def _jvm_import_external(repository_ctx): "", "alias(", " name = \"jar\",", - " actual = \"@%s\"," % repository_ctx.name, + " actual = \"@%s\"," % (repository_ctx.attr.repo_name or repository_ctx.name), ")", "", ])) @@ -219,6 +219,7 @@ jvm_import_external = repository_rule( implementation = _jvm_import_external, attrs = { "rule_name": attr.string(mandatory = True), + "repo_name": attr.string(), "licenses": attr.string_list(mandatory = True, allow_empty = False), "jar_urls": attr.string_list(mandatory = True, allow_empty = False), "jar_sha256": attr.string(doc = "'jar_sha256' is deprecated. Please use 'artifact_sha256'"), diff --git a/test/shell/test_scala_config.sh b/test/shell/test_scala_config.sh index 88870f8ea..2f9071035 100755 --- a/test/shell/test_scala_config.sh +++ b/test/shell/test_scala_config.sh @@ -18,7 +18,7 @@ test_classpath_contains_2_13() { test_scala_config_content() { bazel build --repo_env=SCALA_VERSION=0.0.0 @io_bazel_rules_scala_config//:all 2> /dev/null - grep "SCALA_MAJOR_VERSION='0.0'" $(bazel info output_base)/external/io_bazel_rules_scala_config/config.bzl + grep "SCALA_MAJOR_VERSION='0.0'" $(bazel info output_base)/external/*/config.bzl } $runner test_classpath_contains_2_12 diff --git a/test/shell/test_scala_library.sh b/test/shell/test_scala_library.sh index ec43e1e7d..4826f35c1 100755 --- a/test/shell/test_scala_library.sh +++ b/test/shell/test_scala_library.sh @@ -177,7 +177,7 @@ test_scala_library_expect_better_failure_with_target_label_from_stamped_jar_on_m test_scala_library_expect_better_failure_message_on_missing_transitive_dependency_labels_from_other_jvm_rules() { transitive_target='.*transitive_dependency_without_manifest.jar' - direct_target='@//test_expect_failure/missing_direct_deps/internal_deps:unstamped_direct_java_provider_dependency' + direct_target='@.*//test_expect_failure/missing_direct_deps/internal_deps:unstamped_direct_java_provider_dependency' test_target='//test_expect_failure/missing_direct_deps/internal_deps:unstamped_jar_dependent_on_some_java_provider' expected_message="Unknown label of file $transitive_target which came from $direct_target" diff --git a/test/shell/test_strict_dependency.sh b/test/shell/test_strict_dependency.sh index da6537815..c4fe4ba57 100755 --- a/test/shell/test_strict_dependency.sh +++ b/test/shell/test_strict_dependency.sh @@ -41,7 +41,7 @@ test_plus_one_ast_analyzer_strict_deps() { test_stamped_target_label_loading() { local test_target="//test_expect_failure/missing_direct_deps/external_deps:java_lib_with_a_transitive_external_dep" - local expected_message="buildozer 'add deps @io_bazel_rules_scala_guava//:io_bazel_rules_scala_guava' ${test_target}" + local expected_message="buildozer 'add deps @.*io_bazel_rules_scala_guava//:io_bazel_rules_scala_guava' ${test_target}" test_expect_failure_or_warning_on_missing_direct_deps_with_expected_message \ "${expected_message}" ${test_target} \ @@ -56,7 +56,7 @@ test_strict_deps_filter_excluded_target() { test_strict_deps_filter_included_target() { local test_target="//test_expect_failure/missing_direct_deps/filtering:b" - local expected_message="buildozer 'add deps @com_google_guava_guava_21_0//:com_google_guava_guava_21_0' ${test_target}" + local expected_message="buildozer 'add deps @.*com_google_guava_guava_21_0//:com_google_guava_guava_21_0' ${test_target}" test_expect_failure_or_warning_on_missing_direct_deps_with_expected_message \ "${expected_message}" ${test_target} \ @@ -66,7 +66,7 @@ test_strict_deps_filter_included_target() { test_demonstrate_INCORRECT_scala_proto_library_stamp() { local test_target="//test_expect_failure/missing_direct_deps/scala_proto_deps:uses_transitive_scala_proto" - local incorrectly_stamped_expected_message="buildozer 'add deps @//test_expect_failure/missing_direct_deps/scala_proto_deps:some_proto' ${test_target}" + local incorrectly_stamped_expected_message="buildozer 'add deps @.*//test_expect_failure/missing_direct_deps/scala_proto_deps:some_proto' ${test_target}" # When stamping is fixed, expected stamp is: # local correctly_stamped_expected_message="buildozer 'add deps //test_expect_failure/missing_direct_deps/scala_proto_deps:some_scala_proto' ${test_target}" @@ -79,7 +79,7 @@ test_demonstrate_INCORRECT_scala_proto_library_stamp() { test_scala_proto_library_stamp_by_convention() { local test_target="//test_expect_failure/missing_direct_deps/scala_proto_deps:uses_transitive_scala_proto" - local expected_message="buildozer 'add deps @//test_expect_failure/missing_direct_deps/scala_proto_deps:some_scala_proto' ${test_target}" + local expected_message="buildozer 'add deps @.*//test_expect_failure/missing_direct_deps/scala_proto_deps:some_scala_proto' ${test_target}" test_expect_failure_or_warning_on_missing_direct_deps_with_expected_message \ "${expected_message}" ${test_target} \ @@ -89,7 +89,7 @@ test_scala_proto_library_stamp_by_convention() { test_scala_proto_library_custom_phase_stamping() { local test_target="//test_expect_failure/missing_direct_deps/scala_proto_deps:uses_transitive_some_proto_custom_suffix" - local expected_message="buildozer 'add deps @//test_expect_failure/missing_direct_deps/scala_proto_deps:some_proto_custom_suffix' ${test_target}" + local expected_message="buildozer 'add deps .*@//test_expect_failure/missing_direct_deps/scala_proto_deps:some_proto_custom_suffix' ${test_target}" test_expect_failure_or_warning_on_missing_direct_deps_with_expected_message \ "${expected_message}" ${test_target} \ diff --git a/test_version.sh b/test_version.sh index 549e3cdaf..ebc9f8de9 100755 --- a/test_version.sh +++ b/test_version.sh @@ -44,6 +44,12 @@ run_in_test_repo() { sed \ -e "s%\${twitter_scrooge_repositories}%$TWITTER_SCROOGE_REPOSITORIES%" \ WORKSPACE.template >> $NEW_TEST_DIR/WORKSPACE + sed \ + -e "s%\${twitter_scrooge_repositories}%$TWITTER_SCROOGE_REPOSITORIES%" \ + WORKSPACE.template >> $NEW_TEST_DIR/WORKSPACE.bzlmod + sed \ + -e "s%\${twitter_scrooge_repositories}%$TWITTER_SCROOGE_REPOSITORIES%" \ + MODULE.template >> $NEW_TEST_DIR/MODULE.bazel cp ../.bazelrc $NEW_TEST_DIR/.bazelrc cd $NEW_TEST_DIR diff --git a/test_version/MODULE.template b/test_version/MODULE.template new file mode 100644 index 000000000..065b8148a --- /dev/null +++ b/test_version/MODULE.template @@ -0,0 +1 @@ +module(name = "io_bazel_rules_scala_test") diff --git a/test_version/WORKSPACE.template b/test_version/WORKSPACE.template index 34c499f2f..84869cb17 100644 --- a/test_version/WORKSPACE.template +++ b/test_version/WORKSPACE.template @@ -1,3 +1,4 @@ +# TODO(#1482) migrate to bzlmod workspace(name = "io_bazel_rules_scala_test") load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") @@ -11,22 +12,6 @@ http_archive( ], ) -http_archive( - name = "rules_proto", - sha256 = "8e7d59a5b12b233be5652e3d29f42fba01c7cbab09f6b3a8d0a57ed6d1e9a0da", - strip_prefix = "rules_proto-7e4afce6fe62dbff0a4a03450143146f9f2d7488", - urls = [ - "https://mirror.bazel.build/github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz", - "https://github.com/bazelbuild/rules_proto/archive/7e4afce6fe62dbff0a4a03450143146f9f2d7488.tar.gz", - ], -) - -load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains") - -rules_proto_dependencies() - -rules_proto_toolchains() - local_repository( name = "io_bazel_rules_scala", path = "../../" @@ -41,6 +26,12 @@ load("@io_bazel_rules_scala//scala:scala.bzl", "scala_repositories") scala_repositories(fetch_sources = True) +load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains") + +rules_proto_dependencies() + +rules_proto_toolchains() + load(":scrooge_repositories.bzl", "scrooge_repositories") ${twitter_scrooge_repositories} diff --git a/third_party/repositories/repositories.bzl b/third_party/repositories/repositories.bzl index 423247884..923ded1fe 100644 --- a/third_party/repositories/repositories.bzl +++ b/third_party/repositories/repositories.bzl @@ -86,3 +86,43 @@ def repositories( testonly_ = artifacts[id].get("testonly", False), fetch_sources = fetch_sources, ) + +def repository( + id, + maven_servers = default_maven_server_urls(), + fetch_sources = True, + validate_scala_version = False): + if validate_scala_version: + repository_scala_version = scala_version_by_major_scala_version[SCALA_MAJOR_VERSION] + if not SCALA_VERSION == repository_scala_version: + fail("Scala config (%s) version does not match repository version (%s)" % (SCALA_VERSION, repository_scala_version)) + artifacts = artifacts_by_major_scala_version[SCALA_MAJOR_VERSION] + + # workaround to satisfy bzlmod builds + # in a MODULE.bazel file we don't know which scala version is set, + # so we register every possible repo, even if the given version does not require it + if artifacts[id].get("dummy", False) == True: + dummy_repo(repo_name = id) + else: + _scala_maven_import_external( + name = id, + repo_name = id, + artifact = artifacts[id]["artifact"], + artifact_sha256 = artifacts[id]["sha256"], + licenses = ["notice"], + server_urls = maven_servers, + deps = artifacts[id].get("deps", []), + runtime_deps = artifacts[id].get("runtime_deps", []), + testonly_ = artifacts[id].get("testonly", False), + fetch_sources = fetch_sources, + ) + +def _dummy_repo_impl(repository_ctx): + repository_ctx.file("BUILD") + +_dummy_repo = repository_rule( + implementation = _dummy_repo_impl, +) + +def dummy_repo(repo_name): + _dummy_repo(name = repo_name) diff --git a/third_party/repositories/scala_2_11.bzl b/third_party/repositories/scala_2_11.bzl index 17ea4e377..28fffa539 100644 --- a/third_party/repositories/scala_2_11.bzl +++ b/third_party/repositories/scala_2_11.bzl @@ -516,4 +516,16 @@ artifacts = { "artifact": "org.typelevel:kind-projector_%s:0.13.2" % scala_version, "sha256": "8f7287973f7f8fc9372b59d36120e3fac5839344f65c8f640351794e8907145c", }, + "io_bazel_rules_scala_scala_interfaces": { + "dummy": True, + }, + "io_bazel_rules_scala_scala_tasty_core": { + "dummy": True, + }, + "io_bazel_rules_scala_scala_asm": { + "dummy": True, + }, + "io_bazel_rules_scala_scala_library_2": { + "dummy": True, + }, } diff --git a/third_party/repositories/scala_2_12.bzl b/third_party/repositories/scala_2_12.bzl index df6a17090..a2d52b3fb 100644 --- a/third_party/repositories/scala_2_12.bzl +++ b/third_party/repositories/scala_2_12.bzl @@ -516,4 +516,16 @@ artifacts = { "artifact": "org.typelevel:kind-projector_%s:0.13.2" % scala_version, "sha256": "7d4e821b86647c65546c1e3667348e8168c5907e9d4b277cc2badedcd479be44", }, + "io_bazel_rules_scala_scala_interfaces": { + "dummy": True, + }, + "io_bazel_rules_scala_scala_tasty_core": { + "dummy": True, + }, + "io_bazel_rules_scala_scala_asm": { + "dummy": True, + }, + "io_bazel_rules_scala_scala_library_2": { + "dummy": True, + }, } diff --git a/third_party/repositories/scala_2_13.bzl b/third_party/repositories/scala_2_13.bzl index c5743ad87..36446bff7 100644 --- a/third_party/repositories/scala_2_13.bzl +++ b/third_party/repositories/scala_2_13.bzl @@ -521,4 +521,16 @@ artifacts = { "artifact": "org.typelevel:kind-projector_%s:0.13.2" % scala_version, "sha256": "4bd985e53ac950a1f130981f7ec9a2c5dffe4c2f588fc695180c6105f4a9557f", }, + "io_bazel_rules_scala_scala_interfaces": { + "dummy": True, + }, + "io_bazel_rules_scala_scala_tasty_core": { + "dummy": True, + }, + "io_bazel_rules_scala_scala_asm": { + "dummy": True, + }, + "io_bazel_rules_scala_scala_library_2": { + "dummy": True, + }, } diff --git a/third_party/repositories/scala_3_1.bzl b/third_party/repositories/scala_3_1.bzl index 71a7a5be5..8c44e363a 100644 --- a/third_party/repositories/scala_3_1.bzl +++ b/third_party/repositories/scala_3_1.bzl @@ -530,4 +530,10 @@ artifacts = { "artifact": "org.typelevel:kind-projector_2.13.12:0.13.2", "sha256": "4bd985e53ac950a1f130981f7ec9a2c5dffe4c2f588fc695180c6105f4a9557f", }, + "io_bazel_rules_scala_scala_reflect": { + "dummy": True, + }, + "org_scalameta_semanticdb_scalac": { + "dummy": True, + }, } diff --git a/third_party/repositories/scala_3_2.bzl b/third_party/repositories/scala_3_2.bzl index c4a9101d7..af1ea0c9b 100644 --- a/third_party/repositories/scala_3_2.bzl +++ b/third_party/repositories/scala_3_2.bzl @@ -530,4 +530,10 @@ artifacts = { "artifact": "org.typelevel:kind-projector_2.13.12:0.13.2", "sha256": "4bd985e53ac950a1f130981f7ec9a2c5dffe4c2f588fc695180c6105f4a9557f", }, + "io_bazel_rules_scala_scala_reflect": { + "dummy": True, + }, + "org_scalameta_semanticdb_scalac": { + "dummy": True, + }, } diff --git a/third_party/repositories/scala_3_3.bzl b/third_party/repositories/scala_3_3.bzl index 551a83e5f..4b5abcdd5 100644 --- a/third_party/repositories/scala_3_3.bzl +++ b/third_party/repositories/scala_3_3.bzl @@ -528,4 +528,10 @@ artifacts = { "artifact": "org.typelevel:kind-projector_2.13.12:0.13.2", "sha256": "4bd985e53ac950a1f130981f7ec9a2c5dffe4c2f588fc695180c6105f4a9557f", }, + "io_bazel_rules_scala_scala_reflect": { + "dummy": True, + }, + "org_scalameta_semanticdb_scalac": { + "dummy": True, + }, }