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