github.com/stackb/rules_proto@v0.0.0-20240221195024-5428336c51f1/docs/starlark_java.md (about) 1 --- 2 layout: default 3 title: starlark_java 4 permalink: examples/starlark_java 5 parent: Examples 6 --- 7 8 9 # starlark_java example 10 11 `bazel test //example/golden:starlark_java_test` 12 13 14 ## `BUILD.bazel` (after gazelle) 15 16 ~~~python 17 load("@rules_proto//proto:defs.bzl", "proto_library") 18 load("@build_stack_rules_proto//rules:proto_compile.bzl", "proto_compile") 19 load("@rules_java//java:defs.bzl", "java_library") 20 21 # gazelle:proto_rule proto_compile implementation stackb:rules_proto:proto_compile 22 # gazelle:proto_rule java_library implementation lib/rules.star%java_library 23 # gazelle:proto_rule java_library deps @com_google_protobuf//:protobuf_java 24 # gazelle:proto_rule java_library deps @com_google_protobuf//java/core 25 # gazelle:proto_rule java_library visibility //visibility:public 26 # gazelle:proto_plugin java implementation lib/plugins.star%java 27 # gazelle:proto_language java rule proto_compile 28 # gazelle:proto_language java rule java_library 29 # gazelle:proto_language java plugin java 30 31 proto_library( 32 name = "example_proto", 33 srcs = ["example.proto"], 34 visibility = ["//visibility:public"], 35 ) 36 37 java_library( 38 name = "example_java_library", 39 srcs = ["example.srcjar"], 40 visibility = ["//visibility:public"], 41 deps = [ 42 "@com_google_protobuf//:protobuf_java", 43 "@com_google_protobuf//java/core", 44 ], 45 ) 46 47 proto_compile( 48 name = "example_java_compile", 49 outputs = ["example.srcjar"], 50 plugins = ["@build_stack_rules_proto//plugin/builtin:java"], 51 proto = "example_proto", 52 ) 53 ~~~ 54 55 56 ## `BUILD.bazel` (before gazelle) 57 58 ~~~python 59 # gazelle:proto_rule proto_compile implementation stackb:rules_proto:proto_compile 60 # gazelle:proto_rule java_library implementation lib/rules.star%java_library 61 # gazelle:proto_rule java_library deps @com_google_protobuf//:protobuf_java 62 # gazelle:proto_rule java_library deps @com_google_protobuf//java/core 63 # gazelle:proto_rule java_library visibility //visibility:public 64 # gazelle:proto_plugin java implementation lib/plugins.star%java 65 # gazelle:proto_language java rule proto_compile 66 # gazelle:proto_language java rule java_library 67 # gazelle:proto_language java plugin java 68 ~~~ 69 70 71 ## `WORKSPACE` 72 73 ~~~python 74 # Using scala_deps here because it provides rules_jvm_external, there is nothing 75 # scala-specific about this example. 76 load("@build_stack_rules_proto//deps:scala_deps.bzl", "scala_deps") 77 78 scala_deps() 79 ~~~ 80