xref: /aosp_15_r20/external/bazelbuild-rules_android/defs.bzl (revision 9e965d6fece27a77de5377433c2f7e6999b8cc0b)
1# Copyright 2021 The Bazel Authors. All rights reserved.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#    http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15"""Workspace setup macro for rules_android."""
16
17load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies", "go_repository")
18load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
19load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
20load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
21load("@robolectric//bazel:robolectric.bzl", "robolectric_repositories")
22load("@rules_java//java:repositories.bzl", "rules_java_dependencies", "rules_java_toolchains")
23load("@rules_jvm_external//:defs.bzl", "maven_install")
24load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies", "rules_proto_toolchains")
25load("@rules_python//python:repositories.bzl", "py_repositories")
26
27def rules_android_workspace():
28    """ Sets up workspace dependencies for rules_android."""
29    bazel_skylib_workspace()
30
31    protobuf_deps()
32
33    maven_install(
34        name = "rules_android_maven",
35        artifacts = [
36            "androidx.privacysandbox.tools:tools:1.0.0-alpha06",
37            "androidx.privacysandbox.tools:tools-apigenerator:1.0.0-alpha06",
38            "androidx.privacysandbox.tools:tools-apipackager:1.0.0-alpha06",
39            "androidx.test:core:1.6.0-alpha01",
40            "androidx.test.ext:junit:1.2.0-alpha01",
41            "com.android.tools.build:bundletool:1.15.2",
42            "com.android.tools.build:gradle:8.2.0-alpha15",
43            "org.robolectric:robolectric:4.10.3",
44            "com.google.guava:guava:32.1.2-jre",
45            "com.google.protobuf:protobuf-java-util:3.9.2",
46            "com.google.truth:truth:1.1.5",
47            "info.picocli:picocli:4.7.4",
48            "junit:junit:4.13.2",
49        ],
50        repositories = [
51            "https://maven.google.com",
52            "https://repo1.maven.org/maven2",
53        ],
54    )
55
56    go_rules_dependencies()
57
58    go_register_toolchains(version = "1.20.5")
59
60    gazelle_dependencies()
61    # gazelle:repository go_repository name=org_golang_x_xerrors importpath=golang.org/x/xerrors
62
63    go_repository(
64        name = "org_golang_google_protobuf",
65        importpath = "google.golang.org/protobuf",
66        sum = "h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=",
67        version = "v1.28.1",
68    )
69
70    go_repository(
71        name = "com_github_google_go_cmp",
72        importpath = "github.com/google/go-cmp",
73        sum = "h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=",
74        version = "v0.5.9",
75    )
76
77    go_repository(
78        name = "org_golang_x_sync",
79        importpath = "golang.org/x/sync",
80        sum = "h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ=",
81        version = "v0.0.0-20210220032951-036812b2e83c",
82    )
83
84    go_repository(
85        name = "com_github_golang_glog",
86        importpath = "github.com/golang/glog",
87        version = "v1.1.2",
88        sum = "h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo=",
89    )
90
91    robolectric_repositories()
92
93    rules_java_dependencies()
94    rules_java_toolchains()
95
96    rules_proto_dependencies()
97    rules_proto_toolchains()
98
99    py_repositories()
100