github.com/stackb/rules_proto@v0.0.0-20240221195024-5428336c51f1/example/place/BUILD.bazel (about) 1 load("@rules_proto//proto:defs.bzl", "proto_library") 2 load("@build_stack_rules_proto//rules/cc:proto_cc_library.bzl", "proto_cc_library") 3 load("@build_stack_rules_proto//rules/closure:proto_closure_js_library.bzl", "proto_closure_js_library") 4 load("@build_stack_rules_proto//rules/go:proto_go_library.bzl", "proto_go_library") 5 load("@build_stack_rules_proto//rules/java:proto_java_library.bzl", "proto_java_library") 6 load("@build_stack_rules_proto//rules/nodejs:proto_nodejs_library.bzl", "proto_nodejs_library") 7 load("@build_stack_rules_proto//rules/py:proto_py_library.bzl", "proto_py_library") 8 load("@build_stack_rules_proto//rules/scala:proto_scala_library.bzl", "proto_scala_library") 9 load("@build_stack_rules_proto//rules/ts:proto_ts_library.bzl", "proto_ts_library") 10 load("@build_stack_rules_proto//rules:proto_compile.bzl", "proto_compile") 11 12 proto_library( 13 name = "place_proto", 14 srcs = ["place.proto"], 15 visibility = ["//visibility:public"], 16 deps = ["//example/thing:thing_proto"], 17 ) 18 19 proto_closure_js_library( 20 name = "place_closure_js_library", 21 srcs = ["place_closure.js"], 22 internal_descriptors = [ 23 "//example/place:place_proto", 24 "//example/thing:thing_proto", 25 "//google/protobuf:timestamppb_proto", 26 ], 27 suppress = [ 28 "JSC_IMPLICITLY_NONNULL_JSDOC", 29 "JSC_UNUSED_LOCAL_ASSIGNMENT", 30 ], 31 visibility = ["//visibility:public"], 32 exports = ["//example/thing:thing_closure_js_library"], 33 deps = ["//example/thing:thing_closure_js_library"], 34 ) 35 36 proto_compile( 37 name = "place_closure_js_compile", 38 options = {"@build_stack_rules_proto//plugin/builtin:closurejs": [ 39 "import_style=closure", 40 "library=example/place/place_closure", 41 ]}, 42 outputs = ["place_closure.js"], 43 plugins = ["@build_stack_rules_proto//plugin/builtin:closurejs"], 44 proto = "place_proto", 45 visibility = ["//visibility:public"], 46 ) 47 48 proto_cc_library( 49 name = "place_cc_library", 50 srcs = ["place.pb.cc"], 51 hdrs = ["place.pb.h"], 52 visibility = ["//visibility:public"], 53 deps = [ 54 "//example/thing:thing_cc_library", 55 "@com_google_protobuf//:protobuf", 56 ], 57 ) 58 59 proto_compile( 60 name = "place_cpp_compile", 61 outputs = [ 62 "place.pb.cc", 63 "place.pb.h", 64 ], 65 plugins = ["@build_stack_rules_proto//plugin/builtin:cpp"], 66 proto = "place_proto", 67 visibility = ["//visibility:public"], 68 ) 69 70 proto_compile( 71 name = "place_go_compile", 72 output_mappings = ["place.pb.go=github.com/stackb/rules_proto/example/place/place.pb.go"], 73 outputs = ["place.pb.go"], 74 plugins = ["@build_stack_rules_proto//plugin/golang/protobuf:protoc-gen-go"], 75 proto = "place_proto", 76 visibility = ["//visibility:public"], 77 ) 78 79 proto_go_library( 80 name = "place_go_proto", 81 srcs = ["place.pb.go"], 82 importpath = "github.com/stackb/rules_proto/example/place", 83 visibility = ["//visibility:public"], 84 deps = [ 85 "//example/thing:thing_go_proto", 86 "@org_golang_google_protobuf//reflect/protoreflect", 87 "@org_golang_google_protobuf//runtime/protoimpl", 88 ], 89 ) 90 91 proto_compile( 92 name = "place_java_compile", 93 outs = {"@build_stack_rules_proto//plugin/builtin:java": "example/place/place.srcjar"}, 94 outputs = ["place.srcjar"], 95 plugins = ["@build_stack_rules_proto//plugin/builtin:java"], 96 proto = "place_proto", 97 visibility = ["//visibility:public"], 98 ) 99 100 proto_java_library( 101 name = "place_java_library", 102 srcs = ["place.srcjar"], 103 visibility = ["//visibility:public"], 104 exports = [ 105 "//example/thing:thing_java_library", 106 "@com_google_protobuf//:protobuf_java", 107 ], 108 deps = [ 109 "//example/thing:thing_java_library", 110 "@com_google_protobuf//:protobuf_java", 111 ], 112 ) 113 114 proto_compile( 115 name = "place_node_js_compile", 116 options = {"@build_stack_rules_proto//plugin/builtin:commonjs": ["import_style=commonjs"]}, 117 outputs = ["place_pb.js"], 118 plugins = ["@build_stack_rules_proto//plugin/builtin:commonjs"], 119 proto = "place_proto", 120 visibility = ["//visibility:public"], 121 ) 122 123 proto_nodejs_library( 124 name = "place_nodejs_library", 125 srcs = ["place_pb.js"], 126 visibility = ["//visibility:public"], 127 ) 128 129 proto_compile( 130 name = "place_python_compile", 131 outputs = [ 132 "place_pb2.py", 133 "place_pb2.pyi", 134 ], 135 plugins = [ 136 "@build_stack_rules_proto//plugin/builtin:pyi", 137 "@build_stack_rules_proto//plugin/builtin:python", 138 ], 139 proto = "place_proto", 140 visibility = ["//visibility:public"], 141 ) 142 143 proto_py_library( 144 name = "place_py_library", 145 srcs = ["place_pb2.py"], 146 visibility = ["//visibility:public"], 147 deps = [ 148 "//example/thing:thing_py_library", 149 "@com_google_protobuf//:protobuf_python", 150 ], 151 ) 152 153 proto_compile( 154 name = "place_scala_compile", 155 options = {"@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala-grpc": ["grpc"]}, 156 outputs = [ 157 "place_scala.srcjar", 158 "place_scala_grpc.srcjar", 159 ], 160 plugins = [ 161 "@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala", 162 "@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala-grpc", 163 ], 164 proto = "place_proto", 165 visibility = ["//visibility:public"], 166 ) 167 168 proto_scala_library( 169 name = "place_proto_scala_library", 170 srcs = ["place_scala.srcjar"], 171 visibility = ["//visibility:public"], 172 deps = [ 173 "//example/thing:thing_proto_scala_library", 174 "@maven_scala//:com_google_protobuf_protobuf_java", 175 "@maven_scala//:com_thesamet_scalapb_lenses_2_12", 176 "@maven_scala//:com_thesamet_scalapb_scalapb_runtime_2_12", 177 ], 178 ) 179 180 proto_compile( 181 name = "place_ts_proto_compile", 182 options = {"@build_stack_rules_proto//plugin/stephenh/ts-proto:protoc-gen-ts-proto": [ 183 "emitImportedFiles=false", 184 "esModuleInterop=true", 185 ]}, 186 outputs = ["place.ts"], 187 plugins = ["@build_stack_rules_proto//plugin/stephenh/ts-proto:protoc-gen-ts-proto"], 188 proto = "place_proto", 189 visibility = ["//visibility:public"], 190 ) 191 192 proto_ts_library( 193 name = "place_ts_proto", 194 srcs = ["place.ts"], 195 visibility = ["//visibility:public"], 196 deps = [ 197 "//example/thing:thing_ts_proto", 198 "@//:node_modules/@nestjs/microservices", 199 "@//:node_modules/@types/node", 200 "@//:node_modules/long", 201 "@//:node_modules/protobufjs", 202 "@//:node_modules/rxjs", 203 ], 204 )