|
| 1 | + |
| 2 | +# This is an end-to-end example of how to consume lsif-java from an external repository. |
| 3 | +workspace(name = "lsif_java_example") |
| 4 | +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") |
| 5 | + |
| 6 | +############## |
| 7 | +# Bazel stdlib |
| 8 | +############## |
| 9 | +# To update this version, copy-paste instructions from https://github.com/bazelbuild/bazel-skylib/releases |
| 10 | +http_archive( |
| 11 | + name = "bazel_skylib", |
| 12 | + sha256 = "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c", |
| 13 | + urls = [ |
| 14 | + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz", |
| 15 | + "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz", |
| 16 | + ], |
| 17 | +) |
| 18 | + |
| 19 | +############## |
| 20 | +# lsif-java |
| 21 | +############## |
| 22 | +local_repository( |
| 23 | + name = "lsif_java", |
| 24 | + path = "../.." |
| 25 | +) |
| 26 | +# TODO: add commented out `http_archive` example once this workspace file is available on GitHub. |
| 27 | + |
| 28 | +########## |
| 29 | +# Protobuf |
| 30 | +########## |
| 31 | +# To update this version, copy-paste instructions from https://github.com/bazelbuild/rules_proto/releases |
| 32 | +http_archive( |
| 33 | + name = "rules_proto", |
| 34 | + sha256 = "e017528fd1c91c5a33f15493e3a398181a9e821a804eb7ff5acdd1d2d6c2b18d", |
| 35 | + strip_prefix = "rules_proto-4.0.0-3.20.0", |
| 36 | + urls = [ |
| 37 | + "https://github.com/bazelbuild/rules_proto/archive/refs/tags/4.0.0-3.20.0.tar.gz", |
| 38 | + ], |
| 39 | +) |
| 40 | +load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains") |
| 41 | +rules_proto_dependencies() |
| 42 | +rules_proto_toolchains() |
| 43 | + |
| 44 | +############## |
| 45 | +# JVM External |
| 46 | +############## |
| 47 | +# To update this version, copy-paste instructions from https://github.com/bazelbuild/rules_jvm_external/releases |
| 48 | +RULES_JVM_EXTERNAL_TAG = "4.2" |
| 49 | +RULES_JVM_EXTERNAL_SHA = "cd1a77b7b02e8e008439ca76fd34f5b07aecb8c752961f9640dea15e9e5ba1ca" |
| 50 | +http_archive( |
| 51 | + name = "rules_jvm_external", |
| 52 | + strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG, |
| 53 | + sha256 = RULES_JVM_EXTERNAL_SHA, |
| 54 | + url = "https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip" % RULES_JVM_EXTERNAL_TAG, |
| 55 | +) |
| 56 | +load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps") |
| 57 | +rules_jvm_external_deps() |
| 58 | +load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup") |
| 59 | +rules_jvm_external_setup() |
| 60 | +load("@rules_jvm_external//:defs.bzl", "maven_install") |
| 61 | +maven_install( |
| 62 | + artifacts = [ |
| 63 | + "com.google.protobuf:protobuf-java:3.15.6", # Required dependency by lsif-java. |
| 64 | + "com.google.protobuf:protobuf-java-util:3.15.6", # Required dependency by lsif-java. |
| 65 | + "com.google.guava:guava:31.0-jre", # Not required dependency, only used by tests. |
| 66 | + ], |
| 67 | + repositories = [ |
| 68 | + "https://repo1.maven.org/maven2", |
| 69 | + ], |
| 70 | +) |
0 commit comments