You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
197 lines
7.4 KiB
197 lines
7.4 KiB
# IMPORTANT INFORMATION! |
|
# |
|
# This workspace configuration assumes `--experimental_enable_repo_mapping` command line argument |
|
# on every build of anything under this workspace. The repo mapping is a recently released feature |
|
# (bazel >= 0.16.0) and allows to solve two very nasty problems: |
|
# 1) Allowing two or more workspaces with dependency conflicts (same dependency name but |
|
# different version) to coexist under same project (when one workspace imports another via |
|
# `*_repository()` workspace rules). Example: `gapic-generator` and `grpc-java` have a guava |
|
# dependency conflict (grpc-java uses latest java7 compatible version, while gapic-generator |
|
# uses fresher (java8 compatible) version) |
|
# 2) Allowing two or more workspaces to have same dependency, but assign different names to it |
|
# (i.e. at least one of the workspaces does not follow naming conventions). |
|
# |
|
# Even if the experimental feature will be eventually cancelled, there will still be a solution |
|
# for solving the problems desribed above, so it is relatively safe to structure workspaces and |
|
# packages under the assumption that the dependencies naming conflicts can be solved in the "outer" |
|
# workspace (the one, which imports the "inner" workspace via `*_repository` rule). |
|
# |
|
# Note, the rule arguments related to the repo mapping feature (like repo_mapping arument in |
|
# `*_repository` rules) are currently highlighted as erroneous by IDE plugins (is expected taking |
|
# into account that the feature is new and experimental). This problem is temporary and will go |
|
# away once the repo mapping feature (or its "better" replacement) is stabilized. |
|
# |
|
# To fix enable bazel project sync in IntelliJ plugin add the following lines to .bazelproject file: |
|
# |
|
# build_flags: |
|
# --experimental_enable_repo_mapping |
|
|
|
workspace(name = "com_google_googleapis") |
|
|
|
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") |
|
|
|
############################################################################## |
|
# Java |
|
############################################################################## |
|
# |
|
# grpc-java repository dependencies (required to by `java_grpc_library` bazel rule) |
|
# |
|
http_archive( |
|
name = "io_grpc_grpc_java", |
|
strip_prefix = "grpc-java-1.13.1", |
|
urls = ["https://github.com/grpc/grpc-java/archive/v1.13.1.zip"], |
|
) |
|
|
|
load( |
|
"@io_grpc_grpc_java//:repositories.bzl", |
|
"grpc_java_repositories", |
|
) |
|
|
|
grpc_java_repositories( |
|
omit_com_google_api_grpc_google_common_protos = True, |
|
omit_com_google_auth_google_auth_library_credentials = True, |
|
omit_com_google_code_findbugs_jsr305 = True, |
|
omit_com_google_code_gson = False, |
|
omit_com_google_errorprone_error_prone_annotations = False, |
|
omit_com_google_guava = False, |
|
omit_com_google_protobuf = True, |
|
omit_com_google_protobuf_java = False, |
|
omit_com_google_protobuf_javalite = True, |
|
omit_com_google_protobuf_nano_protobuf_javanano = True, |
|
omit_com_google_re2j = True, |
|
omit_com_google_truth_truth = True, |
|
omit_com_squareup_okhttp = True, |
|
omit_com_squareup_okio = True, |
|
omit_io_netty_buffer = True, |
|
omit_io_netty_codec = True, |
|
omit_io_netty_codec_http = True, |
|
omit_io_netty_codec_http2 = True, |
|
omit_io_netty_codec_socks = True, |
|
omit_io_netty_common = True, |
|
omit_io_netty_handler = True, |
|
omit_io_netty_handler_proxy = True, |
|
omit_io_netty_resolver = True, |
|
omit_io_netty_tcnative_boringssl_static = True, |
|
omit_io_netty_transport = True, |
|
omit_io_opencensus_api = True, |
|
omit_io_opencensus_grpc_metrics = True, |
|
omit_javax_annotation = False, |
|
omit_junit_junit = True, |
|
omit_org_apache_commons_lang3 = True, |
|
) |
|
|
|
# |
|
# Java GAPIC (gapic-generator generated artifacts) dependencies. The dependencies may clash with |
|
# gapic-generator and have different versions, especially taking into account that generated |
|
# artifacts are Java 1.7 and gapic-generator is Java 1.8 compatible. |
|
# |
|
maven_jar( |
|
name = "com_google_guava_guava__com_google_api_codegen", |
|
artifact = "com.google.guava:guava:26.0-jre", |
|
) |
|
|
|
maven_jar( |
|
name = "com_google_api_grpc_proto_google_common_protos__com_google_api_codegen", |
|
artifact = "com.google.api.grpc:proto-google-common-protos:1.13.0-pre2", |
|
) |
|
|
|
git_repository( |
|
name = "com_google_api_codegen", |
|
commit = "761abebf784db7b9ec2d2e2326d90a502666fc02", |
|
remote = "https://github.com/googleapis/gapic-generator.git", |
|
repo_mapping = { |
|
"@com_google_guava_guava": "@com_google_guava_guava__com_google_api_codegen", |
|
"@com_google_api_grpc_proto_google_common_protos": "@com_google_api_grpc_proto_google_common_protos__com_google_api_codegen", |
|
}, |
|
) |
|
|
|
load( |
|
"@com_google_api_codegen//rules_gapic/java:java_gapic_repositories.bzl", |
|
"java_gapic_direct_repositories", |
|
"java_gapic_gax_repositories", |
|
) |
|
|
|
java_gapic_direct_repositories( |
|
omit_com_google_api_gax_httpjson = True, |
|
omit_com_google_api_gax_httpjson_testlib = True, |
|
omit_junit_junit = True, |
|
) |
|
|
|
java_gapic_gax_repositories( |
|
omit_com_fasterxml_jackson_core_jackson_core = True, |
|
omit_com_google_code_gson_gson = True, |
|
omit_com_google_guava_guava = True, |
|
) |
|
|
|
# |
|
# gapic-generator repository dependencies (required to compile and run gapic-generator) |
|
# |
|
load( |
|
"@com_google_api_codegen//:repositories.bzl", |
|
"com_google_api_codegen_repositories", |
|
"com_google_api_codegen_test_repositories", |
|
"com_google_api_codegen_tools_repositories", |
|
) |
|
|
|
#TODO: Update all omitted dependencies in gapic_generator so they match the newer versions used by |
|
# grpc-java and gax |
|
com_google_api_codegen_repositories( |
|
omit_com_google_api_api_common = True, |
|
omit_com_google_api_grpc_proto_google_common_protos = True, |
|
omit_com_google_code_findbugs_jsr305 = True, |
|
omit_com_google_code_gson_gson = True, |
|
omit_com_google_guava_guava = True, |
|
omit_io_grpc_grpc_core = True, |
|
omit_org_threeten_threetenbp = True, |
|
) |
|
|
|
com_google_api_codegen_test_repositories() |
|
|
|
com_google_api_codegen_tools_repositories() |
|
|
|
# |
|
# protoc-java-resource-names-plugin repository dependencies (required to support resource names |
|
# feature in gapic generator) |
|
# |
|
http_archive( |
|
name = "com_google_protoc_java_resource_names_plugin", |
|
strip_prefix = "protoc-java-resource-names-plugin-46d8662701a9ce9a7afcf16c2262f686f9dbe279", |
|
urls = ["https://github.com/googleapis/protoc-java-resource-names-plugin/archive/46d8662701a9ce9a7afcf16c2262f686f9dbe279.zip"], |
|
) |
|
|
|
load( |
|
"@com_google_protoc_java_resource_names_plugin//:repositories.bzl", |
|
"com_google_protoc_java_resource_names_plugin_repositories", |
|
) |
|
|
|
com_google_protoc_java_resource_names_plugin_repositories(omit_com_google_protobuf = True) |
|
|
|
############################################################################## |
|
# Go |
|
############################################################################## |
|
|
|
http_archive( |
|
name = "io_bazel_rules_go", |
|
strip_prefix = "rules_go-7d17d496a6b32f6a573c6c22e29c58204eddf3d4", |
|
urls = ["https://github.com/bazelbuild/rules_go/archive/7d17d496a6b32f6a573c6c22e29c58204eddf3d4.zip"], |
|
) |
|
|
|
load("@io_bazel_rules_go//go:def.bzl", "go_rules_dependencies", "go_register_toolchains") |
|
|
|
go_rules_dependencies() |
|
|
|
go_register_toolchains() |
|
|
|
http_archive( |
|
name = "bazel_gazelle", |
|
strip_prefix = "bazel-gazelle-0.16.0", |
|
urls = ["https://github.com/bazelbuild/bazel-gazelle/archive/0.16.0.zip"], |
|
) |
|
|
|
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies") |
|
|
|
gazelle_dependencies() |
|
|
|
load("@com_google_api_codegen//rules_gapic/go:go_gapic_repositories.bzl", "go_gapic_repositories") |
|
|
|
go_gapic_repositories()
|
|
|