# This is an API workspace, having public visibility by default makes perfect sense. package(default_visibility = ["//visibility:public"]) ############################################################################## # Common ############################################################################## load("@com_google_api_codegen//rules_gapic:gapic.bzl", "proto_library_with_info") proto_library( name = "cel_service_proto", srcs = ["cel_service.proto"], deps = [ ":conformance_service_proto", ], ) proto_library( name = "checked_proto", srcs = ["checked.proto"], deps = [ ":syntax_proto", "@com_google_protobuf//:empty_proto", "@com_google_protobuf//:struct_proto", ], ) proto_library( name = "conformance_service_proto", srcs = ["conformance_service.proto"], deps = [ ":checked_proto", ":eval_proto", ":syntax_proto", "//google/rpc:status_proto", ], ) proto_library( name = "eval_proto", srcs = ["eval.proto"], deps = [ ":value_proto", "//google/rpc:status_proto", ], ) proto_library( name = "explain_proto", srcs = ["explain.proto"], deps = [ ":value_proto", ], ) proto_library( name = "syntax_proto", srcs = ["syntax.proto"], deps = [ "@com_google_protobuf//:duration_proto", "@com_google_protobuf//:struct_proto", "@com_google_protobuf//:timestamp_proto", ], ) proto_library( name = "value_proto", srcs = ["value.proto"], deps = [ "@com_google_protobuf//:any_proto", "@com_google_protobuf//:struct_proto", ], ) proto_library( name = "cel_proto", srcs = [ "cel_service.proto", "checked.proto", "conformance_service.proto", "eval.proto", "explain.proto", "syntax.proto", "value.proto", ], deps = [ "//google/rpc:status_proto", "@com_google_protobuf//:any_proto", "@com_google_protobuf//:duration_proto", "@com_google_protobuf//:empty_proto", "@com_google_protobuf//:struct_proto", "@com_google_protobuf//:timestamp_proto", ], ) proto_library_with_info( name = "cel_proto_with_info", deps = [":cel_proto"], ) ############################################################################## # Java ############################################################################## load("@io_grpc_grpc_java//:java_grpc_library.bzl", "java_grpc_library") load("@com_google_api_codegen//rules_gapic/java:java_gapic.bzl", "java_gapic_library") load("@com_google_api_codegen//rules_gapic/java:java_gapic_pkg.bzl", "java_gapic_assembly_gradle_pkg") _JAVA_GRPC_DEPS = [ "@com_google_api_grpc_proto_google_common_protos//jar", ] java_proto_library( name = "cel_java_proto", deps = [":cel_proto"], ) java_grpc_library( name = "cel_java_grpc", srcs = [":cel_proto_with_info"], deps = [":cel_java_proto"] + _JAVA_GRPC_DEPS, ) java_gapic_library( name = "cel_java_gapic", src = ":cel_proto_with_info", gapic_yaml = "cel_gapic.yaml", service_yaml = "//google/api/expr:cel.yaml", test_deps = [":cel_java_grpc"], deps = [":cel_java_proto"] + _JAVA_GRPC_DEPS, ) [java_test( name = test_name, test_class = test_name, runtime_deps = [":cel_java_gapic_test"], ) for test_name in [ "com.google.cloud.api.expr.v1alpha1.CelServiceClientTest", "com.google.cloud.api.expr.v1alpha1.ConformanceServiceClientTest", ]] # Opensource Packages java_gapic_assembly_gradle_pkg( name = "google-cloud-cel-v1alpha1-java", client_deps = [":cel_java_gapic"], client_group = "com.google.cloud", client_test_deps = [":cel_java_gapic_test"], grpc_deps = [":cel_java_grpc"], grpc_group = "com.google.api.grpc", proto_deps = [ ":cel_java_proto", ":cel_proto", ] + _JAVA_GRPC_DEPS, version = "0.0.0-SNAPSHOT", ) ############################################################################## # Go ############################################################################## load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") load("@com_google_api_codegen//rules_gapic/go:go_gapic.bzl", "go_gapic_srcjar", "go_gapic_library") load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") load("@com_google_api_codegen//rules_gapic/go:go_gapic_pkg.bzl", "go_gapic_assembly_pkg") go_proto_library( name = "cel_go_proto", compilers = ["@io_bazel_rules_go//proto:go_grpc"], importpath = "google.golang.org/genproto/googleapis/api/expr/v1alpha1", protos = [":cel_proto_with_info"], deps = [ "//google/api:annotations_go_proto", "//google/rpc:status_go_proto", ], ) go_gapic_library( name = "cel_go_gapic", src = ":cel_proto_with_info", gapic_yaml = "cel_gapic.yaml", importpath = "cloud.google.com/go/expr/apiv1alpha1", service_yaml = "//google/api/expr:cel.yaml", deps = [":cel_go_proto"], ) go_test( name = "cel_go_gapic_test", srcs = [":cel_go_gapic_srcjar_test"], embed = [":cel_go_gapic"], importpath = "cloud.google.com/go/expr/apiv1alpha1", ) # Opensource Packages go_gapic_assembly_pkg( name = "gapi-cloud-cel-v1alpha1-go", deps = [ ":cel_go_gapic", ":cel_go_gapic_srcjar-smoke-test.srcjar", ":cel_go_gapic_srcjar-test.srcjar", ":cel_go_proto", ], )