xref: /aosp_15_r20/external/skia/WORKSPACE.bazel (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workerworkspace(name = "skia")
2*c8dee2aaSAndroid Build Coastguard Worker
3*c8dee2aaSAndroid Build Coastguard Workerload("//bazel:deps.bzl", "bazel_deps", "c_plus_plus_deps")
4*c8dee2aaSAndroid Build Coastguard Worker
5*c8dee2aaSAndroid Build Coastguard Workerbazel_deps()
6*c8dee2aaSAndroid Build Coastguard Worker
7*c8dee2aaSAndroid Build Coastguard Workerload("//toolchain:download_toolchains.bzl", "download_toolchains_for_skia")
8*c8dee2aaSAndroid Build Coastguard Worker
9*c8dee2aaSAndroid Build Coastguard Workerdownload_toolchains_for_skia("clang_linux_amd64", "clang_mac", "clang_windows_amd64", "ndk_linux_amd64", "clang_ios")
10*c8dee2aaSAndroid Build Coastguard Worker
11*c8dee2aaSAndroid Build Coastguard Workerload("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file")
12*c8dee2aaSAndroid Build Coastguard Workerload("//bazel:gcs_mirror.bzl", "gcs_mirror_url")
13*c8dee2aaSAndroid Build Coastguard Worker
14*c8dee2aaSAndroid Build Coastguard Worker# See https://github.com/emscripten-core/emsdk/tree/85d27a4a2a60d591613a305b14ae438c2bb3ce11/bazel#setup-instructions
15*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
16*c8dee2aaSAndroid Build Coastguard Worker    name = "emsdk",
17*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "cb8cded78f6953283429d724556e89211e51ac4d871fcf38e0b32405ee248e91",
18*c8dee2aaSAndroid Build Coastguard Worker    strip_prefix = "emsdk-3.1.44/bazel",
19*c8dee2aaSAndroid Build Coastguard Worker    urls = gcs_mirror_url(
20*c8dee2aaSAndroid Build Coastguard Worker        sha256 = "cb8cded78f6953283429d724556e89211e51ac4d871fcf38e0b32405ee248e91",
21*c8dee2aaSAndroid Build Coastguard Worker        url = "https://github.com/emscripten-core/emsdk/archive/refs/tags/3.1.44.tar.gz",
22*c8dee2aaSAndroid Build Coastguard Worker    ),
23*c8dee2aaSAndroid Build Coastguard Worker)
24*c8dee2aaSAndroid Build Coastguard Worker
25*c8dee2aaSAndroid Build Coastguard Workerload("@emsdk//:deps.bzl", emsdk_deps = "deps")
26*c8dee2aaSAndroid Build Coastguard Worker
27*c8dee2aaSAndroid Build Coastguard Worker# One of the deps here is build_bazel_rules_nodejs, currently version 5.8.0
28*c8dee2aaSAndroid Build Coastguard Worker# If we try to install it ourselves after this, it won't work.
29*c8dee2aaSAndroid Build Coastguard Workeremsdk_deps()
30*c8dee2aaSAndroid Build Coastguard Worker
31*c8dee2aaSAndroid Build Coastguard Workerload("@emsdk//:emscripten_deps.bzl", emsdk_emscripten_deps = "emscripten_deps")
32*c8dee2aaSAndroid Build Coastguard Worker
33*c8dee2aaSAndroid Build Coastguard Workeremsdk_emscripten_deps(emscripten_version = "3.1.44")
34*c8dee2aaSAndroid Build Coastguard Worker
35*c8dee2aaSAndroid Build Coastguard Workerload("@bazel_toolchains//repositories:repositories.bzl", bazel_toolchains_repositories = "repositories")
36*c8dee2aaSAndroid Build Coastguard Worker
37*c8dee2aaSAndroid Build Coastguard Workerbazel_toolchains_repositories()
38*c8dee2aaSAndroid Build Coastguard Worker
39*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
40*c8dee2aaSAndroid Build Coastguard Worker    name = "rules_pkg",
41*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "8f9ee2dc10c1ae514ee599a8b42ed99fa262b757058f65ad3c384289ff70c4b8",
42*c8dee2aaSAndroid Build Coastguard Worker    urls = gcs_mirror_url(
43*c8dee2aaSAndroid Build Coastguard Worker        sha256 = "8f9ee2dc10c1ae514ee599a8b42ed99fa262b757058f65ad3c384289ff70c4b8",
44*c8dee2aaSAndroid Build Coastguard Worker        url = "https://github.com/bazelbuild/rules_pkg/releases/download/0.9.1/rules_pkg-0.9.1.tar.gz",
45*c8dee2aaSAndroid Build Coastguard Worker    ),
46*c8dee2aaSAndroid Build Coastguard Worker)
47*c8dee2aaSAndroid Build Coastguard Worker
48*c8dee2aaSAndroid Build Coastguard Workerload("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
49*c8dee2aaSAndroid Build Coastguard Worker
50*c8dee2aaSAndroid Build Coastguard Workerrules_pkg_dependencies()
51*c8dee2aaSAndroid Build Coastguard Worker
52*c8dee2aaSAndroid Build Coastguard Worker#######################################################################################
53*c8dee2aaSAndroid Build Coastguard Worker# Python
54*c8dee2aaSAndroid Build Coastguard Worker#######################################################################################
55*c8dee2aaSAndroid Build Coastguard Worker
56*c8dee2aaSAndroid Build Coastguard Worker# https://github.com/bazelbuild/rules_python
57*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
58*c8dee2aaSAndroid Build Coastguard Worker    name = "rules_python",
59*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "5fa3c738d33acca3b97622a13a741129f67ef43f5fdfcec63b29374cc0574c29",
60*c8dee2aaSAndroid Build Coastguard Worker    strip_prefix = "rules_python-0.9.0",
61*c8dee2aaSAndroid Build Coastguard Worker    urls = gcs_mirror_url(
62*c8dee2aaSAndroid Build Coastguard Worker        sha256 = "5fa3c738d33acca3b97622a13a741129f67ef43f5fdfcec63b29374cc0574c29",
63*c8dee2aaSAndroid Build Coastguard Worker        url = "https://github.com/bazelbuild/rules_python/archive/refs/tags/0.9.0.tar.gz",
64*c8dee2aaSAndroid Build Coastguard Worker    ),
65*c8dee2aaSAndroid Build Coastguard Worker)
66*c8dee2aaSAndroid Build Coastguard Worker
67*c8dee2aaSAndroid Build Coastguard Worker# This sets up a hermetic python3, rather than depending on what is installed.
68*c8dee2aaSAndroid Build Coastguard Workerload("@rules_python//python:repositories.bzl", "python_register_toolchains")
69*c8dee2aaSAndroid Build Coastguard Worker
70*c8dee2aaSAndroid Build Coastguard Workerpython_register_toolchains(
71*c8dee2aaSAndroid Build Coastguard Worker    name = "python3_9",
72*c8dee2aaSAndroid Build Coastguard Worker    # https://github.com/bazelbuild/rules_python/blob/main/python/versions.bzl
73*c8dee2aaSAndroid Build Coastguard Worker    python_version = "3.9",
74*c8dee2aaSAndroid Build Coastguard Worker)
75*c8dee2aaSAndroid Build Coastguard Worker
76*c8dee2aaSAndroid Build Coastguard Workerload("@python3_9//:defs.bzl", "interpreter")
77*c8dee2aaSAndroid Build Coastguard Workerload("@rules_python//python:pip.bzl", "pip_install")
78*c8dee2aaSAndroid Build Coastguard Worker
79*c8dee2aaSAndroid Build Coastguard Workerpip_install(
80*c8dee2aaSAndroid Build Coastguard Worker    name = "py_deps",
81*c8dee2aaSAndroid Build Coastguard Worker    python_interpreter_target = interpreter,
82*c8dee2aaSAndroid Build Coastguard Worker    requirements = "//:requirements.txt",
83*c8dee2aaSAndroid Build Coastguard Worker)
84*c8dee2aaSAndroid Build Coastguard Worker
85*c8dee2aaSAndroid Build Coastguard Worker#######################################################################################
86*c8dee2aaSAndroid Build Coastguard Worker# Gazelle
87*c8dee2aaSAndroid Build Coastguard Worker#######################################################################################
88*c8dee2aaSAndroid Build Coastguard Worker
89*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
90*c8dee2aaSAndroid Build Coastguard Worker    name = "io_bazel_rules_go",
91*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "91585017debb61982f7054c9688857a2ad1fd823fc3f9cb05048b0025c47d023",
92*c8dee2aaSAndroid Build Coastguard Worker    urls = [
93*c8dee2aaSAndroid Build Coastguard Worker        "https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.42.0/rules_go-v0.42.0.zip",
94*c8dee2aaSAndroid Build Coastguard Worker        "https://github.com/bazelbuild/rules_go/releases/download/v0.42.0/rules_go-v0.42.0.zip",
95*c8dee2aaSAndroid Build Coastguard Worker    ],
96*c8dee2aaSAndroid Build Coastguard Worker)
97*c8dee2aaSAndroid Build Coastguard Worker
98*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
99*c8dee2aaSAndroid Build Coastguard Worker    name = "bazel_gazelle",
100*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "d3fa66a39028e97d76f9e2db8f1b0c11c099e8e01bf363a923074784e451f809",
101*c8dee2aaSAndroid Build Coastguard Worker    urls = [
102*c8dee2aaSAndroid Build Coastguard Worker        "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.33.0/bazel-gazelle-v0.33.0.tar.gz",
103*c8dee2aaSAndroid Build Coastguard Worker        "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.33.0/bazel-gazelle-v0.33.0.tar.gz",
104*c8dee2aaSAndroid Build Coastguard Worker    ],
105*c8dee2aaSAndroid Build Coastguard Worker)
106*c8dee2aaSAndroid Build Coastguard Worker
107*c8dee2aaSAndroid Build Coastguard Workerload("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
108*c8dee2aaSAndroid Build Coastguard Workerload("@io_bazel_rules_go//go:deps.bzl", "go_download_sdk", "go_register_toolchains", "go_rules_dependencies")
109*c8dee2aaSAndroid Build Coastguard Workerload("//:go_repositories.bzl", "go_repositories")
110*c8dee2aaSAndroid Build Coastguard Worker
111*c8dee2aaSAndroid Build Coastguard Worker# gazelle:repository_macro go_repositories.bzl%go_repositories
112*c8dee2aaSAndroid Build Coastguard Workergo_repositories()
113*c8dee2aaSAndroid Build Coastguard Worker
114*c8dee2aaSAndroid Build Coastguard Workergo_rules_dependencies()
115*c8dee2aaSAndroid Build Coastguard Worker
116*c8dee2aaSAndroid Build Coastguard Worker# For our Linux RBE pool
117*c8dee2aaSAndroid Build Coastguard Workergo_download_sdk(
118*c8dee2aaSAndroid Build Coastguard Worker    name = "go_sdk_linux_amd64",
119*c8dee2aaSAndroid Build Coastguard Worker    goarch = "amd64",
120*c8dee2aaSAndroid Build Coastguard Worker    goos = "linux",
121*c8dee2aaSAndroid Build Coastguard Worker    version = "1.21.4",
122*c8dee2aaSAndroid Build Coastguard Worker)
123*c8dee2aaSAndroid Build Coastguard Worker
124*c8dee2aaSAndroid Build Coastguard Worker# For the host machine
125*c8dee2aaSAndroid Build Coastguard Workergo_download_sdk(
126*c8dee2aaSAndroid Build Coastguard Worker    name = "go_sdk",
127*c8dee2aaSAndroid Build Coastguard Worker    version = "1.21.4",
128*c8dee2aaSAndroid Build Coastguard Worker)
129*c8dee2aaSAndroid Build Coastguard Worker
130*c8dee2aaSAndroid Build Coastguard Worker# Do not specify a version here or it will be an error (because we
131*c8dee2aaSAndroid Build Coastguard Worker# specified the version above when downloading SDKs)
132*c8dee2aaSAndroid Build Coastguard Workergo_register_toolchains()
133*c8dee2aaSAndroid Build Coastguard Worker
134*c8dee2aaSAndroid Build Coastguard Workergazelle_dependencies(
135*c8dee2aaSAndroid Build Coastguard Worker    go_repository_default_config = "//:WORKSPACE.bazel",
136*c8dee2aaSAndroid Build Coastguard Worker    go_sdk = "go_sdk",
137*c8dee2aaSAndroid Build Coastguard Worker)
138*c8dee2aaSAndroid Build Coastguard Worker
139*c8dee2aaSAndroid Build Coastguard Worker##########################
140*c8dee2aaSAndroid Build Coastguard Worker# Other Go dependencies. #
141*c8dee2aaSAndroid Build Coastguard Worker##########################
142*c8dee2aaSAndroid Build Coastguard Worker
143*c8dee2aaSAndroid Build Coastguard Workerload("//bazel:go_googleapis_compatibility_hack.bzl", "go_googleapis_compatibility_hack")
144*c8dee2aaSAndroid Build Coastguard Worker
145*c8dee2aaSAndroid Build Coastguard Worker# Compatibility hack to make the github.com/bazelbuild/remote-apis Go module work with rules_go
146*c8dee2aaSAndroid Build Coastguard Worker# v0.41.0 or newer. See the go_googleapis() rule's docstring for details.
147*c8dee2aaSAndroid Build Coastguard Workergo_googleapis_compatibility_hack(
148*c8dee2aaSAndroid Build Coastguard Worker    name = "go_googleapis",
149*c8dee2aaSAndroid Build Coastguard Worker)
150*c8dee2aaSAndroid Build Coastguard Worker
151*c8dee2aaSAndroid Build Coastguard Worker# Needed by @com_github_bazelbuild_remote_apis.
152*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
153*c8dee2aaSAndroid Build Coastguard Worker    name = "com_google_protobuf",
154*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "b8ab9bbdf0c6968cf20060794bc61e231fae82aaf69d6e3577c154181991f576",
155*c8dee2aaSAndroid Build Coastguard Worker    strip_prefix = "protobuf-3.18.1",
156*c8dee2aaSAndroid Build Coastguard Worker    urls = gcs_mirror_url(
157*c8dee2aaSAndroid Build Coastguard Worker        sha256 = "b8ab9bbdf0c6968cf20060794bc61e231fae82aaf69d6e3577c154181991f576",
158*c8dee2aaSAndroid Build Coastguard Worker        url = "https://github.com/protocolbuffers/protobuf/releases/download/v3.18.1/protobuf-all-3.18.1.tar.gz",
159*c8dee2aaSAndroid Build Coastguard Worker    ),
160*c8dee2aaSAndroid Build Coastguard Worker)
161*c8dee2aaSAndroid Build Coastguard Worker
162*c8dee2aaSAndroid Build Coastguard Worker# Originally, we pulled protobuf dependencies as follows:
163*c8dee2aaSAndroid Build Coastguard Worker#
164*c8dee2aaSAndroid Build Coastguard Worker#     load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps")
165*c8dee2aaSAndroid Build Coastguard Worker#     protobuf_deps()
166*c8dee2aaSAndroid Build Coastguard Worker#
167*c8dee2aaSAndroid Build Coastguard Worker# The protobuf_deps() macro brings in a bunch of dependencies, but by copying the macro body here
168*c8dee2aaSAndroid Build Coastguard Worker# and removing dependencies one by one, "rules_proto" was identified as the only dependency that is
169*c8dee2aaSAndroid Build Coastguard Worker# required to build this repository.
170*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
171*c8dee2aaSAndroid Build Coastguard Worker    name = "rules_proto",
172*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "a4382f78723af788f0bc19fd4c8411f44ffe0a72723670a34692ffad56ada3ac",
173*c8dee2aaSAndroid Build Coastguard Worker    strip_prefix = "rules_proto-f7a30f6f80006b591fa7c437fe5a951eb10bcbcf",
174*c8dee2aaSAndroid Build Coastguard Worker    urls = ["https://github.com/bazelbuild/rules_proto/archive/f7a30f6f80006b591fa7c437fe5a951eb10bcbcf.zip"],
175*c8dee2aaSAndroid Build Coastguard Worker)
176*c8dee2aaSAndroid Build Coastguard Worker
177*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
178*c8dee2aaSAndroid Build Coastguard Worker    name = "com_google_googleapis",
179*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "38701e513aff81c89f0f727e925bf04ac4883913d03a60cdebb2c2a5f10beb40",
180*c8dee2aaSAndroid Build Coastguard Worker    strip_prefix = "googleapis-86fa44cc5ee2136e87c312f153113d4dd8e9c4de",
181*c8dee2aaSAndroid Build Coastguard Worker    urls = [
182*c8dee2aaSAndroid Build Coastguard Worker        "https://github.com/googleapis/googleapis/archive/86fa44cc5ee2136e87c312f153113d4dd8e9c4de.tar.gz",
183*c8dee2aaSAndroid Build Coastguard Worker    ],
184*c8dee2aaSAndroid Build Coastguard Worker)
185*c8dee2aaSAndroid Build Coastguard Worker
186*c8dee2aaSAndroid Build Coastguard Worker# Needed by @com_github_bazelbuild_remote_apis for the googleapis protos.
187*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
188*c8dee2aaSAndroid Build Coastguard Worker    name = "googleapis",
189*c8dee2aaSAndroid Build Coastguard Worker    build_file = "BUILD.googleapis",
190*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "7b6ea252f0b8fb5cd722f45feb83e115b689909bbb6a393a873b6cbad4ceae1d",
191*c8dee2aaSAndroid Build Coastguard Worker    strip_prefix = "googleapis-143084a2624b6591ee1f9d23e7f5241856642f4d",
192*c8dee2aaSAndroid Build Coastguard Worker    urls = gcs_mirror_url(
193*c8dee2aaSAndroid Build Coastguard Worker        sha256 = "7b6ea252f0b8fb5cd722f45feb83e115b689909bbb6a393a873b6cbad4ceae1d",
194*c8dee2aaSAndroid Build Coastguard Worker        # b/267219467
195*c8dee2aaSAndroid Build Coastguard Worker        url = "https://github.com/googleapis/googleapis/archive/143084a2624b6591ee1f9d23e7f5241856642f4d.zip",
196*c8dee2aaSAndroid Build Coastguard Worker    ),
197*c8dee2aaSAndroid Build Coastguard Worker)
198*c8dee2aaSAndroid Build Coastguard Worker
199*c8dee2aaSAndroid Build Coastguard Workerload("@com_google_googleapis//:repository_rules.bzl", googleapis_imports_switched_rules_by_language = "switched_rules_by_language")
200*c8dee2aaSAndroid Build Coastguard Worker
201*c8dee2aaSAndroid Build Coastguard Workergoogleapis_imports_switched_rules_by_language(
202*c8dee2aaSAndroid Build Coastguard Worker    name = "com_google_googleapis_imports",
203*c8dee2aaSAndroid Build Coastguard Worker    go = True,
204*c8dee2aaSAndroid Build Coastguard Worker    grpc = True,
205*c8dee2aaSAndroid Build Coastguard Worker)
206*c8dee2aaSAndroid Build Coastguard Worker
207*c8dee2aaSAndroid Build Coastguard Worker# Needed by @com_github_bazelbuild_remote_apis for gRPC.
208*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
209*c8dee2aaSAndroid Build Coastguard Worker    name = "com_github_grpc_grpc",
210*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "b391a327429279f6f29b9ae7e5317cd80d5e9d49cc100e6d682221af73d984a6",
211*c8dee2aaSAndroid Build Coastguard Worker    strip_prefix = "grpc-93e8830070e9afcbaa992c75817009ee3f4b63a0",  # v1.24.3 with fixes
212*c8dee2aaSAndroid Build Coastguard Worker    urls = gcs_mirror_url(
213*c8dee2aaSAndroid Build Coastguard Worker        sha256 = "b391a327429279f6f29b9ae7e5317cd80d5e9d49cc100e6d682221af73d984a6",
214*c8dee2aaSAndroid Build Coastguard Worker        # Fix after https://github.com/grpc/grpc/issues/32259 is resolved
215*c8dee2aaSAndroid Build Coastguard Worker        url = "https://github.com/grpc/grpc/archive/93e8830070e9afcbaa992c75817009ee3f4b63a0.zip",
216*c8dee2aaSAndroid Build Coastguard Worker    ),
217*c8dee2aaSAndroid Build Coastguard Worker)
218*c8dee2aaSAndroid Build Coastguard Worker
219*c8dee2aaSAndroid Build Coastguard Worker# Originally, we pulled gRPC dependencies as follows:
220*c8dee2aaSAndroid Build Coastguard Worker#
221*c8dee2aaSAndroid Build Coastguard Worker#     load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
222*c8dee2aaSAndroid Build Coastguard Worker#     grpc_deps()
223*c8dee2aaSAndroid Build Coastguard Worker#
224*c8dee2aaSAndroid Build Coastguard Worker# The grpc_deps() macro brings in a bunch of dependencies, but by copying the macro body here
225*c8dee2aaSAndroid Build Coastguard Worker# and removing dependencies one by one, "zlib" was identified as the only dependency that is
226*c8dee2aaSAndroid Build Coastguard Worker# required to build this repository.
227*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
228*c8dee2aaSAndroid Build Coastguard Worker    name = "zlib",
229*c8dee2aaSAndroid Build Coastguard Worker    build_file = "@com_github_grpc_grpc//third_party:zlib.BUILD",
230*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "6d4d6640ca3121620995ee255945161821218752b551a1a180f4215f7d124d45",
231*c8dee2aaSAndroid Build Coastguard Worker    strip_prefix = "zlib-cacf7f1d4e3d44d871b605da3b647f07d718623f",
232*c8dee2aaSAndroid Build Coastguard Worker    url = "https://github.com/madler/zlib/archive/cacf7f1d4e3d44d871b605da3b647f07d718623f.tar.gz",
233*c8dee2aaSAndroid Build Coastguard Worker)
234*c8dee2aaSAndroid Build Coastguard Worker
235*c8dee2aaSAndroid Build Coastguard Worker###################################################
236*c8dee2aaSAndroid Build Coastguard Worker# JavaScript / TypeScript rules and dependencies. #
237*c8dee2aaSAndroid Build Coastguard Worker###################################################
238*c8dee2aaSAndroid Build Coastguard Worker
239*c8dee2aaSAndroid Build Coastguard Worker# The npm_install rule runs anytime the package.json or package-lock.json file changes. It also
240*c8dee2aaSAndroid Build Coastguard Worker# extracts any Bazel rules distributed in an npm package.
241*c8dee2aaSAndroid Build Coastguard Workerload("@build_bazel_rules_nodejs//:index.bzl", "npm_install")
242*c8dee2aaSAndroid Build Coastguard Worker
243*c8dee2aaSAndroid Build Coastguard Worker# Manages the node_modules directory.
244*c8dee2aaSAndroid Build Coastguard Workernpm_install(
245*c8dee2aaSAndroid Build Coastguard Worker    name = "npm",
246*c8dee2aaSAndroid Build Coastguard Worker    package_json = "//:package.json",
247*c8dee2aaSAndroid Build Coastguard Worker    package_lock_json = "//:package-lock.json",
248*c8dee2aaSAndroid Build Coastguard Worker)
249*c8dee2aaSAndroid Build Coastguard Worker
250*c8dee2aaSAndroid Build Coastguard Worker# io_bazel_rules_webtesting allows us to download browsers in a hermetic, repeatable way. This
251*c8dee2aaSAndroid Build Coastguard Worker# currently includes Chromium and Firefox. Note that the version on this does not necessarily
252*c8dee2aaSAndroid Build Coastguard Worker# match the version below of the browsers-X.Y.Z below that is available.
253*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
254*c8dee2aaSAndroid Build Coastguard Worker    name = "io_bazel_rules_webtesting",
255*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "e9abb7658b6a129740c0b3ef6f5a2370864e102a5ba5ffca2cea565829ed825a",
256*c8dee2aaSAndroid Build Coastguard Worker    urls = gcs_mirror_url(
257*c8dee2aaSAndroid Build Coastguard Worker        sha256 = "e9abb7658b6a129740c0b3ef6f5a2370864e102a5ba5ffca2cea565829ed825a",
258*c8dee2aaSAndroid Build Coastguard Worker        url = "https://github.com/bazelbuild/rules_webtesting/releases/download/0.3.5/rules_webtesting.tar.gz",
259*c8dee2aaSAndroid Build Coastguard Worker    ),
260*c8dee2aaSAndroid Build Coastguard Worker)
261*c8dee2aaSAndroid Build Coastguard Worker
262*c8dee2aaSAndroid Build Coastguard Worker# https://github.com/bazelbuild/rules_webtesting/blob/e9cf17123068b1123c68219edf9b274bf057b9cc/web/versioned/browsers-0.3.3.bzl
263*c8dee2aaSAndroid Build Coastguard Workerload("@io_bazel_rules_webtesting//web/versioned:browsers-0.3.3.bzl", "browser_repositories")
264*c8dee2aaSAndroid Build Coastguard Worker
265*c8dee2aaSAndroid Build Coastguard Workerbrowser_repositories(
266*c8dee2aaSAndroid Build Coastguard Worker    chromium = True,
267*c8dee2aaSAndroid Build Coastguard Worker    firefox = True,
268*c8dee2aaSAndroid Build Coastguard Worker)
269*c8dee2aaSAndroid Build Coastguard Worker
270*c8dee2aaSAndroid Build Coastguard Worker###################################################
271*c8dee2aaSAndroid Build Coastguard Worker# Rust rules and dependencies.                    #
272*c8dee2aaSAndroid Build Coastguard Worker###################################################
273*c8dee2aaSAndroid Build Coastguard Worker
274*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
275*c8dee2aaSAndroid Build Coastguard Worker    name = "rules_rust",
276*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "671ddb3fe5ebcf9dd34d051eca7352fbaf33fa53bf61eed0b75a4c34829e5480",
277*c8dee2aaSAndroid Build Coastguard Worker    urls = gcs_mirror_url(
278*c8dee2aaSAndroid Build Coastguard Worker        sha256 = "671ddb3fe5ebcf9dd34d051eca7352fbaf33fa53bf61eed0b75a4c34829e5480",
279*c8dee2aaSAndroid Build Coastguard Worker        url = "https://github.com/bazelbuild/rules_rust/releases/download/0.52.2/rules_rust-v0.52.2.tar.gz",
280*c8dee2aaSAndroid Build Coastguard Worker    ),
281*c8dee2aaSAndroid Build Coastguard Worker)
282*c8dee2aaSAndroid Build Coastguard Worker
283*c8dee2aaSAndroid Build Coastguard Workerload("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains")
284*c8dee2aaSAndroid Build Coastguard Worker
285*c8dee2aaSAndroid Build Coastguard Worker# https://github.com/bazelbuild/rules_rust/blob/5c715ec50602e2ba6ca2ebfdd870662a6e6d1eda/rust/repositories.bzl#L48
286*c8dee2aaSAndroid Build Coastguard Workerrules_rust_dependencies()
287*c8dee2aaSAndroid Build Coastguard Worker
288*c8dee2aaSAndroid Build Coastguard Workerrust_register_toolchains(
289*c8dee2aaSAndroid Build Coastguard Worker    edition = "2021",
290*c8dee2aaSAndroid Build Coastguard Worker    extra_target_triples = [
291*c8dee2aaSAndroid Build Coastguard Worker        "aarch64-apple-darwin",
292*c8dee2aaSAndroid Build Coastguard Worker        "aarch64-apple-ios",
293*c8dee2aaSAndroid Build Coastguard Worker    ],
294*c8dee2aaSAndroid Build Coastguard Worker    versions = [
295*c8dee2aaSAndroid Build Coastguard Worker        # supported versions from https://github.com/bazelbuild/rules_rust/blob/5c715ec50602e2ba6ca2ebfdd870662a6e6d1eda/util/fetch_shas_VERSIONS.txt
296*c8dee2aaSAndroid Build Coastguard Worker        # The rust rules validate a toolchain by sha256 hash, as listed in https://github.com/bazelbuild/rules_rust/blob/5c715ec50602e2ba6ca2ebfdd870662a6e6d1eda/rust/known_shas.bzl
297*c8dee2aaSAndroid Build Coastguard Worker        "1.76.0",
298*c8dee2aaSAndroid Build Coastguard Worker    ],
299*c8dee2aaSAndroid Build Coastguard Worker)
300*c8dee2aaSAndroid Build Coastguard Worker
301*c8dee2aaSAndroid Build Coastguard Worker# https://bazelbuild.github.io/rules_rust/crate_universe.html
302*c8dee2aaSAndroid Build Coastguard Workerload("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies")
303*c8dee2aaSAndroid Build Coastguard Worker
304*c8dee2aaSAndroid Build Coastguard Workercrate_universe_dependencies()
305*c8dee2aaSAndroid Build Coastguard Worker
306*c8dee2aaSAndroid Build Coastguard Worker# cxxbridge-cmd is a binary only Rust crate, so we follow these instructions for it
307*c8dee2aaSAndroid Build Coastguard Worker# http://bazelbuild.github.io/rules_rust/crate_universe.html#binary-dependencies
308*c8dee2aaSAndroid Build Coastguard Worker# If we need to update this, replace the Cargo.lock files with empty (existing) files and then
309*c8dee2aaSAndroid Build Coastguard Worker# CARGO_BAZEL_REPIN=1 bazel sync --only=crate_index
310*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
311*c8dee2aaSAndroid Build Coastguard Worker    name = "cxxbridge_cmd",
312*c8dee2aaSAndroid Build Coastguard Worker    build_file = "//bazel/external/cxxbridge_cmd:BUILD.bazel.skia",
313*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "5b12e3f7b0477bd2e469107b778d333171cae561a555e96157e67bbd9f42e54f",
314*c8dee2aaSAndroid Build Coastguard Worker    strip_prefix = "cxxbridge-cmd-1.0.131",
315*c8dee2aaSAndroid Build Coastguard Worker    type = "tar.gz",
316*c8dee2aaSAndroid Build Coastguard Worker    urls = gcs_mirror_url(
317*c8dee2aaSAndroid Build Coastguard Worker        ext = ".tar.gz",
318*c8dee2aaSAndroid Build Coastguard Worker        sha256 = "5b12e3f7b0477bd2e469107b778d333171cae561a555e96157e67bbd9f42e54f",
319*c8dee2aaSAndroid Build Coastguard Worker        url = "https://crates.io/api/v1/crates/cxxbridge-cmd/1.0.131/download",
320*c8dee2aaSAndroid Build Coastguard Worker    ),
321*c8dee2aaSAndroid Build Coastguard Worker)
322*c8dee2aaSAndroid Build Coastguard Worker
323*c8dee2aaSAndroid Build Coastguard Workerload("@rules_rust//crate_universe:defs.bzl", "crate", "crates_repository")
324*c8dee2aaSAndroid Build Coastguard Worker
325*c8dee2aaSAndroid Build Coastguard Worker# This finds all the dependencies needed to build cxxbridge_cmd...
326*c8dee2aaSAndroid Build Coastguard Workercrates_repository(
327*c8dee2aaSAndroid Build Coastguard Worker    name = "cxxbridge_cmd_deps",
328*c8dee2aaSAndroid Build Coastguard Worker    cargo_lockfile = "//bazel/external/cxxbridge_cmd:Cargo.lock",
329*c8dee2aaSAndroid Build Coastguard Worker    manifests = ["@cxxbridge_cmd//:Cargo.toml"],
330*c8dee2aaSAndroid Build Coastguard Worker)
331*c8dee2aaSAndroid Build Coastguard Worker
332*c8dee2aaSAndroid Build Coastguard Workerload("@cxxbridge_cmd_deps//:defs.bzl", cxxbridge_cmd_deps = "crate_repositories")
333*c8dee2aaSAndroid Build Coastguard Worker
334*c8dee2aaSAndroid Build Coastguard Worker# ... and adds them to the workspace.
335*c8dee2aaSAndroid Build Coastguard Workercxxbridge_cmd_deps()
336*c8dee2aaSAndroid Build Coastguard Worker
337*c8dee2aaSAndroid Build Coastguard Worker# The cxx crate needs a custom BUILD.bazel file because the one that would be autogenerated
338*c8dee2aaSAndroid Build Coastguard Worker# by http://bazelbuild.github.io/rules_rust/crate_universe.html#direct-packages does not work.
339*c8dee2aaSAndroid Build Coastguard Worker# Thus, we download it ourselves, as if it were a binary-only package.
340*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
341*c8dee2aaSAndroid Build Coastguard Worker    name = "cxx",
342*c8dee2aaSAndroid Build Coastguard Worker    build_file = "//bazel/external/cxx:BUILD.bazel.skia",
343*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "2568d7d2cfc051e43414fe1ef80c712cbcd60c3624d1ad1cb4b2572324d0a5d9",
344*c8dee2aaSAndroid Build Coastguard Worker    strip_prefix = "cxx-1.0.131",
345*c8dee2aaSAndroid Build Coastguard Worker    type = "tar.gz",
346*c8dee2aaSAndroid Build Coastguard Worker    urls = gcs_mirror_url(
347*c8dee2aaSAndroid Build Coastguard Worker        ext = ".tar.gz",
348*c8dee2aaSAndroid Build Coastguard Worker        sha256 = "2568d7d2cfc051e43414fe1ef80c712cbcd60c3624d1ad1cb4b2572324d0a5d9",
349*c8dee2aaSAndroid Build Coastguard Worker        url = "https://crates.io/api/v1/crates/cxx/1.0.131/download",
350*c8dee2aaSAndroid Build Coastguard Worker    ),
351*c8dee2aaSAndroid Build Coastguard Worker)
352*c8dee2aaSAndroid Build Coastguard Worker
353*c8dee2aaSAndroid Build Coastguard Worker# This finds all the dependencies needed to build cxx...
354*c8dee2aaSAndroid Build Coastguard Workercrates_repository(
355*c8dee2aaSAndroid Build Coastguard Worker    name = "cxx_deps",
356*c8dee2aaSAndroid Build Coastguard Worker    cargo_lockfile = "//bazel/external/cxx:Cargo.lock",
357*c8dee2aaSAndroid Build Coastguard Worker    manifests = ["@cxx//:Cargo.toml"],
358*c8dee2aaSAndroid Build Coastguard Worker)
359*c8dee2aaSAndroid Build Coastguard Worker
360*c8dee2aaSAndroid Build Coastguard Workerload("@cxx_deps//:defs.bzl", cxx_deps = "crate_repositories")
361*c8dee2aaSAndroid Build Coastguard Worker
362*c8dee2aaSAndroid Build Coastguard Worker# ... and adds them to the workspace.
363*c8dee2aaSAndroid Build Coastguard Workercxx_deps()
364*c8dee2aaSAndroid Build Coastguard Worker
365*c8dee2aaSAndroid Build Coastguard Worker# The fontations repository consists of multiple crates. We download those
366*c8dee2aaSAndroid Build Coastguard Worker# listed in the external/fontations/Cargo.* files.
367*c8dee2aaSAndroid Build Coastguard Worker# Add this entry to have a root repository from which the individual
368*c8dee2aaSAndroid Build Coastguard Worker# fontations crates can be fetched.
369*c8dee2aaSAndroid Build Coastguard Worker# This allows them to be used as deps in other bazel targets.
370*c8dee2aaSAndroid Build Coastguard Workercrates_repository(
371*c8dee2aaSAndroid Build Coastguard Worker    name = "fontations",
372*c8dee2aaSAndroid Build Coastguard Worker    cargo_lockfile = "//bazel/external/fontations:Cargo.lock",
373*c8dee2aaSAndroid Build Coastguard Worker    manifests = ["//bazel/external/fontations:Cargo.toml"],
374*c8dee2aaSAndroid Build Coastguard Worker)
375*c8dee2aaSAndroid Build Coastguard Worker
376*c8dee2aaSAndroid Build Coastguard Workerload("@fontations//:defs.bzl", fontations_crates = "crate_repositories")
377*c8dee2aaSAndroid Build Coastguard Worker
378*c8dee2aaSAndroid Build Coastguard Workerfontations_crates()
379*c8dee2aaSAndroid Build Coastguard Worker
380*c8dee2aaSAndroid Build Coastguard Worker# The icu4x repository consists of multiple crates. We download those
381*c8dee2aaSAndroid Build Coastguard Worker# listed in the external/icu4x/Cargo.* files.
382*c8dee2aaSAndroid Build Coastguard Worker# Add this entry to have a root repository from which the individual
383*c8dee2aaSAndroid Build Coastguard Worker# icu4x crates can be fetched.
384*c8dee2aaSAndroid Build Coastguard Worker# This allows them to be used as deps in other bazel targets.
385*c8dee2aaSAndroid Build Coastguard Workercrates_repository(
386*c8dee2aaSAndroid Build Coastguard Worker    name = "icu4x_deps",
387*c8dee2aaSAndroid Build Coastguard Worker    cargo_lockfile = "//bazel/external/icu4x:Cargo.lock",
388*c8dee2aaSAndroid Build Coastguard Worker    manifests = ["//bazel/external/icu4x:Cargo.toml"],
389*c8dee2aaSAndroid Build Coastguard Worker)
390*c8dee2aaSAndroid Build Coastguard Worker
391*c8dee2aaSAndroid Build Coastguard Workerload("@icu4x_deps//:defs.bzl", icu4x_deps = "crate_repositories")
392*c8dee2aaSAndroid Build Coastguard Worker
393*c8dee2aaSAndroid Build Coastguard Workericu4x_deps()
394*c8dee2aaSAndroid Build Coastguard Worker
395*c8dee2aaSAndroid Build Coastguard Worker# The repository of third-party crates (currently just the `png` crate)
396*c8dee2aaSAndroid Build Coastguard Worker# to support `//experimental/rust_png` code.
397*c8dee2aaSAndroid Build Coastguard Workercrates_repository(
398*c8dee2aaSAndroid Build Coastguard Worker    name = "rust_png",
399*c8dee2aaSAndroid Build Coastguard Worker    annotations = {
400*c8dee2aaSAndroid Build Coastguard Worker        "png": [crate.annotation(
401*c8dee2aaSAndroid Build Coastguard Worker            patch_args = ["-p6"],
402*c8dee2aaSAndroid Build Coastguard Worker            # Patches from https://crrev.com/c/5922033:
403*c8dee2aaSAndroid Build Coastguard Worker            # New public API for `png` crate: `fn next_frame_info`.
404*c8dee2aaSAndroid Build Coastguard Worker            #
405*c8dee2aaSAndroid Build Coastguard Worker            # TODO(lukasza, kjlubick): Remove this whole annotation once a new
406*c8dee2aaSAndroid Build Coastguard Worker            # version of `png` is released on crates.io (presumably including
407*c8dee2aaSAndroid Build Coastguard Worker            # the already merged PRs).
408*c8dee2aaSAndroid Build Coastguard Worker            patches = [
409*c8dee2aaSAndroid Build Coastguard Worker                "@//experimental/rust_png/patches:0101-Add-test-coverage-for-PolledAfterEndOfImage-error.patch",
410*c8dee2aaSAndroid Build Coastguard Worker                "@//experimental/rust_png/patches:0102-Add-test-showing-next_frame-after-next_row-is-tempor.patch",
411*c8dee2aaSAndroid Build Coastguard Worker                "@//experimental/rust_png/patches:0103-Call-finish_decoding-after-last-next_row.patch",
412*c8dee2aaSAndroid Build Coastguard Worker                "@//experimental/rust_png/patches:0104-Simplify-how-Reader-tracks-how-many-frames-remain-to.patch",
413*c8dee2aaSAndroid Build Coastguard Worker                "@//experimental/rust_png/patches:0105-Fix-a-subset-of-issues-identified-by-cargo-clippy.patch",
414*c8dee2aaSAndroid Build Coastguard Worker                "@//experimental/rust_png/patches:0106-Avoid-infinite-loop-when-retrying-after-earlier-fata.patch",
415*c8dee2aaSAndroid Build Coastguard Worker                "@//experimental/rust_png/patches:0107-New-API-Reader.next_frame_control-for-advancing-to-t.patch",
416*c8dee2aaSAndroid Build Coastguard Worker                "@//experimental/rust_png/patches:0201-Add-EXIF-and-ICC-encoding-and-fix-chunk-order.patch",
417*c8dee2aaSAndroid Build Coastguard Worker                "@//experimental/rust_png/patches:0301-Add-support-for-parsing-mDCv-and-cLLi-chunks.-528.patch",
418*c8dee2aaSAndroid Build Coastguard Worker                "@//experimental/rust_png/patches:0302-Add-support-for-parsing-cICP-chunks.-529.patch",
419*c8dee2aaSAndroid Build Coastguard Worker            ],
420*c8dee2aaSAndroid Build Coastguard Worker        )],
421*c8dee2aaSAndroid Build Coastguard Worker    },
422*c8dee2aaSAndroid Build Coastguard Worker    cargo_lockfile = "//experimental/rust_png/ffi:Cargo.lock",
423*c8dee2aaSAndroid Build Coastguard Worker    packages = {
424*c8dee2aaSAndroid Build Coastguard Worker        "png": crate.spec(
425*c8dee2aaSAndroid Build Coastguard Worker            # Note: for additional performance gains `features = ["unstable"]`
426*c8dee2aaSAndroid Build Coastguard Worker            # can be enabled, but this requires the nightly, unstable `rustc`.
427*c8dee2aaSAndroid Build Coastguard Worker            version = "0.17",
428*c8dee2aaSAndroid Build Coastguard Worker        ),
429*c8dee2aaSAndroid Build Coastguard Worker    },
430*c8dee2aaSAndroid Build Coastguard Worker)
431*c8dee2aaSAndroid Build Coastguard Worker
432*c8dee2aaSAndroid Build Coastguard Workerload("@rust_png//:defs.bzl", rust_png_crates = "crate_repositories")
433*c8dee2aaSAndroid Build Coastguard Worker
434*c8dee2aaSAndroid Build Coastguard Workerrust_png_crates()
435*c8dee2aaSAndroid Build Coastguard Worker
436*c8dee2aaSAndroid Build Coastguard Worker# Skia uses crates from the vello repository that are under development and have not been published
437*c8dee2aaSAndroid Build Coastguard Worker# to crates.io. Normally we could fetch them directly from the git mirror in the Cargo.lock file as
438*c8dee2aaSAndroid Build Coastguard Worker# Bazel supports compiling them without any custom build rules. However, since Bazel's repository
439*c8dee2aaSAndroid Build Coastguard Worker# rules don't play well with the vello_shader crate's build script, we compile the vello
440*c8dee2aaSAndroid Build Coastguard Worker# crates from source using the rules defined in bazel/external/vello/BUILD.bazel and the
441*c8dee2aaSAndroid Build Coastguard Worker# new_git_repository rule.
442*c8dee2aaSAndroid Build Coastguard Worker#
443*c8dee2aaSAndroid Build Coastguard Worker# vello_deps contains the dependencies of the two crates we build out of the vello repo (namely
444*c8dee2aaSAndroid Build Coastguard Worker# vello_shaders and vello_encoding).
445*c8dee2aaSAndroid Build Coastguard Worker#
446*c8dee2aaSAndroid Build Coastguard Worker# See comments in bazel/external/vello/BUILD.bazel for more information.
447*c8dee2aaSAndroid Build Coastguard Workercrates_repository(
448*c8dee2aaSAndroid Build Coastguard Worker    name = "vello_deps",
449*c8dee2aaSAndroid Build Coastguard Worker    cargo_lockfile = "//bazel/external/vello:Cargo.lock",
450*c8dee2aaSAndroid Build Coastguard Worker    manifests = ["//bazel/external/vello:Cargo.toml"],
451*c8dee2aaSAndroid Build Coastguard Worker)
452*c8dee2aaSAndroid Build Coastguard Worker
453*c8dee2aaSAndroid Build Coastguard Workerload("@vello_deps//:defs.bzl", vello_deps = "crate_repositories")
454*c8dee2aaSAndroid Build Coastguard Worker
455*c8dee2aaSAndroid Build Coastguard Workervello_deps()
456*c8dee2aaSAndroid Build Coastguard Worker
457*c8dee2aaSAndroid Build Coastguard Worker###############################################################
458*c8dee2aaSAndroid Build Coastguard Worker
459*c8dee2aaSAndroid Build Coastguard Worker# Bazel will look for env variables ANDROID_HOME and ANDROID_NDK_HOME.
460*c8dee2aaSAndroid Build Coastguard Worker# This is NOT hermetic as it requires the user to handle downloading the SDK  and accepting the
461*c8dee2aaSAndroid Build Coastguard Worker# license independently.
462*c8dee2aaSAndroid Build Coastguard Workerandroid_sdk_repository(name = "androidsdk")
463*c8dee2aaSAndroid Build Coastguard Worker# TODO: skbug.com/14128
464*c8dee2aaSAndroid Build Coastguard Worker# Uncomment the following after setting ANDROID_NDK_HOME to build for Android:
465*c8dee2aaSAndroid Build Coastguard Worker# android_ndk_repository(name = "androidndk")
466*c8dee2aaSAndroid Build Coastguard Worker
467*c8dee2aaSAndroid Build Coastguard Worker# Clients must specify their own version of skia_user_config to overwrite SkUserConfig.h
468*c8dee2aaSAndroid Build Coastguard Workerlocal_repository(
469*c8dee2aaSAndroid Build Coastguard Worker    name = "skia_user_config",
470*c8dee2aaSAndroid Build Coastguard Worker    path = "include/config",
471*c8dee2aaSAndroid Build Coastguard Worker)
472*c8dee2aaSAndroid Build Coastguard Worker
473*c8dee2aaSAndroid Build Coastguard Worker# This are two lists of Bazel repository names, which is brought in by the following macro.
474*c8dee2aaSAndroid Build Coastguard Worker# It is here for easier grepping, i.e. someone trying to find where a label like @brotli//:brotlidec
475*c8dee2aaSAndroid Build Coastguard Worker# was defined. If a dep has its own BUILD rules, then one will need to go to its git repository
476*c8dee2aaSAndroid Build Coastguard Worker# to find the BUILD or BUILD.bazel file with the rule. If a dep does not have Bazel support, then
477*c8dee2aaSAndroid Build Coastguard Worker# that means someone on the Skia team wrote a BUILD.bazel file and put it in
478*c8dee2aaSAndroid Build Coastguard Worker# //bazel/external/<dep_name> and one can go find it there.
479*c8dee2aaSAndroid Build Coastguard Worker#
480*c8dee2aaSAndroid Build Coastguard Worker#### START GENERATED LIST OF THIRD_PARTY DEPS
481*c8dee2aaSAndroid Build Coastguard Worker# @abseil_cpp - https://skia.googlesource.com/external/github.com/abseil/abseil-cpp.git
482*c8dee2aaSAndroid Build Coastguard Worker# @brotli - https://skia.googlesource.com/external/github.com/google/brotli.git
483*c8dee2aaSAndroid Build Coastguard Worker# @highway - https://chromium.googlesource.com/external/github.com/google/highway.git
484*c8dee2aaSAndroid Build Coastguard Worker# @spirv_headers - https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git
485*c8dee2aaSAndroid Build Coastguard Worker# @spirv_tools - https://skia.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git
486*c8dee2aaSAndroid Build Coastguard Worker#
487*c8dee2aaSAndroid Build Coastguard Worker# @dawn - //bazel/external/dawn:BUILD.bazel
488*c8dee2aaSAndroid Build Coastguard Worker# @delaunator - //bazel/external/delaunator:BUILD.bazel
489*c8dee2aaSAndroid Build Coastguard Worker# @dng_sdk - //bazel/external/dng_sdk:BUILD.bazel
490*c8dee2aaSAndroid Build Coastguard Worker# @expat - //bazel/external/expat:BUILD.bazel
491*c8dee2aaSAndroid Build Coastguard Worker# @freetype - //bazel/external/freetype:BUILD.bazel
492*c8dee2aaSAndroid Build Coastguard Worker# @harfbuzz - //bazel/external/harfbuzz:BUILD.bazel
493*c8dee2aaSAndroid Build Coastguard Worker# @icu - //bazel/external/icu:BUILD.bazel
494*c8dee2aaSAndroid Build Coastguard Worker# @icu4x - //bazel/external/icu4x:BUILD.bazel
495*c8dee2aaSAndroid Build Coastguard Worker# @imgui - //bazel/external/imgui:BUILD.bazel
496*c8dee2aaSAndroid Build Coastguard Worker# @libavif - //bazel/external/libavif:BUILD.bazel
497*c8dee2aaSAndroid Build Coastguard Worker# @libgav1 - //bazel/external/libgav1:BUILD.bazel
498*c8dee2aaSAndroid Build Coastguard Worker# @libjpeg_turbo - //bazel/external/libjpeg_turbo:BUILD.bazel
499*c8dee2aaSAndroid Build Coastguard Worker# @libjxl - //bazel/external/libjxl:BUILD.bazel
500*c8dee2aaSAndroid Build Coastguard Worker# @libpng - //bazel/external/libpng:BUILD.bazel
501*c8dee2aaSAndroid Build Coastguard Worker# @libwebp - //bazel/external/libwebp:BUILD.bazel
502*c8dee2aaSAndroid Build Coastguard Worker# @libyuv - //bazel/external/libyuv:BUILD.bazel
503*c8dee2aaSAndroid Build Coastguard Worker# @perfetto - //bazel/external/perfetto:BUILD.bazel
504*c8dee2aaSAndroid Build Coastguard Worker# @piex - //bazel/external/piex:BUILD.bazel
505*c8dee2aaSAndroid Build Coastguard Worker# @spirv_cross - //bazel/external/spirv_cross:BUILD.bazel
506*c8dee2aaSAndroid Build Coastguard Worker# @vello - //bazel/external/vello:BUILD.bazel
507*c8dee2aaSAndroid Build Coastguard Worker# @vulkan_headers - //bazel/external/vulkan_headers:BUILD.bazel
508*c8dee2aaSAndroid Build Coastguard Worker# @vulkan_tools - //bazel/external/vulkan_tools:BUILD.bazel
509*c8dee2aaSAndroid Build Coastguard Worker# @vulkan_utility_libraries - //bazel/external/vulkan_utility_libraries:BUILD.bazel
510*c8dee2aaSAndroid Build Coastguard Worker# @vulkanmemoryallocator - //bazel/external/vulkanmemoryallocator:BUILD.bazel
511*c8dee2aaSAndroid Build Coastguard Worker# @wuffs - //bazel/external/wuffs:BUILD.bazel
512*c8dee2aaSAndroid Build Coastguard Worker# @zlib_skia - //bazel/external/zlib_skia:BUILD.bazel
513*c8dee2aaSAndroid Build Coastguard Worker#### END GENERATED LIST OF THIRD_PARTY DEPS
514*c8dee2aaSAndroid Build Coastguard Workerc_plus_plus_deps()
515*c8dee2aaSAndroid Build Coastguard Worker
516*c8dee2aaSAndroid Build Coastguard Worker# In order to copy the Freetype configurations into the checked out Freetype folder,
517*c8dee2aaSAndroid Build Coastguard Worker# it is easiest to treat them as a third-party dependency from the perspective of Freetype.
518*c8dee2aaSAndroid Build Coastguard Worker# To do that, we put them in their own Bazel workspace and then have our injected BUILD.bazel
519*c8dee2aaSAndroid Build Coastguard Worker# for Freetype reference this workspace.
520*c8dee2aaSAndroid Build Coastguard Worker# https://bazel.build/reference/be/workspace#new_local_repository
521*c8dee2aaSAndroid Build Coastguard Workerlocal_repository(
522*c8dee2aaSAndroid Build Coastguard Worker    name = "freetype_config",
523*c8dee2aaSAndroid Build Coastguard Worker    path = "third_party/freetype2/include",
524*c8dee2aaSAndroid Build Coastguard Worker)
525*c8dee2aaSAndroid Build Coastguard Worker
526*c8dee2aaSAndroid Build Coastguard Workerlocal_repository(
527*c8dee2aaSAndroid Build Coastguard Worker    name = "harfbuzz_config",
528*c8dee2aaSAndroid Build Coastguard Worker    path = "third_party/harfbuzz",
529*c8dee2aaSAndroid Build Coastguard Worker)
530*c8dee2aaSAndroid Build Coastguard Worker
531*c8dee2aaSAndroid Build Coastguard Workerlocal_repository(
532*c8dee2aaSAndroid Build Coastguard Worker    name = "icu_utils",
533*c8dee2aaSAndroid Build Coastguard Worker    path = "third_party/icu",
534*c8dee2aaSAndroid Build Coastguard Worker)
535*c8dee2aaSAndroid Build Coastguard Worker
536*c8dee2aaSAndroid Build Coastguard Workerlocal_repository(
537*c8dee2aaSAndroid Build Coastguard Worker    name = "expat_config",
538*c8dee2aaSAndroid Build Coastguard Worker    path = "third_party/expat/include",
539*c8dee2aaSAndroid Build Coastguard Worker)
540*c8dee2aaSAndroid Build Coastguard Worker
541*c8dee2aaSAndroid Build Coastguard Workerload("//bazel:cipd_install.bzl", "cipd_install")
542*c8dee2aaSAndroid Build Coastguard Worker
543*c8dee2aaSAndroid Build Coastguard Workercipd_install(
544*c8dee2aaSAndroid Build Coastguard Worker    name = "git_linux_amd64",
545*c8dee2aaSAndroid Build Coastguard Worker    build_file_content = """
546*c8dee2aaSAndroid Build Coastguard Workerfilegroup(
547*c8dee2aaSAndroid Build Coastguard Worker  name = "all_files",
548*c8dee2aaSAndroid Build Coastguard Worker  # The exclude pattern prevents files with spaces in their names from tripping up Bazel.
549*c8dee2aaSAndroid Build Coastguard Worker  srcs = glob(include=["**/*"], exclude=["**/* *"]),
550*c8dee2aaSAndroid Build Coastguard Worker  visibility = ["//visibility:public"],
551*c8dee2aaSAndroid Build Coastguard Worker)
552*c8dee2aaSAndroid Build Coastguard Worker""",
553*c8dee2aaSAndroid Build Coastguard Worker    cipd_package = "infra/3pp/tools/git/linux-amd64",
554*c8dee2aaSAndroid Build Coastguard Worker    # Based on
555*c8dee2aaSAndroid Build Coastguard Worker    # https://skia.googlesource.com/buildbot/+/f1d21dc58818cd6aba0a7822e59d37636aefe936/WORKSPACE#391.
556*c8dee2aaSAndroid Build Coastguard Worker    #
557*c8dee2aaSAndroid Build Coastguard Worker    # Note that the below "git config" commands do not affect the user's Git configuration. These
558*c8dee2aaSAndroid Build Coastguard Worker    # settings are only visible to Bazel targets that depend on @git_linux_amd64//:all_files via
559*c8dee2aaSAndroid Build Coastguard Worker    # the "data" attribute. The result of these commands can be examined as follows:
560*c8dee2aaSAndroid Build Coastguard Worker    #
561*c8dee2aaSAndroid Build Coastguard Worker    #     $ cat $(bazel info output_base)/external/git_linux_amd64/etc/gitconfig
562*c8dee2aaSAndroid Build Coastguard Worker    #     [user]
563*c8dee2aaSAndroid Build Coastguard Worker    #             name = Bazel Test User
564*c8dee2aaSAndroid Build Coastguard Worker    #             email = [email protected]
565*c8dee2aaSAndroid Build Coastguard Worker    postinstall_cmds_posix = [
566*c8dee2aaSAndroid Build Coastguard Worker        "mkdir etc",
567*c8dee2aaSAndroid Build Coastguard Worker        "bin/git config --system user.name \"Bazel Test User\"",
568*c8dee2aaSAndroid Build Coastguard Worker        "bin/git config --system user.email \"[email protected]\"",
569*c8dee2aaSAndroid Build Coastguard Worker    ],
570*c8dee2aaSAndroid Build Coastguard Worker    # From https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/git/linux-amd64/+/version:2.29.2.chromium.6
571*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "36cb96051827d6a3f6f59c5461996fe9490d997bcd2b351687d87dcd4a9b40fa",
572*c8dee2aaSAndroid Build Coastguard Worker    tag = "version:2.29.2.chromium.6",
573*c8dee2aaSAndroid Build Coastguard Worker)
574*c8dee2aaSAndroid Build Coastguard Worker
575*c8dee2aaSAndroid Build Coastguard Workercipd_install(
576*c8dee2aaSAndroid Build Coastguard Worker    name = "gn_linux_amd64",
577*c8dee2aaSAndroid Build Coastguard Worker    build_file_content = """
578*c8dee2aaSAndroid Build Coastguard Workerexports_files(
579*c8dee2aaSAndroid Build Coastguard Worker    ["gn"],
580*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//visibility:public"]
581*c8dee2aaSAndroid Build Coastguard Worker)
582*c8dee2aaSAndroid Build Coastguard Worker""",
583*c8dee2aaSAndroid Build Coastguard Worker    cipd_package = "gn/gn/linux-amd64",
584*c8dee2aaSAndroid Build Coastguard Worker    # From https://chrome-infra-packages.appspot.com/p/gn/gn/linux-amd64/+/git_revision:1c4151ff5c1d6fbf7fa800b8d4bb34d3abc03a41
585*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "7195291488d08f3a10e85b85d8c4816e077015f1c5f196f770003a97aa42caf8",
586*c8dee2aaSAndroid Build Coastguard Worker    tag = "git_revision:1c4151ff5c1d6fbf7fa800b8d4bb34d3abc03a41",
587*c8dee2aaSAndroid Build Coastguard Worker)
588*c8dee2aaSAndroid Build Coastguard Worker
589*c8dee2aaSAndroid Build Coastguard Workercipd_install(
590*c8dee2aaSAndroid Build Coastguard Worker    name = "gn_mac_arm64",
591*c8dee2aaSAndroid Build Coastguard Worker    build_file_content = """
592*c8dee2aaSAndroid Build Coastguard Workerexports_files(
593*c8dee2aaSAndroid Build Coastguard Worker    ["gn"],
594*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//visibility:public"]
595*c8dee2aaSAndroid Build Coastguard Worker)
596*c8dee2aaSAndroid Build Coastguard Worker""",
597*c8dee2aaSAndroid Build Coastguard Worker    cipd_package = "gn/gn/mac-arm64",
598*c8dee2aaSAndroid Build Coastguard Worker    # From https://chrome-infra-packages.appspot.com/p/gn/gn/mac-arm64/+/git_revision:1c4151ff5c1d6fbf7fa800b8d4bb34d3abc03a41
599*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "1123907ac3317530e9dd537d50cd83fd83e852aacc07d286f45753c8fc5287ed",
600*c8dee2aaSAndroid Build Coastguard Worker    tag = "git_revision:1c4151ff5c1d6fbf7fa800b8d4bb34d3abc03a41",
601*c8dee2aaSAndroid Build Coastguard Worker)
602*c8dee2aaSAndroid Build Coastguard Worker
603*c8dee2aaSAndroid Build Coastguard Workercipd_install(
604*c8dee2aaSAndroid Build Coastguard Worker    name = "gn_mac_amd64",
605*c8dee2aaSAndroid Build Coastguard Worker    build_file_content = """
606*c8dee2aaSAndroid Build Coastguard Workerexports_files(
607*c8dee2aaSAndroid Build Coastguard Worker    ["gn"],
608*c8dee2aaSAndroid Build Coastguard Worker    visibility = ["//visibility:public"]
609*c8dee2aaSAndroid Build Coastguard Worker)
610*c8dee2aaSAndroid Build Coastguard Worker""",
611*c8dee2aaSAndroid Build Coastguard Worker    cipd_package = "gn/gn/mac-amd64",
612*c8dee2aaSAndroid Build Coastguard Worker    # From https://chrome-infra-packages.appspot.com/p/gn/gn/mac-amd64/+/git_revision:1c4151ff5c1d6fbf7fa800b8d4bb34d3abc03a41
613*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "ed96f7d2f49b83b016e4bdbed432e4734a5a133accb025d7c07685e01489ba93",
614*c8dee2aaSAndroid Build Coastguard Worker    tag = "git_revision:1c4151ff5c1d6fbf7fa800b8d4bb34d3abc03a41",
615*c8dee2aaSAndroid Build Coastguard Worker)
616*c8dee2aaSAndroid Build Coastguard Worker
617*c8dee2aaSAndroid Build Coastguard Workercipd_install(
618*c8dee2aaSAndroid Build Coastguard Worker    name = "skimage",
619*c8dee2aaSAndroid Build Coastguard Worker    build_file = "//bazel/external/skimage:BUILD.bazel",
620*c8dee2aaSAndroid Build Coastguard Worker    cipd_package = "skia/bots/skimage",
621*c8dee2aaSAndroid Build Coastguard Worker    # From https://chrome-infra-packages.appspot.com/p/skia/bots/skimage/+/sRladEfUAXeYIBD3Pt3ke0Fd08vtYVLrg4IASKk5F6YC
622*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "b1195a7447d40177982010f73edde47b415dd3cbed6152eb83820048a93917a6",
623*c8dee2aaSAndroid Build Coastguard Worker    tag = "version:47",
624*c8dee2aaSAndroid Build Coastguard Worker)
625*c8dee2aaSAndroid Build Coastguard Worker
626*c8dee2aaSAndroid Build Coastguard Workerhttp_file(
627*c8dee2aaSAndroid Build Coastguard Worker    name = "buildifier_linux_x64",
628*c8dee2aaSAndroid Build Coastguard Worker    downloaded_file_path = "buildifier",
629*c8dee2aaSAndroid Build Coastguard Worker    executable = True,
630*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "be63db12899f48600bad94051123b1fd7b5251e7661b9168582ce52396132e92",
631*c8dee2aaSAndroid Build Coastguard Worker    urls = gcs_mirror_url(
632*c8dee2aaSAndroid Build Coastguard Worker        ext = "",
633*c8dee2aaSAndroid Build Coastguard Worker        sha256 = "be63db12899f48600bad94051123b1fd7b5251e7661b9168582ce52396132e92",
634*c8dee2aaSAndroid Build Coastguard Worker        url = "https://github.com/bazelbuild/buildtools/releases/download/v6.4.0/buildifier-linux-amd64",
635*c8dee2aaSAndroid Build Coastguard Worker    ),
636*c8dee2aaSAndroid Build Coastguard Worker)
637*c8dee2aaSAndroid Build Coastguard Worker
638*c8dee2aaSAndroid Build Coastguard Workerhttp_file(
639*c8dee2aaSAndroid Build Coastguard Worker    name = "buildifier_macos_arm64",
640*c8dee2aaSAndroid Build Coastguard Worker    downloaded_file_path = "buildifier",
641*c8dee2aaSAndroid Build Coastguard Worker    executable = True,
642*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "fa07ba0d20165917ca4cc7609f9b19a8a4392898148b7babdf6bb2a7dd963f05",
643*c8dee2aaSAndroid Build Coastguard Worker    urls = gcs_mirror_url(
644*c8dee2aaSAndroid Build Coastguard Worker        ext = "",
645*c8dee2aaSAndroid Build Coastguard Worker        sha256 = "fa07ba0d20165917ca4cc7609f9b19a8a4392898148b7babdf6bb2a7dd963f05",
646*c8dee2aaSAndroid Build Coastguard Worker        url = "https://github.com/bazelbuild/buildtools/releases/download/v6.4.0/buildifier-darwin-arm64",
647*c8dee2aaSAndroid Build Coastguard Worker    ),
648*c8dee2aaSAndroid Build Coastguard Worker)
649*c8dee2aaSAndroid Build Coastguard Worker
650*c8dee2aaSAndroid Build Coastguard Workerhttp_file(
651*c8dee2aaSAndroid Build Coastguard Worker    name = "buildifier_macos_x64",
652*c8dee2aaSAndroid Build Coastguard Worker    downloaded_file_path = "buildifier",
653*c8dee2aaSAndroid Build Coastguard Worker    executable = True,
654*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "eeb47b2de27f60efe549348b183fac24eae80f1479e8b06cac0799c486df5bed",
655*c8dee2aaSAndroid Build Coastguard Worker    urls = gcs_mirror_url(
656*c8dee2aaSAndroid Build Coastguard Worker        ext = "",
657*c8dee2aaSAndroid Build Coastguard Worker        sha256 = "eeb47b2de27f60efe549348b183fac24eae80f1479e8b06cac0799c486df5bed",
658*c8dee2aaSAndroid Build Coastguard Worker        url = "https://github.com/bazelbuild/buildtools/releases/download/v6.4.0/buildifier-darwin-amd64",
659*c8dee2aaSAndroid Build Coastguard Worker    ),
660*c8dee2aaSAndroid Build Coastguard Worker)
661*c8dee2aaSAndroid Build Coastguard Worker
662*c8dee2aaSAndroid Build Coastguard Worker##################################
663*c8dee2aaSAndroid Build Coastguard Worker# Docker rules and dependencies. #
664*c8dee2aaSAndroid Build Coastguard Worker##################################
665*c8dee2aaSAndroid Build Coastguard Worker
666*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
667*c8dee2aaSAndroid Build Coastguard Worker    name = "io_bazel_rules_docker",
668*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "b1e80761a8a8243d03ebca8845e9cc1ba6c82ce7c5179ce2b295cd36f7e394bf",
669*c8dee2aaSAndroid Build Coastguard Worker    urls = gcs_mirror_url(
670*c8dee2aaSAndroid Build Coastguard Worker        sha256 = "b1e80761a8a8243d03ebca8845e9cc1ba6c82ce7c5179ce2b295cd36f7e394bf",
671*c8dee2aaSAndroid Build Coastguard Worker        url = "https://github.com/bazelbuild/rules_docker/releases/download/v0.25.0/rules_docker-v0.25.0.tar.gz",
672*c8dee2aaSAndroid Build Coastguard Worker    ),
673*c8dee2aaSAndroid Build Coastguard Worker)
674*c8dee2aaSAndroid Build Coastguard Worker
675*c8dee2aaSAndroid Build Coastguard Workerload(
676*c8dee2aaSAndroid Build Coastguard Worker    "@io_bazel_rules_docker//repositories:repositories.bzl",
677*c8dee2aaSAndroid Build Coastguard Worker    container_repositories = "repositories",
678*c8dee2aaSAndroid Build Coastguard Worker)
679*c8dee2aaSAndroid Build Coastguard Worker
680*c8dee2aaSAndroid Build Coastguard Workercontainer_repositories()
681*c8dee2aaSAndroid Build Coastguard Worker
682*c8dee2aaSAndroid Build Coastguard Worker# This is required by the toolchain_container rule.
683*c8dee2aaSAndroid Build Coastguard Workerload(
684*c8dee2aaSAndroid Build Coastguard Worker    "@io_bazel_rules_docker//repositories:go_repositories.bzl",
685*c8dee2aaSAndroid Build Coastguard Worker    container_go_deps = "go_deps",
686*c8dee2aaSAndroid Build Coastguard Worker)
687*c8dee2aaSAndroid Build Coastguard Worker
688*c8dee2aaSAndroid Build Coastguard Workercontainer_go_deps()
689*c8dee2aaSAndroid Build Coastguard Worker
690*c8dee2aaSAndroid Build Coastguard Workerload(
691*c8dee2aaSAndroid Build Coastguard Worker    "@io_bazel_rules_docker//container:container.bzl",
692*c8dee2aaSAndroid Build Coastguard Worker    "container_pull",
693*c8dee2aaSAndroid Build Coastguard Worker)
694*c8dee2aaSAndroid Build Coastguard Worker
695*c8dee2aaSAndroid Build Coastguard Worker# Pulls the gcr.io/skia-public/debugger-app-base container.
696*c8dee2aaSAndroid Build Coastguard Workercontainer_pull(
697*c8dee2aaSAndroid Build Coastguard Worker    name = "debugger-app-base",
698*c8dee2aaSAndroid Build Coastguard Worker    digest = "sha256:e9a6ea69ff3d616e5757891be54a232902b65f790d69655dab25048abacbd84d",
699*c8dee2aaSAndroid Build Coastguard Worker    registry = "gcr.io",
700*c8dee2aaSAndroid Build Coastguard Worker    repository = "skia-public/debugger-app-base",
701*c8dee2aaSAndroid Build Coastguard Worker)
702*c8dee2aaSAndroid Build Coastguard Worker
703*c8dee2aaSAndroid Build Coastguard Worker# Pulls the gcr.io/skia-public/jsfiddle-base container.
704*c8dee2aaSAndroid Build Coastguard Workercontainer_pull(
705*c8dee2aaSAndroid Build Coastguard Worker    name = "jsfiddle-base",
706*c8dee2aaSAndroid Build Coastguard Worker    digest = "sha256:fb2d48f7af982ed974832b6eef330985af8f640f5168188bbea3986543d4af90",
707*c8dee2aaSAndroid Build Coastguard Worker    registry = "gcr.io",
708*c8dee2aaSAndroid Build Coastguard Worker    repository = "skia-public/jsfiddle-base",
709*c8dee2aaSAndroid Build Coastguard Worker)
710*c8dee2aaSAndroid Build Coastguard Worker
711*c8dee2aaSAndroid Build Coastguard Worker# Pulls the gcr.io/skia-public/shaders-base container.
712*c8dee2aaSAndroid Build Coastguard Workercontainer_pull(
713*c8dee2aaSAndroid Build Coastguard Worker    name = "shaders-base",
714*c8dee2aaSAndroid Build Coastguard Worker    digest = "sha256:9481c3eb25d23889071ead9351254cc96b295c5290794cb4a13298134d1c5b57",
715*c8dee2aaSAndroid Build Coastguard Worker    registry = "gcr.io",
716*c8dee2aaSAndroid Build Coastguard Worker    repository = "skia-public/shaders-base",
717*c8dee2aaSAndroid Build Coastguard Worker)
718*c8dee2aaSAndroid Build Coastguard Worker
719*c8dee2aaSAndroid Build Coastguard Worker# Pulls the gcr.io/skia-public/skottie-base container.
720*c8dee2aaSAndroid Build Coastguard Workercontainer_pull(
721*c8dee2aaSAndroid Build Coastguard Worker    name = "skottie-base",
722*c8dee2aaSAndroid Build Coastguard Worker    digest = "sha256:32e4afed6d80609923d419fd854ed7a999b6a3bf53efc09713c0488e908fc7f9",
723*c8dee2aaSAndroid Build Coastguard Worker    registry = "gcr.io",
724*c8dee2aaSAndroid Build Coastguard Worker    repository = "skia-public/skottie-base",
725*c8dee2aaSAndroid Build Coastguard Worker)
726*c8dee2aaSAndroid Build Coastguard Worker
727*c8dee2aaSAndroid Build Coastguard Workerhttp_archive(
728*c8dee2aaSAndroid Build Coastguard Worker    name = "build_bazel_rules_apple",
729*c8dee2aaSAndroid Build Coastguard Worker    sha256 = "62847b3f444ce514ae386704a119ad7b29fa6dfb65a38bff4ae239f2389a0429",
730*c8dee2aaSAndroid Build Coastguard Worker    url = "https://github.com/bazelbuild/rules_apple/releases/download/3.8.0/rules_apple.3.8.0.tar.gz",
731*c8dee2aaSAndroid Build Coastguard Worker)
732*c8dee2aaSAndroid Build Coastguard Worker
733*c8dee2aaSAndroid Build Coastguard Workerload(
734*c8dee2aaSAndroid Build Coastguard Worker    "@build_bazel_rules_apple//apple:repositories.bzl",
735*c8dee2aaSAndroid Build Coastguard Worker    "apple_rules_dependencies",
736*c8dee2aaSAndroid Build Coastguard Worker)
737*c8dee2aaSAndroid Build Coastguard Worker
738*c8dee2aaSAndroid Build Coastguard Workerapple_rules_dependencies()
739*c8dee2aaSAndroid Build Coastguard Worker
740*c8dee2aaSAndroid Build Coastguard Workerload(
741*c8dee2aaSAndroid Build Coastguard Worker    "@build_bazel_rules_swift//swift:repositories.bzl",
742*c8dee2aaSAndroid Build Coastguard Worker    "swift_rules_dependencies",
743*c8dee2aaSAndroid Build Coastguard Worker)
744*c8dee2aaSAndroid Build Coastguard Worker
745*c8dee2aaSAndroid Build Coastguard Workerswift_rules_dependencies()
746*c8dee2aaSAndroid Build Coastguard Worker
747*c8dee2aaSAndroid Build Coastguard Workerload(
748*c8dee2aaSAndroid Build Coastguard Worker    "@build_bazel_rules_swift//swift:extras.bzl",
749*c8dee2aaSAndroid Build Coastguard Worker    "swift_rules_extra_dependencies",
750*c8dee2aaSAndroid Build Coastguard Worker)
751*c8dee2aaSAndroid Build Coastguard Worker
752*c8dee2aaSAndroid Build Coastguard Workerswift_rules_extra_dependencies()
753*c8dee2aaSAndroid Build Coastguard Worker
754*c8dee2aaSAndroid Build Coastguard Workerload(
755*c8dee2aaSAndroid Build Coastguard Worker    "@build_bazel_apple_support//lib:repositories.bzl",
756*c8dee2aaSAndroid Build Coastguard Worker    "apple_support_dependencies",
757*c8dee2aaSAndroid Build Coastguard Worker)
758*c8dee2aaSAndroid Build Coastguard Worker
759*c8dee2aaSAndroid Build Coastguard Workerapple_support_dependencies()
760