1load("@rules_proto//proto:defs.bzl", "proto_library") 2 3############################################################################## 4# Common 5############################################################################## 6load( 7 "@com_google_googleapis_imports//:imports.bzl", 8 "cc_grpc_library", 9 "cc_proto_library", 10 "csharp_gapic_assembly_pkg", 11 "csharp_gapic_library", 12 "csharp_grpc_library", 13 "csharp_proto_library", 14 "go_gapic_assembly_pkg", 15 "go_gapic_library", 16 "go_proto_library", 17 "java_gapic_assembly_gradle_pkg", 18 "java_grpc_library", 19 "java_proto_library", 20 "php_gapic_assembly_pkg", 21 "php_proto_library", 22 "proto_library_with_info", 23 "py_proto_library", 24 "ruby_cloud_gapic_library", 25 "ruby_gapic_assembly_pkg", 26 "ruby_grpc_library", 27 "ruby_proto_library", 28) 29 30# This is an API workspace, having public visibility by default makes perfect sense. 31package(default_visibility = ["//visibility:public"]) 32 33proto_library( 34 name = "iam_policy_proto", 35 srcs = ["iam_policy.proto"], 36 deps = [ 37 ":options_proto", 38 ":policy_proto", 39 "//google/api:annotations_proto", 40 "//google/api:client_proto", 41 "//google/api:field_behavior_proto", 42 "//google/api:resource_proto", 43 "@com_google_protobuf//:field_mask_proto", 44 ], 45) 46 47proto_library( 48 name = "policy_proto", 49 srcs = ["policy.proto"], 50 deps = [ 51 "//google/api:annotations_proto", 52 "//google/type:expr_proto", 53 ], 54) 55 56proto_library( 57 name = "options_proto", 58 srcs = ["options.proto"], 59 deps = [ 60 "//google/api:annotations_proto", 61 ], 62) 63 64proto_library_with_info( 65 name = "iam_proto_with_info", 66 deps = [ 67 ":iam_policy_proto", 68 ":options_proto", 69 ":policy_proto", 70 ], 71) 72 73java_proto_library( 74 name = "iam_java_proto", 75 deps = [ 76 ":iam_policy_proto", 77 ":options_proto", 78 ":policy_proto", 79 ], 80) 81 82java_grpc_library( 83 name = "iam_java_grpc", 84 srcs = [":iam_policy_proto"], 85 deps = [":iam_java_proto"], 86) 87 88# Please DO-NOT-REMOVE this section. 89# This is required to generate java files for these protos. 90# Open Source Packages 91java_gapic_assembly_gradle_pkg( 92 name = "google-iam-v1-java", 93 include_samples = True, 94 transport = "grpc+rest", 95 deps = [ 96 ":iam_java_grpc", 97 ":iam_java_proto", 98 ":iam_policy_proto", 99 ], 100) 101 102go_proto_library( 103 name = "iam_go_proto", 104 compilers = ["@io_bazel_rules_go//proto:go_grpc"], 105 importpath = "cloud.google.com/go/iam/apiv1/iampb", 106 protos = [ 107 ":iam_policy_proto", 108 ":options_proto", 109 ":policy_proto", 110 ], 111 deps = [ 112 "//google/api:annotations_go_proto", 113 "//google/type:expr_go_proto", 114 ], 115) 116 117# Manual addition for owlbot migration. 118go_gapic_library( 119 name = "iam_go_gapic", 120 srcs = [":iam_proto_with_info"], 121 grpc_service_config = None, 122 importpath = "cloud.google.com/go/iam/apiv1;iam", 123 metadata = True, 124 release_level = "ga", 125 rest_numeric_enums = True, 126 service_yaml = "iam_meta_api.yaml", 127 transport = "grpc+rest", 128 deps = [":iam_go_proto"], 129) 130 131go_gapic_assembly_pkg( 132 name = "gapi-cloud-iam-v1-go", 133 deps = [ 134 ":iam_go_gapic", 135 ":iam_go_gapic_srcjar-metadata.srcjar", 136 ":iam_go_gapic_srcjar-snippets.srcjar", 137 ":iam_go_gapic_srcjar-test.srcjar", 138 ":iam_go_proto", 139 ], 140) 141 142cc_proto_library( 143 name = "iam_policy_cc_proto", 144 deps = [":iam_policy_proto"], 145) 146 147cc_proto_library( 148 name = "options_cc_proto", 149 deps = [":options_proto"], 150) 151 152cc_proto_library( 153 name = "policy_cc_proto", 154 deps = [":policy_proto"], 155) 156 157cc_grpc_library( 158 name = "iam_cc_grpc", 159 srcs = [":iam_policy_proto"], 160 grpc_only = True, 161 deps = [":iam_policy_cc_proto"], 162) 163 164py_proto_library( 165 name = "iam_policy_py_proto", 166 deps = [":iam_policy_proto"], 167) 168 169py_proto_library( 170 name = "policy_py_proto", 171 deps = [":policy_proto"], 172) 173 174py_proto_library( 175 name = "options_py_proto", 176 deps = [":options_proto"], 177) 178 179php_proto_library( 180 name = "iam_php_proto", 181 deps = [ 182 ":iam_policy_proto", 183 ":options_proto", 184 ":policy_proto", 185 ], 186) 187 188# Open Source Packages 189php_gapic_assembly_pkg( 190 name = "google-iam-v1-php", 191 deps = [":iam_php_proto"], 192) 193 194ruby_proto_library( 195 name = "iam_ruby_proto", 196 deps = [ 197 ":iam_policy_proto", 198 ":options_proto", 199 ":policy_proto", 200 "//google/iam/v1/logging:audit_data_proto", 201 ], 202) 203 204ruby_grpc_library( 205 name = "iam_ruby_grpc", 206 srcs = [":iam_policy_proto"], 207 deps = [":iam_ruby_proto"], 208) 209 210ruby_cloud_gapic_library( 211 name = "iam_ruby_gapic", 212 srcs = [":iam_proto_with_info"], 213 extra_protoc_parameters = [ 214 "ruby-cloud-gem-name=google-iam-v1", 215 ], 216 rest_numeric_enums = False, 217 ruby_cloud_description = "An add-on interface used by some Google API clients to provide IAM Policy calls.", 218 ruby_cloud_title = "IAM", 219 service_yaml = "iam_meta_api.yaml", 220 transport = "grpc+rest", 221 deps = [ 222 ":iam_ruby_grpc", 223 ":iam_ruby_proto", 224 ], 225) 226 227# Open Source Packages 228ruby_gapic_assembly_pkg( 229 name = "google-cloud-iam-v1-ruby", 230 deps = [ 231 ":iam_ruby_gapic", 232 ":iam_ruby_grpc", 233 ":iam_ruby_proto", 234 ], 235) 236 237csharp_proto_library( 238 name = "iam_csharp_proto", 239 deps = [ 240 ":iam_policy_proto", 241 ":options_proto", 242 ":policy_proto", 243 "//google/iam/v1/logging:audit_data_proto", 244 ], 245) 246 247csharp_grpc_library( 248 name = "iam_csharp_grpc", 249 srcs = [":iam_policy_proto"], 250 deps = [":iam_csharp_proto"], 251) 252 253csharp_gapic_library( 254 name = "iam_csharp_gapic", 255 srcs = [":iam_proto_with_info"], 256 common_resources_config = "@gax_dotnet//:Google.Api.Gax/ResourceNames/CommonResourcesConfig.json", 257 rest_numeric_enums = False, 258 service_yaml = "iam_meta_api.yaml", 259 deps = [ 260 ":iam_csharp_grpc", 261 ":iam_csharp_proto", 262 ], 263) 264 265# Open Source Packages 266csharp_gapic_assembly_pkg( 267 name = "google-cloud-iam-v1-csharp", 268 deps = [ 269 ":iam_csharp_gapic", 270 ":iam_csharp_grpc", 271 ":iam_csharp_proto", 272 ], 273) 274