1*9e965d6fSRomain Jobredeauxmodule( 2*9e965d6fSRomain Jobredeaux name = "rules_android", 3*9e965d6fSRomain Jobredeaux version = "0.2.0", 4*9e965d6fSRomain Jobredeaux) 5*9e965d6fSRomain Jobredeaux 6*9e965d6fSRomain Jobredeauxbazel_dep(name = "platforms", version = "0.0.5") 7*9e965d6fSRomain Jobredeauxbazel_dep(name = "rules_license", version = "0.0.4") 8*9e965d6fSRomain Jobredeauxbazel_dep(name = "rules_java", version = "6.0.0") 9*9e965d6fSRomain Jobredeaux 10*9e965d6fSRomain Jobredeauxrules_java_toolchains = use_extension("@rules_java//java:extensions.bzl", "toolchains") 11*9e965d6fSRomain Jobredeauxuse_repo(rules_java_toolchains, "remote_java_tools") 12*9e965d6fSRomain Jobredeaux 13*9e965d6fSRomain Jobredeauxbazel_dep(name = "protobuf", version = "3.19.0", repo_name = "com_google_protobuf") 14*9e965d6fSRomain Jobredeauxbazel_dep(name = "rules_jvm_external", version = "4.5") 15*9e965d6fSRomain Jobredeauxbazel_dep(name = "bazel_skylib", version = "1.0.3") 16*9e965d6fSRomain Jobredeauxbazel_dep(name = "rules_robolectric", version = "4.10", repo_name = "robolectric") 17*9e965d6fSRomain Jobredeaux 18*9e965d6fSRomain Jobredeauxregister_toolchains("//toolchains/android:all") 19*9e965d6fSRomain Jobredeaux 20*9e965d6fSRomain Jobredeauxregister_toolchains("//toolchains/android_sdk:all") 21*9e965d6fSRomain Jobredeaux 22*9e965d6fSRomain Jobredeauxregister_toolchains("//toolchains/emulator:all") 23*9e965d6fSRomain Jobredeaux 24*9e965d6fSRomain Jobredeaux# go-related dependency setup 25*9e965d6fSRomain Jobredeauxbazel_dep(name = "rules_go", version = "0.40.1", repo_name = "io_bazel_rules_go") 26*9e965d6fSRomain Jobredeauxbazel_dep(name = "gazelle", version = "0.28.0", repo_name = "bazel_gazelle") 27*9e965d6fSRomain Jobredeauxbazel_dep(name = "abseil-py", version = "1.4.0", repo_name = "py_absl") 28*9e965d6fSRomain Jobredeaux 29*9e965d6fSRomain Jobredeauxgo_sdk = use_extension("@io_bazel_rules_go//go:extensions.bzl", "go_sdk") 30*9e965d6fSRomain Jobredeaux 31*9e965d6fSRomain Jobredeauxgo_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps") 32*9e965d6fSRomain Jobredeauxgo_deps.from_file(go_mod = "//:go.mod") 33*9e965d6fSRomain Jobredeauxuse_repo( 34*9e965d6fSRomain Jobredeaux go_deps, 35*9e965d6fSRomain Jobredeaux "com_github_golang_glog", 36*9e965d6fSRomain Jobredeaux "com_github_google_go_cmp", 37*9e965d6fSRomain Jobredeaux "org_golang_google_protobuf", 38*9e965d6fSRomain Jobredeaux "org_golang_x_sync", 39*9e965d6fSRomain Jobredeaux) 40*9e965d6fSRomain Jobredeaux 41*9e965d6fSRomain Jobredeaux# python-related dependency setup 42*9e965d6fSRomain Jobredeauxbazel_dep(name = "rules_python", version = "0.23.1", repo_name = "rules_python") 43*9e965d6fSRomain Jobredeaux 44*9e965d6fSRomain Jobredeaux# proto-related dependency setup 45*9e965d6fSRomain Jobredeauxbazel_dep(name = "rules_proto", version = "5.3.0-21.7", repo_name = "rules_proto") 46*9e965d6fSRomain Jobredeaux 47*9e965d6fSRomain Jobredeauxmaven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") 48*9e965d6fSRomain Jobredeauxmaven.install( 49*9e965d6fSRomain Jobredeaux name = "rules_android_maven", 50*9e965d6fSRomain Jobredeaux # To generate the maven lockfile, run this command: 51*9e965d6fSRomain Jobredeaux # bazel run --noenable_bzlmod @rules_android_maven//:pin 52*9e965d6fSRomain Jobredeaux lock_file = "//:rules_android_maven_install.json", 53*9e965d6fSRomain Jobredeaux repositories = [ 54*9e965d6fSRomain Jobredeaux "https://maven.google.com", 55*9e965d6fSRomain Jobredeaux "https://repo1.maven.org/maven2", 56*9e965d6fSRomain Jobredeaux ], 57*9e965d6fSRomain Jobredeaux) 58*9e965d6fSRomain Jobredeauxuse_repo( 59*9e965d6fSRomain Jobredeaux maven, 60*9e965d6fSRomain Jobredeaux "rules_android_maven", 61*9e965d6fSRomain Jobredeaux) 62*9e965d6fSRomain Jobredeaux 63*9e965d6fSRomain Jobredeauxremote_android_extensions = use_extension("@bazel_tools//tools/android:android_extensions.bzl", "remote_android_tools_extensions") 64*9e965d6fSRomain Jobredeauxuse_repo(remote_android_extensions, "android_gmaven_r8", "android_tools") 65*9e965d6fSRomain Jobredeaux 66*9e965d6fSRomain Jobredeaux# integration test setup 67*9e965d6fSRomain Jobredeauxbazel_dep( 68*9e965d6fSRomain Jobredeaux name = "rules_bazel_integration_test", 69*9e965d6fSRomain Jobredeaux version = "0.17.0", 70*9e965d6fSRomain Jobredeaux dev_dependency = True, 71*9e965d6fSRomain Jobredeaux) 72*9e965d6fSRomain Jobredeauxbazel_dep( 73*9e965d6fSRomain Jobredeaux name = "cgrindel_bazel_starlib", 74*9e965d6fSRomain Jobredeaux version = "0.17.0", 75*9e965d6fSRomain Jobredeaux dev_dependency = True, 76*9e965d6fSRomain Jobredeaux) 77*9e965d6fSRomain Jobredeaux 78*9e965d6fSRomain Jobredeauxbazel_binaries = use_extension( 79*9e965d6fSRomain Jobredeaux "@rules_bazel_integration_test//:extensions.bzl", 80*9e965d6fSRomain Jobredeaux "bazel_binaries", 81*9e965d6fSRomain Jobredeaux dev_dependency = True, 82*9e965d6fSRomain Jobredeaux) 83*9e965d6fSRomain Jobredeauxbazel_binaries.download(version = "last_green") 84*9e965d6fSRomain Jobredeauxuse_repo(bazel_binaries, "bazel_binaries") 85