| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| # |
| # WARNING: This example is not a best practice for how to build with bRPC in bazel. |
| # |
| |
| workspace(name = "com_github_brpc_brpc_example_build_with_old_bazel") |
| |
| load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") |
| |
| # |
| # Constants |
| # |
| |
| BAZEL_SKYLIB_VERSION = "1.1.1" # 2021-09-27T17:33:49Z |
| |
| BAZEL_SKYLIB_SHA256 = "c6966ec828da198c5d9adbaa94c05e3a1c7f21bd012a0b29ba8ddbccb2c93b0d" |
| |
| RULES_PROTO_COMMIT_ID = "9f8407ec90b579cba157ce481682b2beb1f7409f" |
| |
| RULES_PROTO_SHA256 = "3a27bf90d4cd3e4546afa801857d35c3c4db5f0680c840167f6fb2f7078de177" |
| |
| RULES_CC_COMMIT_ID = "b7fe9697c0c76ab2fd431a891dbb9a6a32ed7c3e" |
| |
| RULES_CC_SHA256 = "29daf0159f0cf552fcff60b49d8bcd4f08f08506d2da6e41b07058ec50cfeaec" |
| |
| # |
| # Starlark libraries |
| # |
| |
| http_archive( |
| name = "bazel_skylib", |
| sha256 = BAZEL_SKYLIB_SHA256, |
| urls = [ |
| "https://github.com/bazelbuild/bazel-skylib/releases/download/{version}/bazel-skylib-{version}.tar.gz".format(version = BAZEL_SKYLIB_VERSION), |
| "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/{version}/bazel-skylib-{version}.tar.gz".format(version = BAZEL_SKYLIB_VERSION), |
| ], |
| ) |
| |
| http_archive( |
| name = "rules_proto", |
| sha256 = RULES_PROTO_SHA256, |
| strip_prefix = "rules_proto-{version}".format(version = RULES_PROTO_COMMIT_ID), |
| urls = ["https://github.com/bazelbuild/rules_proto/archive/{version}.tar.gz".format(version = RULES_PROTO_COMMIT_ID)], |
| ) |
| |
| http_archive( |
| name = "rules_cc", |
| sha256 = RULES_CC_SHA256, |
| strip_prefix = "rules_cc-{commit_id}".format(commit_id = RULES_CC_COMMIT_ID), |
| urls = [ |
| "https://github.com/bazelbuild/rules_cc/archive/{commit_id}.tar.gz".format(commit_id = RULES_CC_COMMIT_ID), |
| ], |
| ) |
| |
| # |
| # C++ Dependencies |
| # |
| # Ordered lexicographical. |
| # |
| |
| local_repository( |
| name = "com_github_brpc_brpc", |
| path = "../../", |
| ) |
| |
| http_archive( |
| name = "com_github_gflags_gflags", |
| sha256 = "a8263376b409900dd46830e4e34803a170484707327854cc252fc5865275a57d", |
| strip_prefix = "gflags-46f73f88b18aee341538c0dfc22b1710a6abedef", |
| url = "https://github.com/gflags/gflags/archive/46f73f88b18aee341538c0dfc22b1710a6abedef.tar.gz", |
| ) |
| |
| http_archive( |
| name = "com_github_google_glog", |
| build_file = "//:glog.BUILD", |
| strip_prefix = "glog-a6a166db069520dbbd653c97c2e5b12e08a8bb26", |
| url = "https://github.com/google/glog/archive/a6a166db069520dbbd653c97c2e5b12e08a8bb26.tar.gz", |
| ) |
| |
| http_archive( |
| name = "com_github_google_leveldb", |
| build_file = "//:leveldb.BUILD", |
| sha256 = "3912ac36dbb264a62797d68687711c8024919640d89b6733f9342ada1d16cda1", |
| strip_prefix = "leveldb-a53934a3ae1244679f812d998a4f16f2c7f309a6", |
| url = "https://github.com/google/leveldb/archive/a53934a3ae1244679f812d998a4f16f2c7f309a6.tar.gz", |
| ) |
| |
| http_archive( |
| name = "com_github_madler_zlib", # 2017-01-15T17:57:23Z |
| build_file = "@com_github_brpc_brpc//bazel/third_party/zlib:zlib.BUILD", |
| sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1", |
| strip_prefix = "zlib-1.2.11", |
| urls = ["https://zlib.net/zlib-1.2.11.tar.gz"], |
| ) |
| |
| http_archive( |
| name = "com_google_googletest", |
| strip_prefix = "googletest-0fe96607d85cf3a25ac40da369db62bbee2939a5", |
| url = "https://github.com/google/googletest/archive/0fe96607d85cf3a25ac40da369db62bbee2939a5.tar.gz", |
| ) |
| |
| http_archive( |
| name = "com_google_protobuf", |
| sha256 = "9510dd2afc29e7245e9e884336f848c8a6600a14ae726adb6befdb4f786f0be2", |
| strip_prefix = "protobuf-3.6.1.3", |
| type = "zip", |
| url = "https://github.com/protocolbuffers/protobuf/archive/v3.6.1.3.zip", |
| ) |
| |
| # This is not a correct approach, just for simplicity. |
| # rules_foreign_cc didn't support too early version of bazel. |
| # bRPC need to be patched to work with boringssl for now. |
| |
| new_local_repository( |
| name = "openssl", |
| build_file = "//:openssl.BUILD", |
| path = "/usr", |
| ) |