Skip to content

Commit c7d5e1c

Browse files
committed
Enable precompiled protoc toolchain in all repos
This required importing `@bazel_features` and setting it up so we could access `@com_google_protobuf//bazel/common/proto_common.bzl`. Began adding documentation. Haven't tried with Bzlmod yet, but we may need a way to create targets for users to call `register_toolchains` on. That, or just expose `@rules_scala_toolchains` as part of the API, which I've been avoiding.
1 parent 3b2f83c commit c7d5e1c

File tree

17 files changed

+139
-9
lines changed

17 files changed

+139
-9
lines changed

README.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,15 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies")
6262

6363
rules_scala_dependencies()
6464

65-
# The next two calls instantiate the `@host_platform` repo to work around:
66-
# - https://github.com/bazelbuild/bazel/issues/22558
6765
# Only required if using `--incompatible_enable_proto_toolchain_resolution`.
66+
# Instantiates the `@host_platform` repo to work around:
67+
# - https://github.com/bazelbuild/bazel/issues/22558
6868
load("@platforms//host:extension.bzl", "host_platform_repo")
69+
host_platform_repo(name = "host_platform")
70+
load("@bazel_features//:deps.bzl", "bazel_features_deps")
71+
bazel_features_deps()
72+
load("@rules_scala//scala:protoc.bzl", "register_precompiled_protoc_toolchain")
73+
register_precompiled_protoc_toolchain()
6974

7075
host_platform_repo(name = "host_platform")
7176

@@ -190,6 +195,9 @@ common --incompatible_enable_proto_toolchain_resolution
190195

