xref: /aosp_15_r20/external/tink/java_src/tink_java_deps.bzl (revision e7b1675dde1b92d52ec075b0a92829627f2c52a5)
1*e7b1675dSTing-Kang Chang"""Dependencies of Java Tink."""
2*e7b1675dSTing-Kang Chang
3*e7b1675dSTing-Kang Changload("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file")
4*e7b1675dSTing-Kang Chang
5*e7b1675dSTing-Kang ChangTINK_MAVEN_ARTIFACTS = [
6*e7b1675dSTing-Kang Chang    "com.google.protobuf:protobuf-java:3.19.6",
7*e7b1675dSTing-Kang Chang    "com.google.protobuf:protobuf-javalite:3.19.6",
8*e7b1675dSTing-Kang Chang    "com.amazonaws:aws-java-sdk-core:1.12.182",
9*e7b1675dSTing-Kang Chang    "com.amazonaws:aws-java-sdk-kms:1.12.182",
10*e7b1675dSTing-Kang Chang    "androidx.annotation:annotation:1.5.0",
11*e7b1675dSTing-Kang Chang    "com.google.auto:auto-common:1.2.1",
12*e7b1675dSTing-Kang Chang    "com.google.auto.service:auto-service:1.0.1",
13*e7b1675dSTing-Kang Chang    "com.google.auto.service:auto-service-annotations:1.0.1",
14*e7b1675dSTing-Kang Chang    "com.google.api-client:google-api-client:2.2.0",
15*e7b1675dSTing-Kang Chang    "com.google.apis:google-api-services-cloudkms:v1-rev20221107-2.0.0",
16*e7b1675dSTing-Kang Chang    "com.google.auth:google-auth-library-oauth2-http:1.5.3",
17*e7b1675dSTing-Kang Chang    "com.google.code.findbugs:jsr305:3.0.2",
18*e7b1675dSTing-Kang Chang    "com.google.code.gson:gson:2.10.1",
19*e7b1675dSTing-Kang Chang    "com.google.errorprone:error_prone_annotations:2.18.0",
20*e7b1675dSTing-Kang Chang    "com.google.http-client:google-http-client:1.43.1",
21*e7b1675dSTing-Kang Chang    "com.google.http-client:google-http-client-gson:1.43.1",
22*e7b1675dSTing-Kang Chang    "com.google.oauth-client:google-oauth-client:1.34.1",
23*e7b1675dSTing-Kang Chang    "com.google.truth:truth:0.44",
24*e7b1675dSTing-Kang Chang    "junit:junit:4.13.2",
25*e7b1675dSTing-Kang Chang    "org.conscrypt:conscrypt-openjdk-uber:2.5.2",
26*e7b1675dSTing-Kang Chang    "org.ow2.asm:asm:7.0",
27*e7b1675dSTing-Kang Chang    "org.ow2.asm:asm-commons:7.0",
28*e7b1675dSTing-Kang Chang    "org.pantsbuild:jarjar:1.7.2",
29*e7b1675dSTing-Kang Chang]
30*e7b1675dSTing-Kang Chang
31*e7b1675dSTing-Kang Changdef tink_java_deps():
32*e7b1675dSTing-Kang Chang    """Loads dependencies of Java Tink."""
33*e7b1675dSTing-Kang Chang
34*e7b1675dSTing-Kang Chang    # Google PKI certs for connecting to GCP KMS
35*e7b1675dSTing-Kang Chang    if not native.existing_rule("google_root_pem"):
36*e7b1675dSTing-Kang Chang        http_file(
37*e7b1675dSTing-Kang Chang            name = "google_root_pem",
38*e7b1675dSTing-Kang Chang            executable = 0,
39*e7b1675dSTing-Kang Chang            urls = ["https://pki.goog/roots.pem"],
40*e7b1675dSTing-Kang Chang            sha256 = "9c9b9685ad319b9747c3fe69b46a61c11a0efabdfa09ca6a8b0c3da421036d27",
41*e7b1675dSTing-Kang Chang        )
42*e7b1675dSTing-Kang Chang
43*e7b1675dSTing-Kang Chang    # Basic rules we need to add to bazel.
44*e7b1675dSTing-Kang Chang    if not native.existing_rule("bazel_skylib"):
45*e7b1675dSTing-Kang Chang        # Release from 2021-09-27.
46*e7b1675dSTing-Kang Chang        http_archive(
47*e7b1675dSTing-Kang Chang            name = "bazel_skylib",
48*e7b1675dSTing-Kang Chang            urls = [
49*e7b1675dSTing-Kang Chang                "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.1.1/bazel-skylib-1.1.1.tar.gz",
50*e7b1675dSTing-Kang Chang                "https://github.com/bazelbuild/bazel-skylib/releases/download/1.1.1/bazel-skylib-1.1.1.tar.gz",
51*e7b1675dSTing-Kang Chang            ],
52*e7b1675dSTing-Kang Chang            sha256 = "c6966ec828da198c5d9adbaa94c05e3a1c7f21bd012a0b29ba8ddbccb2c93b0d",
53*e7b1675dSTing-Kang Chang        )
54*e7b1675dSTing-Kang Chang
55*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
56*e7b1675dSTing-Kang Chang    # Protobuf.
57*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
58*e7b1675dSTing-Kang Chang    # proto_library, cc_proto_library and java_proto_library rules implicitly
59*e7b1675dSTing-Kang Chang    # depend respectively on:
60*e7b1675dSTing-Kang Chang    #   * @com_google_protobuf//:proto
61*e7b1675dSTing-Kang Chang    #   * @com_google_protobuf//:cc_toolchain
62*e7b1675dSTing-Kang Chang    #   * @com_google_protobuf//:java_toolchain
63*e7b1675dSTing-Kang Chang    # This statement defines the @com_google_protobuf repo.
64*e7b1675dSTing-Kang Chang    if not native.existing_rule("com_google_protobuf"):
65*e7b1675dSTing-Kang Chang        # Release X.21.9 from 2022-10-26.
66*e7b1675dSTing-Kang Chang        http_archive(
67*e7b1675dSTing-Kang Chang            name = "com_google_protobuf",
68*e7b1675dSTing-Kang Chang            strip_prefix = "protobuf-21.9",
69*e7b1675dSTing-Kang Chang            urls = ["https://github.com/protocolbuffers/protobuf/archive/refs/tags/v21.9.zip"],
70*e7b1675dSTing-Kang Chang            sha256 = "5babb8571f1cceafe0c18e13ddb3be556e87e12ceea3463d6b0d0064e6cc1ac3",
71*e7b1675dSTing-Kang Chang        )
72*e7b1675dSTing-Kang Chang
73*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
74*e7b1675dSTing-Kang Chang    # Transitive Maven artifact resolution and publishing rules for Bazel.
75*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
76*e7b1675dSTing-Kang Chang    if not native.existing_rule("rules_jvm_external"):
77*e7b1675dSTing-Kang Chang        # Release from 2021-11-24
78*e7b1675dSTing-Kang Chang        http_archive(
79*e7b1675dSTing-Kang Chang            name = "rules_jvm_external",
80*e7b1675dSTing-Kang Chang            strip_prefix = "rules_jvm_external-4.2",
81*e7b1675dSTing-Kang Chang            sha256 = "cd1a77b7b02e8e008439ca76fd34f5b07aecb8c752961f9640dea15e9e5ba1ca",
82*e7b1675dSTing-Kang Chang            url = "https://github.com/bazelbuild/rules_jvm_external/archive/4.2.zip",
83*e7b1675dSTing-Kang Chang        )
84*e7b1675dSTing-Kang Chang
85*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
86*e7b1675dSTing-Kang Chang    # Android rules for Bazel.
87*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
88*e7b1675dSTing-Kang Chang    if not native.existing_rule("build_bazel_rules_android"):
89*e7b1675dSTing-Kang Chang        # Last release from 2018-08-07.
90*e7b1675dSTing-Kang Chang        http_archive(
91*e7b1675dSTing-Kang Chang            name = "build_bazel_rules_android",
92*e7b1675dSTing-Kang Chang            urls = ["https://github.com/bazelbuild/rules_android/archive/refs/tags/v0.1.1.zip"],
93*e7b1675dSTing-Kang Chang            sha256 = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806",
94*e7b1675dSTing-Kang Chang            strip_prefix = "rules_android-0.1.1",
95*e7b1675dSTing-Kang Chang        )
96*e7b1675dSTing-Kang Chang
97*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
98*e7b1675dSTing-Kang Chang    # Wycheproof.
99*e7b1675dSTing-Kang Chang    # -------------------------------------------------------------------------
100*e7b1675dSTing-Kang Chang    if not native.existing_rule("wycheproof"):
101*e7b1675dSTing-Kang Chang        # Commit from 2019-12-17
102*e7b1675dSTing-Kang Chang        http_archive(
103*e7b1675dSTing-Kang Chang            name = "wycheproof",
104*e7b1675dSTing-Kang Chang            strip_prefix = "wycheproof-d8ed1ba95ac4c551db67f410c06131c3bc00a97c",
105*e7b1675dSTing-Kang Chang            url = "https://github.com/google/wycheproof/archive/d8ed1ba95ac4c551db67f410c06131c3bc00a97c.zip",
106*e7b1675dSTing-Kang Chang            sha256 = "eb1d558071acf1aa6d677d7f1cabec2328d1cf8381496c17185bd92b52ce7545",
107*e7b1675dSTing-Kang Chang        )
108