xref: /aosp_15_r20/external/bazelbuild-rules_android/prereqs.bzl (revision 9e965d6fece27a77de5377433c2f7e6999b8cc0b)
1*9e965d6fSRomain Jobredeaux# Copyright 2022 The Bazel Authors. All rights reserved.
2*9e965d6fSRomain Jobredeaux#
3*9e965d6fSRomain Jobredeaux# Licensed under the Apache License, Version 2.0 (the "License");
4*9e965d6fSRomain Jobredeaux# you may not use this file except in compliance with the License.
5*9e965d6fSRomain Jobredeaux# You may obtain a copy of the License at
6*9e965d6fSRomain Jobredeaux#
7*9e965d6fSRomain Jobredeaux#    http://www.apache.org/licenses/LICENSE-2.0
8*9e965d6fSRomain Jobredeaux#
9*9e965d6fSRomain Jobredeaux# Unless required by applicable law or agreed to in writing, software
10*9e965d6fSRomain Jobredeaux# distributed under the License is distributed on an "AS IS" BASIS,
11*9e965d6fSRomain Jobredeaux# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*9e965d6fSRomain Jobredeaux# See the License for the specific language governing permissions and
13*9e965d6fSRomain Jobredeaux# limitations under the License.
14*9e965d6fSRomain Jobredeaux
15*9e965d6fSRomain Jobredeaux"""Sets up prerequisites for rules_android."""
16*9e965d6fSRomain Jobredeaux
17*9e965d6fSRomain Jobredeauxload("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
18*9e965d6fSRomain Jobredeauxload("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
19*9e965d6fSRomain Jobredeaux
20*9e965d6fSRomain Jobredeauxdef rules_android_prereqs(dev_mode = False):
21*9e965d6fSRomain Jobredeaux    """Downloads prerequisite repositories for rules_android."""
22*9e965d6fSRomain Jobredeaux    maybe(
23*9e965d6fSRomain Jobredeaux        http_archive,
24*9e965d6fSRomain Jobredeaux        name = "rules_java",
25*9e965d6fSRomain Jobredeaux        urls = [
26*9e965d6fSRomain Jobredeaux            "https://github.com/bazelbuild/rules_java/releases/download/6.0.0/rules_java-6.0.0.tar.gz",
27*9e965d6fSRomain Jobredeaux        ],
28*9e965d6fSRomain Jobredeaux        sha256 = "469b7f3b580b4fcf8112f4d6d0d5a4ce8e1ad5e21fee67d8e8335d5f8b3debab",
29*9e965d6fSRomain Jobredeaux    )
30*9e965d6fSRomain Jobredeaux
31*9e965d6fSRomain Jobredeaux    maybe(
32*9e965d6fSRomain Jobredeaux        http_archive,
33*9e965d6fSRomain Jobredeaux        name = "rules_jvm_external",
34*9e965d6fSRomain Jobredeaux        strip_prefix = "rules_jvm_external-fa73b1a8e4846cee88240d0019b8f80d39feb1c3",
35*9e965d6fSRomain Jobredeaux        sha256 = "7e13e48b50f9505e8a99cc5a16c557cbe826e9b68d733050cd1e318d69f94bb5",
36*9e965d6fSRomain Jobredeaux        url = "https://github.com/bazelbuild/rules_jvm_external/archive/fa73b1a8e4846cee88240d0019b8f80d39feb1c3.zip",
37*9e965d6fSRomain Jobredeaux    )
38*9e965d6fSRomain Jobredeaux
39*9e965d6fSRomain Jobredeaux    maybe(
40*9e965d6fSRomain Jobredeaux        http_archive,
41*9e965d6fSRomain Jobredeaux        name = "com_google_protobuf",
42*9e965d6fSRomain Jobredeaux        sha256 = "87407cd28e7a9c95d9f61a098a53cf031109d451a7763e7dd1253abf8b4df422",
43*9e965d6fSRomain Jobredeaux        strip_prefix = "protobuf-3.19.1",
44*9e965d6fSRomain Jobredeaux        urls = ["https://github.com/protocolbuffers/protobuf/archive/v3.19.1.tar.gz"],
45*9e965d6fSRomain Jobredeaux    )
46*9e965d6fSRomain Jobredeaux
47*9e965d6fSRomain Jobredeaux    maybe(
48*9e965d6fSRomain Jobredeaux        http_archive,
49*9e965d6fSRomain Jobredeaux        name = "remote_java_tools_for_rules_android",
50*9e965d6fSRomain Jobredeaux        sha256 = "8fb4d3138bd92a9d3324dae29c9f70d91ca2db18cd0bf1997446eed4657d19b3",
51*9e965d6fSRomain Jobredeaux        urls = [
52*9e965d6fSRomain Jobredeaux            "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.8/java_tools-v11.8.zip",
53*9e965d6fSRomain Jobredeaux            "https://github.com/bazelbuild/java_tools/releases/download/java_v11.8/java_tools-v11.8.zip",
54*9e965d6fSRomain Jobredeaux        ],
55*9e965d6fSRomain Jobredeaux    )
56*9e965d6fSRomain Jobredeaux
57*9e965d6fSRomain Jobredeaux    maybe(
58*9e965d6fSRomain Jobredeaux        http_archive,
59*9e965d6fSRomain Jobredeaux        name = "bazel_skylib",
60*9e965d6fSRomain Jobredeaux        sha256 = "1c531376ac7e5a180e0237938a2536de0c54d93f5c278634818e0efc952dd56c",
61*9e965d6fSRomain Jobredeaux        urls = [
62*9e965d6fSRomain Jobredeaux            "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
63*9e965d6fSRomain Jobredeaux            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.3/bazel-skylib-1.0.3.tar.gz",
64*9e965d6fSRomain Jobredeaux        ],
65*9e965d6fSRomain Jobredeaux    )
66*9e965d6fSRomain Jobredeaux
67*9e965d6fSRomain Jobredeaux    maybe(
68*9e965d6fSRomain Jobredeaux        http_archive,
69*9e965d6fSRomain Jobredeaux        name = "io_bazel_rules_go",
70*9e965d6fSRomain Jobredeaux        sha256 = "51dc53293afe317d2696d4d6433a4c33feedb7748a9e352072e2ec3c0dafd2c6",
71*9e965d6fSRomain Jobredeaux        urls = [
72*9e965d6fSRomain Jobredeaux            "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.40.1/rules_go-v0.40.1.zip",
73*9e965d6fSRomain Jobredeaux            "https://github.com/bazelbuild/rules_go/releases/download/v0.40.1/rules_go-v0.40.1.zip",
74*9e965d6fSRomain Jobredeaux        ],
75*9e965d6fSRomain Jobredeaux    )
76*9e965d6fSRomain Jobredeaux
77*9e965d6fSRomain Jobredeaux    maybe(
78*9e965d6fSRomain Jobredeaux        http_archive,
79*9e965d6fSRomain Jobredeaux        name = "bazel_gazelle",
80*9e965d6fSRomain Jobredeaux        sha256 = "5982e5463f171da99e3bdaeff8c0f48283a7a5f396ec5282910b9e8a49c0dd7e",
81*9e965d6fSRomain Jobredeaux        urls = [
82*9e965d6fSRomain Jobredeaux            "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.25.0/bazel-gazelle-v0.25.0.tar.gz",
83*9e965d6fSRomain Jobredeaux            "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.25.0/bazel-gazelle-v0.25.0.tar.gz",
84*9e965d6fSRomain Jobredeaux        ],
85*9e965d6fSRomain Jobredeaux    )
86*9e965d6fSRomain Jobredeaux
87*9e965d6fSRomain Jobredeaux    maybe(
88*9e965d6fSRomain Jobredeaux        http_archive,
89*9e965d6fSRomain Jobredeaux        name = "robolectric",
90*9e965d6fSRomain Jobredeaux        urls = ["https://github.com/robolectric/robolectric-bazel/archive/4.10.3.tar.gz"],
91*9e965d6fSRomain Jobredeaux        strip_prefix = "robolectric-bazel-4.10.3",
92*9e965d6fSRomain Jobredeaux        sha256 = "1b199a932cbde4af728dd8275937091adbb89a4bf63d326de49e6d0a42e723bf",
93*9e965d6fSRomain Jobredeaux    )
94*9e965d6fSRomain Jobredeaux
95*9e965d6fSRomain Jobredeaux    maybe(
96*9e965d6fSRomain Jobredeaux        http_archive,
97*9e965d6fSRomain Jobredeaux        name = "rules_license",
98*9e965d6fSRomain Jobredeaux        urls = [
99*9e965d6fSRomain Jobredeaux            "https://github.com/bazelbuild/rules_license/releases/download/0.0.4/rules_license-0.0.4.tar.gz",
100*9e965d6fSRomain Jobredeaux            "https://mirror.bazel.build/github.com/bazelbuild/rules_license/releases/download/0.0.4/rules_license-0.0.4.tar.gz",
101*9e965d6fSRomain Jobredeaux        ],
102*9e965d6fSRomain Jobredeaux        sha256 = "6157e1e68378532d0241ecd15d3c45f6e5cfd98fc10846045509fb2a7cc9e381",
103*9e965d6fSRomain Jobredeaux    )
104*9e965d6fSRomain Jobredeaux
105*9e965d6fSRomain Jobredeaux    maybe(
106*9e965d6fSRomain Jobredeaux        http_archive,
107*9e965d6fSRomain Jobredeaux        name = "py_absl",
108*9e965d6fSRomain Jobredeaux        sha256 = "0fb3a4916a157eb48124ef309231cecdfdd96ff54adf1660b39c0d4a9790a2c0",
109*9e965d6fSRomain Jobredeaux        urls = [
110*9e965d6fSRomain Jobredeaux            "https://github.com/abseil/abseil-py/archive/refs/tags/v1.4.0.tar.gz",
111*9e965d6fSRomain Jobredeaux        ],
112*9e965d6fSRomain Jobredeaux        strip_prefix = "abseil-py-1.4.0",
113*9e965d6fSRomain Jobredeaux    )
114*9e965d6fSRomain Jobredeaux
115*9e965d6fSRomain Jobredeaux    maybe(
116*9e965d6fSRomain Jobredeaux        http_archive,
117*9e965d6fSRomain Jobredeaux        name = "rules_proto",
118*9e965d6fSRomain Jobredeaux        sha256 = "dc3fb206a2cb3441b485eb1e423165b231235a1ea9b031b4433cf7bc1fa460dd",
119*9e965d6fSRomain Jobredeaux        strip_prefix = "rules_proto-5.3.0-21.7",
120*9e965d6fSRomain Jobredeaux        urls = [
121*9e965d6fSRomain Jobredeaux            "https://github.com/bazelbuild/rules_proto/archive/refs/tags/5.3.0-21.7.tar.gz",
122*9e965d6fSRomain Jobredeaux        ],
123*9e965d6fSRomain Jobredeaux    )
124*9e965d6fSRomain Jobredeaux
125*9e965d6fSRomain Jobredeaux    maybe(
126*9e965d6fSRomain Jobredeaux        http_archive,
127*9e965d6fSRomain Jobredeaux        name = "rules_python",
128*9e965d6fSRomain Jobredeaux        strip_prefix = "rules_python-0.23.1",
129*9e965d6fSRomain Jobredeaux        urls = [
130*9e965d6fSRomain Jobredeaux            "https://github.com/bazelbuild/rules_python/releases/download/0.23.1/rules_python-0.23.1.tar.gz",
131*9e965d6fSRomain Jobredeaux            "https://mirror.bazel.build/github.com/bazelbuild/rules_python/releases/download/0.23.1/rules_python-0.23.1.tar.gz",
132*9e965d6fSRomain Jobredeaux        ],
133*9e965d6fSRomain Jobredeaux        sha256 = "84aec9e21cc56fbc7f1335035a71c850d1b9b5cc6ff497306f84cced9a769841",
134*9e965d6fSRomain Jobredeaux    )
135*9e965d6fSRomain Jobredeaux
136*9e965d6fSRomain Jobredeaux    if dev_mode:
137*9e965d6fSRomain Jobredeaux        maybe(
138*9e965d6fSRomain Jobredeaux            http_archive,
139*9e965d6fSRomain Jobredeaux            name = "rules_bazel_integration_test",
140*9e965d6fSRomain Jobredeaux            sha256 = "d6dada79939533a8127000d2aafa125f29a4a97f720e01c050fdeb81b1080b08",
141*9e965d6fSRomain Jobredeaux            urls = [
142*9e965d6fSRomain Jobredeaux                "https://github.com/bazel-contrib/rules_bazel_integration_test/releases/download/v0.17.0/rules_bazel_integration_test.v0.17.0.tar.gz",
143*9e965d6fSRomain Jobredeaux            ],
144*9e965d6fSRomain Jobredeaux        )
145*9e965d6fSRomain Jobredeaux
146*9e965d6fSRomain Jobredeaux        maybe(
147*9e965d6fSRomain Jobredeaux            http_archive,
148*9e965d6fSRomain Jobredeaux            name = "cgrindel_bazel_starlib",
149*9e965d6fSRomain Jobredeaux            sha256 = "a8d25340956b429b56302d3fd702bb3df8b3a67db248dd32b3084891ad497964",
150*9e965d6fSRomain Jobredeaux            urls = [
151*9e965d6fSRomain Jobredeaux                "https://github.com/cgrindel/bazel-starlib/releases/download/v0.17.0/bazel-starlib.v0.17.0.tar.gz",
152*9e965d6fSRomain Jobredeaux            ],
153*9e965d6fSRomain Jobredeaux        )
154