191196
Set the `protoc_platforms` attribute of `scala_toolchains()` if you need to
192197
configure protocol compilers for platforms other than the host platform.
198+
`WORKSPACE` must include the snippet from [Getting started](#getting-started)
199+
including `register_precompiled_protoc_toolchain()` _before_ any other
200+
`protobuf` toolchain registrations.
193201

194202
Windows builds now require the precompiled protocol compiler toolchain. See the
195203
[Windows MSVC builds of protobuf broken by default](#protoc-msvc) section

WORKSPACE

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@ load("//scala:deps.bzl", "rules_scala_dependencies")
55

66
rules_scala_dependencies()
77

8-
register_toolchains("@rules_scala_toolchains//protoc/...:all")
9-
10-
# The next two calls instantiate the `@host_platform` repo to work around:
11-
# - https://github.com/bazelbuild/bazel/issues/22558
128
# Only required if using `--incompatible_enable_proto_toolchain_resolution`.
9+
# Instantiates the `@host_platform` repo to work around:
10+
# - https://github.com/bazelbuild/bazel/issues/22558
1311
load("@platforms//host:extension.bzl", "host_platform_repo")
14-
1512
host_platform_repo(name = "host_platform")
13+
load("@bazel_features//:deps.bzl", "bazel_features_deps")
14+
bazel_features_deps()
15+
load("//scala:protoc.bzl", "register_precompiled_protoc_toolchain")
16+
register_precompiled_protoc_toolchain()
1617

1718
load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies")
1819

dt_patches/test_dt_patches/WORKSPACE

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14+
# For `--incompatible_enable_proto_toolchain_resolution`.
15+
load("@platforms//host:extension.bzl", "host_platform_repo")
16+
host_platform_repo(name = "host_platform")
17+
load("@bazel_features//:deps.bzl", "bazel_features_deps")
18+
bazel_features_deps()
19+
load("@rules_scala//scala:protoc.bzl", "register_precompiled_protoc_toolchain")
20+
register_precompiled_protoc_toolchain()
21+
1422
load("@platforms//host:extension.bzl", "host_platform_repo")
1523

1624
host_platform_repo(name = "host_platform")

dt_patches/test_dt_patches_user_srcjar/WORKSPACE

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14+
# For `--incompatible_enable_proto_toolchain_resolution`.
15+
load("@platforms//host:extension.bzl", "host_platform_repo")
16+
host_platform_repo(name = "host_platform")
17+
load("@bazel_features//:deps.bzl", "bazel_features_deps")
18+
bazel_features_deps()
19+
load("@rules_scala//scala:protoc.bzl", "register_precompiled_protoc_toolchain")
20+
register_precompiled_protoc_toolchain()
21+
1422
load("@platforms//host:extension.bzl", "host_platform_repo")
1523

1624
host_platform_repo(name = "host_platform")

examples/crossbuild/WORKSPACE

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14+
# For `--incompatible_enable_proto_toolchain_resolution`.
15+
load("@platforms//host:extension.bzl", "host_platform_repo")
16+
host_platform_repo(name = "host_platform")
17+
load("@bazel_features//:deps.bzl", "bazel_features_deps")
18+
bazel_features_deps()
19+
load("@rules_scala//scala:protoc.bzl", "register_precompiled_protoc_toolchain")
20+
register_precompiled_protoc_toolchain()
21+
1422
load("@platforms//host:extension.bzl", "host_platform_repo")
1523

1624
host_platform_repo(name = "host_platform")

examples/overridden_artifacts/WORKSPACE

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14+
# For `--incompatible_enable_proto_toolchain_resolution`.
15+
load("@platforms//host:extension.bzl", "host_platform_repo")
16+
host_platform_repo(name = "host_platform")
17+
load("@bazel_features//:deps.bzl", "bazel_features_deps")
18+
bazel_features_deps()
19+
load("@rules_scala//scala:protoc.bzl", "register_precompiled_protoc_toolchain")
20+
register_precompiled_protoc_toolchain()
21+
1422
load("@platforms//host:extension.bzl", "host_platform_repo")
1523

1624
host_platform_repo(name = "host_platform")

examples/scala3/WORKSPACE

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14+
# For `--incompatible_enable_proto_toolchain_resolution`.
15+
load("@platforms//host:extension.bzl", "host_platform_repo")
16+
host_platform_repo(name = "host_platform")
17+
load("@bazel_features//:deps.bzl", "bazel_features_deps")
18+
bazel_features_deps()
19+
load("@rules_scala//scala:protoc.bzl", "register_precompiled_protoc_toolchain")
20+
register_precompiled_protoc_toolchain()
21+
1422
load("@platforms//host:extension.bzl", "host_platform_repo")
1523

1624
host_platform_repo(name = "host_platform")

examples/semanticdb/WORKSPACE

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14+
# For `--incompatible_enable_proto_toolchain_resolution`.
15+
load("@platforms//host:extension.bzl", "host_platform_repo")
16+
host_platform_repo(name = "host_platform")
17+
load("@bazel_features//:deps.bzl", "bazel_features_deps")
18+
bazel_features_deps()
19+
load("@rules_scala//scala:protoc.bzl", "register_precompiled_protoc_toolchain")
20+
register_precompiled_protoc_toolchain()
21+
1422
load("@platforms//host:extension.bzl", "host_platform_repo")
1523

1624
host_platform_repo(name = "host_platform")

examples/testing/multi_frameworks_toolchain/WORKSPACE

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14+
# For `--incompatible_enable_proto_toolchain_resolution`.
15+
load("@platforms//host:extension.bzl", "host_platform_repo")
16+
host_platform_repo(name = "host_platform")
17+
load("@bazel_features//:deps.bzl", "bazel_features_deps")
18+
bazel_features_deps()
19+
load("@rules_scala//scala:protoc.bzl", "register_precompiled_protoc_toolchain")
20+
register_precompiled_protoc_toolchain()
21+
1422
load("@platforms//host:extension.bzl", "host_platform_repo")
1523

1624
host_platform_repo(name = "host_platform")

examples/testing/scalatest_repositories/WORKSPACE

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@ load("@rules_scala//scala:deps.bzl", "rules_scala_dependencies")
1111

1212
rules_scala_dependencies()
1313

14+
# For `--incompatible_enable_proto_toolchain_resolution`.
15+
load("@platforms//host:extension.bzl", "host_platform_repo")
16+
host_platform_repo(name = "host_platform")
17+
load("@bazel_features//:deps.bzl", "bazel_features_deps")
18+
bazel_features_deps()
19+
load("@rules_scala//scala:protoc.bzl", "register_precompiled_protoc_toolchain")
20+
register_precompiled_protoc_toolchain()
21+
1422
load("@platforms//host:extension.bzl", "host_platform_repo")
1523

1624
host_platform_repo(name = "host_platform")

0 commit comments

Comments
 (0)