blob: 400bd9cf5527e13713aa6d43766aae52850d36ef [file] [log] [blame]
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
load("@io_kythe//:setup.bzl", "maybe")
load("@io_kythe//tools:build_rules/shims.bzl", "go_repository")
load("@io_kythe//tools/build_rules/llvm:repo.bzl", "git_llvm_repository")
load("@io_kythe//third_party/leiningen:lein_repo.bzl", "lein_repository")
load("@io_kythe//tools/build_rules/lexyacc:lexyacc.bzl", "lexyacc_configure")
def _rule_dependencies():
gazelle_dependencies()
go_rules_dependencies()
go_register_toolchains()
def _cc_dependencies():
maybe(
http_archive,
name = "net_zlib",
build_file = "@io_kythe//third_party:zlib.BUILD",
sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1",
strip_prefix = "zlib-1.2.11",
urls = ["https://zlib.net/zlib-1.2.11.tar.gz"],
)
maybe(
http_archive,
name = "org_libzip",
build_file = "@io_kythe//third_party:libzip.BUILD",
sha256 = "a5d22f0c87a2625450eaa5e10db18b8ee4ef17042102d04c62e311993a2ba363",
strip_prefix = "libzip-rel-1-5-1",
urls = [
# Bazel does not like the official download link at libzip.org,
# so use the GitHub release tag.
"https://github.com/nih-at/libzip/archive/rel-1-5-1.zip",
],
)
maybe(
http_archive,
name = "boringssl", # Must match upstream workspace name.
# Gitiles creates gzip files with an embedded timestamp, so we cannot use
# sha256 to validate the archives. We must rely on the commit hash and https.
# Commits must come from the master-with-bazel branch.
url = "https://boringssl.googlesource.com/boringssl/+archive/4be3aa87917b20fedc45fa1fc5b6a2f3738612ad.tar.gz",
)
maybe(
http_archive,
name = "com_github_tencent_rapidjson",
build_file = "@io_kythe//third_party:rapidjson.BUILD",
sha256 = "8e00c38829d6785a2dfb951bb87c6974fa07dfe488aa5b25deec4b8bc0f6a3ab",
strip_prefix = "rapidjson-1.1.0",
url = "https://github.com/Tencent/rapidjson/archive/v1.1.0.zip",
)
# Make sure to update regularly in accordance with Abseil's principle of live at HEAD
maybe(
http_archive,
name = "com_google_absl",
sha256 = "3601822b4d3c7cc62d891a2d0993b902ad1858e4faf41d895678d3a7749ec503",
strip_prefix = "abseil-cpp-ca3f87560a0eef716195cadf66dc6b938a579ec6",
url = "https://github.com/abseil/abseil-cpp/archive/ca3f87560a0eef716195cadf66dc6b938a579ec6.zip",
)
maybe(
http_archive,
name = "com_google_googletest",
sha256 = "89cebb92b9a7eb32c53e180ccc0db8f677c3e838883c5fbd07e6412d7e1f12c7",
strip_prefix = "googletest-d175c8bf823e709d570772b038757fadf63bc632",
url = "https://github.com/google/googletest/archive/d175c8bf823e709d570772b038757fadf63bc632.zip",
)
maybe(
http_archive,
name = "com_github_gflags_gflags",
sha256 = "19713a36c9f32b33df59d1c79b4958434cb005b5b47dc5400a7a4b078111d9b5",
strip_prefix = "gflags-2.2.2",
url = "https://github.com/gflags/gflags/archive/v2.2.2.zip",
)
maybe(
http_archive,
name = "com_github_google_glog",
build_file = "@io_kythe//third_party:googlelog.BUILD",
sha256 = "ce61883437240d650be724043e8b3c67e257690f876ca9fd53ace2a791cfea6c",
strip_prefix = "glog-bac8811710c77ac3718be1c4801f43d37c1aea46",
url = "https://github.com/google/glog/archive/bac8811710c77ac3718be1c4801f43d37c1aea46.zip",
)
maybe(
http_archive,
name = "org_brotli",
sha256 = "fb511e09ea284fcd18fe2a2632744609a77f69c345428b9f0d2cc15171215f06",
strip_prefix = "brotli-ee2a5e1540cbd6ef883a897499d9596307f7f7f9",
url = "https://github.com/google/brotli/archive/ee2a5e1540cbd6ef883a897499d9596307f7f7f9.zip",
)
maybe(
http_archive,
name = "com_google_riegeli",
sha256 = "5c1714329c19759201b7f2c6a2cf8b255b6f10c752b197d6e8847b8574dcd96b",
strip_prefix = "riegeli-6b1dd7be479f6ffffdec06c39f352bd5a87b63b7",
url = "https://github.com/google/riegeli/archive/6b1dd7be479f6ffffdec06c39f352bd5a87b63b7.zip",
)
maybe(
http_archive,
name = "org_libmemcached_libmemcached",
build_file = "@io_kythe//third_party:libmemcached.BUILD",
sha256 = "e22c0bb032fde08f53de9ffbc5a128233041d9f33b5de022c0978a2149885f82",
strip_prefix = "libmemcached-1.0.18",
url = "https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz",
)
maybe(
http_archive,
name = "se_haxx_curl",
build_file = "@io_kythe//third_party:curl.BUILD",
sha256 = "ff3e80c1ca6a068428726cd7dd19037a47cc538ce58ef61c59587191039b2ca6",
strip_prefix = "curl-7.49.1",
urls = [
"http://bazel-mirror.storage.googleapis.com/curl.haxx.se/download/curl-7.49.1.tar.gz",
"https://curl.haxx.se/download/curl-7.49.1.tar.gz",
],
)
maybe(
http_archive,
name = "com_googlesource_code_re2",
sha256 = "ae9b962dbd6427565efd3e9503acb40a1385b21962c29050546c9347ac7fa93f",
strip_prefix = "re2-2019-01-01",
url = "https://github.com/google/re2/archive/2019-01-01.zip",
)
maybe(
http_archive,
name = "com_github_stedolan_jq",
build_file = "@io_kythe//third_party:jq.BUILD",
sha256 = "998c41babeb57b4304e65b4eb73094279b3ab1e63801b6b4bddd487ce009b39d",
strip_prefix = "jq-1.4",
url = "https://github.com/stedolan/jq/releases/download/jq-1.4/jq-1.4.tar.gz",
)
maybe(
http_archive,
name = "com_github_google_snappy",
build_file = "@io_kythe//third_party:snappy.BUILD",
sha256 = "61e05a0295fd849072668b1f3494801237d809427cfe8fd014cda455036c3ef7",
strip_prefix = "snappy-1.1.7",
url = "https://github.com/google/snappy/archive/1.1.7.zip",
)
maybe(
http_archive,
name = "com_github_google_leveldb",
build_file = "@io_kythe//third_party:leveldb.BUILD",
sha256 = "5b2bd7a91489095ad54bb81ca6544561025b48ec6d19cc955325f96755d88414",
strip_prefix = "leveldb-1.20",
url = "https://github.com/google/leveldb/archive/v1.20.zip",
)
maybe(
git_llvm_repository,
name = "org_llvm",
)
lexyacc_configure()
def _java_dependencies():
maybe(
# For @com_google_common_flogger
http_archive,
name = "google_bazel_common",
strip_prefix = "bazel-common-b3778739a9c67eaefe0725389f03cf821392ac67",
urls = ["https://github.com/google/bazel-common/archive/b3778739a9c67eaefe0725389f03cf821392ac67.zip"],
)
maybe(
git_repository,
name = "com_google_common_flogger",
commit = "ca8ad22bc1479b5675118308f88ef3fff7d26c1f",
remote = "https://github.com/google/flogger",
)
maybe(
native.maven_jar,
name = "com_google_code_gson_gson",
artifact = "com.google.code.gson:gson:2.8.5",
sha1 = "f645ed69d595b24d4cf8b3fbb64cc505bede8829",
)
maybe(
native.maven_jar,
name = "com_google_guava_guava",
artifact = "com.google.guava:guava:26.0-jre",
sha1 = "6a806eff209f36f635f943e16d97491f00f6bfab",
)
maybe(
native.maven_jar,
name = "com_google_re2j_re2j",
artifact = "com.google.re2j:re2j:1.2",
sha1 = "4361eed4abe6f84d982cbb26749825f285996dd2",
)
maybe(
native.maven_jar,
name = "com_google_code_findbugs_jsr305",
artifact = "com.google.code.findbugs:jsr305:3.0.1",
sha1 = "f7be08ec23c21485b9b5a1cf1654c2ec8c58168d",
)
maybe(
native.maven_jar,
name = "com_google_errorprone_error_prone_annotations",
artifact = "com.google.errorprone:error_prone_annotations:2.3.1",
sha1 = "a6a2b2df72fd13ec466216049b303f206bd66c5d",
)
maybe(
native.maven_jar,
name = "org_ow2_asm_asm",
artifact = "org.ow2.asm:asm:7.0",
sha1 = "d74d4ba0dee443f68fb2dcb7fcdb945a2cd89912",
)
maybe(
native.maven_jar,
name = "junit_junit",
artifact = "junit:junit:4.12",
sha1 = "2973d150c0dc1fefe998f834810d68f278ea58ec",
)
maybe(
native.maven_jar,
name = "com_beust_jcommander",
artifact = "com.beust:jcommander:1.48",
sha1 = "bfcb96281ea3b59d626704f74bc6d625ff51cbce",
)
maybe(
native.maven_jar,
name = "com_google_truth_truth",
artifact = "com.google.truth:truth:0.44",
sha1 = "11eff954c0c14da7d43276d7b3bcf71463105368",
)
maybe(
native.maven_jar,
name = "com_googlecode_java_diff_utils",
artifact = "com.googlecode.java-diff-utils:diffutils:1.3.0",
sha1 = "7e060dd5b19431e6d198e91ff670644372f60fbd",
)
maybe(
native.maven_jar,
name = "com_google_auto_value_auto_value",
artifact = "com.google.auto.value:auto-value:1.5.4",
sha1 = "65183ddd1e9542d69d8f613fdae91540d04e1476",
)
maybe(
native.maven_jar,
name = "com_google_auto_service_auto_service",
artifact = "com.google.auto.service:auto-service:1.0-rc4",
sha1 = "44954d465f3b9065388bbd2fc08a3eb8fd07917c",
)
maybe(
native.maven_jar,
name = "com_google_auto_auto_common",
artifact = "com.google.auto:auto-common:0.10",
sha1 = "c8f153ebe04a17183480ab4016098055fb474364",
)
maybe(
native.maven_jar,
name = "javax_annotation_jsr250_api",
artifact = "javax.annotation:jsr250-api:1.0",
sha1 = "5025422767732a1ab45d93abfea846513d742dcf",
)
maybe(
native.maven_jar,
name = "com_google_common_html_types",
artifact = "com.google.common.html.types:types:1.0.8",
sha1 = "9e9cf7bc4b2a60efeb5f5581fe46d17c068e0777",
)
def _go_dependencies():
maybe(
go_repository,
name = "com_github_golang_protobuf",
build_file_proto_mode = "disable_global",
custom = "protobuf",
importpath = "github.com/golang/protobuf",
patch_args = ["-p1"],
patches = ["@io_bazel_rules_go//third_party:com_github_golang_protobuf-extras.patch"],
tag = "v1.3.0",
)
maybe(
go_repository,
name = "com_github_google_uuid",
custom = "uuid",
importpath = "github.com/google/uuid",
tag = "v1.1.0",
)
maybe(
go_repository,
name = "com_github_jmhodges_levigo",
custom = "levigo",
importpath = "github.com/jmhodges/levigo",
tag = "v1.0.0",
)
maybe(
go_repository,
name = "com_github_google_go_cmp",
custom = "cmp",
importpath = "github.com/google/go-cmp",
tag = "v0.2.0",
)
maybe(
go_repository,
name = "org_golang_x_sync",
commit = "42b317875d0f",
custom = "sync",
custom_git = "https://github.com/golang/sync.git",
importpath = "golang.org/x/sync",
)
maybe(
go_repository,
name = "com_github_sourcegraph_jsonrpc2",
commit = "a3d86c792f0f5a0c0c2c4ed9157125e914cb5534",
custom = "jsonrpc2",
importpath = "github.com/sourcegraph/jsonrpc2",
)
maybe(
go_repository,
name = "com_github_hanwen_go_fuse",
custom = "go_fuse",
importpath = "github.com/hanwen/go-fuse",
tag = "v1.0.0",
)
maybe(
go_repository,
name = "com_github_golang_snappy",
custom = "snappy",
importpath = "github.com/golang/snappy",
tag = "v0.0.1",
)
maybe(
go_repository,
name = "com_github_sourcegraph_go_langserver",
commit = "e526744fd766a8f42e55bd92a3843c2afcdbf08c",
custom = "langserver",
importpath = "github.com/sourcegraph/go-langserver",
)
maybe(
go_repository,
name = "com_github_sergi_go_diff",
commit = "da645544ed44df016359bd4c0e3dc60ee3a0da43",
custom = "diff",
importpath = "github.com/sergi/go-diff",
)
maybe(
go_repository,
name = "com_github_google_subcommands",
custom = "subcommands",
importpath = "github.com/google/subcommands",
tag = "1.0.1",
)
maybe(
go_repository,
name = "org_golang_x_tools",
commit = "589c23e65e65055d47b9ad4a99723bc389136265",
custom = "x_tools",
custom_git = "https://github.com/golang/tools.git",
importpath = "golang.org/x/tools",
patch_args = ["-p1"],
patches = ["@io_bazel_rules_go//third_party:org_golang_x_tools-extras.patch"],
)
maybe(
go_repository,
name = "org_golang_x_text",
custom = "x_text",
custom_git = "https://github.com/golang/text.git",
importpath = "golang.org/x/text",
tag = "v0.3.0",
)
maybe(
go_repository,
name = "org_golang_x_net",
commit = "3a22650c66bd",
custom = "x_net",
custom_git = "https://github.com/golang/net.git",
importpath = "golang.org/x/net",
)
maybe(
go_repository,
name = "com_github_pkg_errors",
custom = "errors",
importpath = "github.com/pkg/errors",
tag = "v0.8.1",
)
maybe(
go_repository,
name = "org_bitbucket_creachadair_stringset",
custom = "stringset",
custom_git = "https://bitbucket.org/creachadair/stringset.git",
importpath = "bitbucket.org/creachadair/stringset",
tag = "v0.0.3",
)
maybe(
go_repository,
name = "org_bitbucket_creachadair_shell",
custom = "shell",
custom_git = "https://bitbucket.org/creachadair/shell.git",
importpath = "bitbucket.org/creachadair/shell",
tag = "v0.0.5",
)
maybe(
go_repository,
name = "org_golang_google_grpc",
custom = "grpc",
custom_git = "https://github.com/grpc/grpc-go.git",
importpath = "google.golang.org/grpc",
tag = "v1.16.0",
)
maybe(
go_repository,
name = "org_golang_x_oauth2",
commit = "d2e6202438beef2727060aa7cabdd924d92ebfd9",
custom = "x_oauth2",
custom_git = "https://github.com/golang/oauth2.git",
importpath = "golang.org/x/oauth2",
)
maybe(
go_repository,
name = "com_github_google_go_querystring",
custom = "querystring",
importpath = "github.com/google/go-querystring",
tag = "v1.0.0",
)
maybe(
go_repository,
name = "com_github_apache_beam",
build_file_proto_mode = "disable",
commit = "3cf3a4708c588e32e85a1d4cfdb29ab5a0203efc",
custom = "beam",
importpath = "github.com/apache/beam",
)
maybe(
go_repository,
name = "com_github_googleapis_gax_go",
build_file_proto_mode = "disable",
custom = "googleapis_gax",
importpath = "github.com/googleapis/gax-go",
tag = "v1.0.1",
)
maybe(
go_repository,
name = "org_golang_google_api",
commit = "3097bf831ede4a24e08a3316254e29ca726383e3",
custom = "google_api",
custom_git = "https://github.com/google/google-api-go-client.git",
importpath = "google.golang.org/api",
)
maybe(
go_repository,
name = "com_google_cloud_go",
custom = "google_cloud",
custom_git = "https://github.com/GoogleCloudPlatform/google-cloud-go.git",
importpath = "cloud.google.com/go",
tag = "v0.26.0",
)
maybe(
go_repository,
name = "io_opencensus_go",
custom = "opencensus",
custom_git = "https://github.com/census-instrumentation/opencensus-go.git",
importpath = "go.opencensus.io",
tag = "v0.15.0",
)
maybe(
go_repository,
name = "com_github_syndtr_goleveldb",
commit = "5d6fca44a948d2be89a9702de7717f0168403d3d",
importpath = "github.com/syndtr/goleveldb",
)
maybe(
go_repository,
name = "com_github_minio_highwayhash",
custom = "highwayhash",
importpath = "github.com/minio/highwayhash",
tag = "v1.0.0",
)
maybe(
go_repository,
name = "org_golang_x_sys",
commit = "49385e6e15226593f68b26af201feec29d5bba22",
custom = "x_sys",
custom_git = "https://github.com/golang/sys.git",
importpath = "golang.org/x/sys",
)
maybe(
go_repository,
name = "com_github_datadog_zstd",
custom = "zstd",
importpath = "github.com/DataDog/zstd",
tag = "v1.3.5",
)
maybe(
go_repository,
name = "com_github_beevik_etree",
custom = "etree",
importpath = "github.com/beevik/etree",
tag = "v1.1.0",
)
maybe(
go_repository,
name = "com_github_google_orderedcode",
importpath = "github.com/google/orderedcode",
tag = "v0.0.1",
)
maybe(
go_repository,
name = "com_github_ghodss_yaml",
commit = "c7ce16629ff4cd059ed96ed06419dd3856fd3577",
custom = "ghodss_yaml",
importpath = "github.com/ghodss/yaml",
)
maybe(
go_repository,
name = "in_gopkg_yaml_v2",
custom = "yaml",
importpath = "gopkg.in/yaml.v2",
tag = "v2.2.2",
)
maybe(
go_repository,
name = "com_github_mholt_archiver",
custom = "archiver",
importpath = "github.com/mholt/archiver",
tag = "v3.1.1",
)
maybe(
go_repository,
name = "com_github_dsnet_compress",
custom = "compress",
importpath = "github.com/dsnet/compress",
tag = "v0.0.1",
)
maybe(
go_repository,
name = "com_github_nwaples_rardecode",
custom = "rardecode",
importpath = "github.com/nwaples/rardecode",
tag = "v1.0.0",
)
maybe(
go_repository,
name = "com_github_pierrec_lz4",
custom = "lz4",
importpath = "github.com/pierrec/lz4",
tag = "v2.0.8",
)
maybe(
go_repository,
name = "com_github_ulikunitz_xz",
commit = "590df8077fbcb06ad62d7714da06c00e5dd2316d",
custom = "xz",
importpath = "github.com/ulikunitz/xz",
)
maybe(
go_repository,
name = "com_github_xi2_xz",
commit = "48954b6210f8d154cb5f8484d3a3e1f83489309e",
custom = "xi2xz",
importpath = "github.com/xi2/xz",
)
maybe(
http_archive,
name = "org_brotli_go",
sha256 = "fb511e09ea284fcd18fe2a2632744609a77f69c345428b9f0d2cc15171215f06",
strip_prefix = "brotli-ee2a5e1540cbd6ef883a897499d9596307f7f7f9/go",
url = "https://github.com/google/brotli/archive/ee2a5e1540cbd6ef883a897499d9596307f7f7f9.zip",
)
def _bindings():
maybe(
native.bind,
name = "vnames_config",
actual = "@io_kythe//kythe/data:vnames_config",
)
maybe(
native.bind,
name = "libuuid",
actual = "@io_kythe//third_party:libuuid",
)
maybe(
native.bind,
name = "libmemcached",
actual = "@org_libmemcached_libmemcached//:libmemcached",
)
maybe(
native.bind,
name = "guava", # required by @com_google_protobuf
actual = "@io_kythe//third_party/guava",
)
maybe(
native.bind,
name = "gson", # required by @com_google_protobuf
actual = "@com_google_code_gson_gson//jar",
)
maybe(
native.bind,
name = "zlib", # required by @com_google_protobuf
actual = "@net_zlib//:zlib",
)
def _extractor_image_dependencies():
"""Defines external repositories necessary for extractor images."""
maybe(
http_archive,
name = "com_github_philwo_bazelisk",
sha256 = "cb6a208f559fd08d205527b69d597ef36f7e1a922fe1df64081e52dd544f7666",
strip_prefix = "bazelisk-0.0.2",
urls = ["https://github.com/philwo/bazelisk/archive/0.0.2.zip"],
)
go_repository(
name = "com_github_hashicorp_go_version",
importpath = "github.com/hashicorp/go-version",
tag = "v1.1.0",
)
def _sample_ui_dependencies():
"""Defines external repositories necessary for building the sample UI."""
lein_repository(
name = "org_leiningen",
sha256 = "a0a1f093677045c4e1e40219ccc989acd61433f61c50e098a2185faf4f03553c",
version = "2.5.3",
)
def kythe_dependencies(sample_ui = True):
"""Defines external repositories for Kythe dependencies.
Call this once in your WORKSPACE file to load all @io_kythe dependencies.
"""
_cc_dependencies()
_go_dependencies()
_java_dependencies()
# proto_library, cc_proto_library, and java_proto_library rules implicitly
# depend on @com_google_protobuf for protoc and proto runtimes.
# TODO(justbuchanan): update to the next tagged release when available
maybe(
http_archive,
name = "com_google_protobuf",
sha256 = "ef62ee52bedc3a0ec0aeb7911279243119d53eac7f8bbbec833761c07e802bcb",
strip_prefix = "protobuf-8e5ea65953f3c47e01bca360ecf3abdf2c8b1c33",
urls = ["https://github.com/protocolbuffers/protobuf/archive/8e5ea65953f3c47e01bca360ecf3abdf2c8b1c33.zip"],
)
maybe(
http_archive,
name = "bazel_skylib",
sha256 = "ca4e3b8e4da9266c3a9101c8f4704fe2e20eb5625b2a6a7d2d7d45e3dd4efffd",
strip_prefix = "bazel-skylib-0.5.0",
urls = ["https://github.com/bazelbuild/bazel-skylib/archive/0.5.0.zip"],
)
maybe(
http_archive,
name = "io_kythe_llvmbzlgen",
sha256 = "6d077cfe818d08ea9184d71f73581135b69c379692771afd88392fa1fee018ac",
urls = ["https://github.com/kythe/llvmbzlgen/archive/435bad1d07f7a8d32979d66cd5547e1b32dca812.zip"],
strip_prefix = "llvmbzlgen-435bad1d07f7a8d32979d66cd5547e1b32dca812",
)
_rule_dependencies()
if sample_ui:
_sample_ui_dependencies()
_bindings()
_extractor_image_dependencies()