closurejs example
bazel test //example/golden:closurejs_test
BUILD.bazel
(after gazelle)
load("@rules_proto//proto:defs.bzl", "proto_library")
load("@build_stack_rules_proto//rules:proto_compile.bzl", "proto_compile")
# "proto_rule" instantiates the proto_compile rule
# gazelle:proto_rule proto_compile implementation stackb:rules_proto:proto_compile
# "proto_plugin" instantiates the builtin closurejs plugin
# gazelle:proto_plugin closurejs implementation builtin:js:closure
# "proto_language" binds the rule(s) and plugin(s) together
# gazelle:proto_language closurejs rule proto_compile
# gazelle:proto_language closurejs plugin closurejs
proto_library(
name = "example_proto",
srcs = ["example.proto"],
visibility = ["//visibility:public"],
)
proto_compile(
name = "example_closurejs_compile",
options = {"@build_stack_rules_proto//plugin/builtin:closurejs": [
"import_style=closure",
"library=example",
]},
outputs = ["example.js"],
plugins = ["@build_stack_rules_proto//plugin/builtin:closurejs"],
proto = "example_proto",
)
BUILD.bazel
(before gazelle)
# "proto_rule" instantiates the proto_compile rule
# gazelle:proto_rule proto_compile implementation stackb:rules_proto:proto_compile
# "proto_plugin" instantiates the builtin closurejs plugin
# gazelle:proto_plugin closurejs implementation builtin:js:closure
# "proto_language" binds the rule(s) and plugin(s) together
# gazelle:proto_language closurejs rule proto_compile
# gazelle:proto_language closurejs plugin closurejs
WORKSPACE