25a7797820
- We always download from https - All external assets have a primary and a mirror URL. - We prioritize the sources as follows: bazel mirror, github/original source, our mirror - There is a way (see build_toolchain) to test the sources from the mirrors (done before CL submission). This adds a utility to upload files to the mirror in a consistent, scripted way. It includes a way to copy in parts of our bazel files (e.g. debs_to_install from toolchain/build_toolchain.bzl) to update many things at once. Our Bazel mirror (gs://skia-world-readable/bazel) is a Content Addressable Storage system, where the file name is based on the sha256sum of the contents (the same hash that Bazel uses). All files in it should be publicly accessible. Change-Id: Ida8b8e07d27a0a557bc49467ebbc86c806cabbd3 Bug: skia:12541 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/494478 Reviewed-by: Joe Gregorio <jcgregorio@google.com>
85 lines
3.1 KiB
Plaintext
85 lines
3.1 KiB
Plaintext
workspace(name = "skia")
|
|
|
|
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
|
load("//toolchain:build_toolchain.bzl", "build_cpp_toolchain")
|
|
|
|
# See https://github.com/emscripten-core/emsdk/tree/85d27a4a2a60d591613a305b14ae438c2bb3ce11/bazel#setup-instructions
|
|
http_archive(
|
|
name = "emsdk",
|
|
sha256 = "a2c5f3cf36525cf6a4b569f9d25500e3b2f7341c6e6779b54bcf4703b834202d",
|
|
strip_prefix = "emsdk-3.1.0/bazel",
|
|
urls = [
|
|
"https://github.com/emscripten-core/emsdk/archive/refs/tags/3.1.0.tar.gz",
|
|
"https://storage.googleapis.com/skia-world-readable/bazel/a2c5f3cf36525cf6a4b569f9d25500e3b2f7341c6e6779b54bcf4703b834202d.tar.gz",
|
|
],
|
|
)
|
|
|
|
load("@emsdk//:deps.bzl", emsdk_deps = "deps")
|
|
|
|
emsdk_deps()
|
|
|
|
load("@emsdk//:emscripten_deps.bzl", emsdk_emscripten_deps = "emscripten_deps")
|
|
|
|
emsdk_emscripten_deps(emscripten_version = "3.1.0")
|
|
|
|
build_cpp_toolchain(
|
|
# Meant to run on amd64 linux and compile for amd64 linux.
|
|
name = "clang_linux_amd64",
|
|
)
|
|
|
|
http_archive(
|
|
name = "bazel_skylib",
|
|
sha256 = "c6966ec828da198c5d9adbaa94c05e3a1c7f21bd012a0b29ba8ddbccb2c93b0d",
|
|
urls = [
|
|
"https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.1.1/bazel-skylib-1.1.1.tar.gz",
|
|
"https://github.com/bazelbuild/bazel-skylib/releases/download/1.1.1/bazel-skylib-1.1.1.tar.gz",
|
|
],
|
|
)
|
|
|
|
load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace")
|
|
|
|
bazel_skylib_workspace()
|
|
|
|
http_archive(
|
|
name = "rules_python",
|
|
sha256 = "cd6730ed53a002c56ce4e2f396ba3b3be262fd7cb68339f0377a45e8227fe332",
|
|
urls = [
|
|
"https://mirror.bazel.build/github.com/bazelbuild/rules_python/releases/download/0.5.0/rules_python-0.5.0.tar.gz",
|
|
"https://github.com/bazelbuild/rules_python/releases/download/0.5.0/rules_python-0.5.0.tar.gz",
|
|
],
|
|
)
|
|
|
|
#######################################################################################
|
|
# Gazelle
|
|
#######################################################################################
|
|
http_archive(
|
|
name = "io_bazel_rules_go",
|
|
sha256 = "2b1641428dff9018f9e85c0384f03ec6c10660d935b750e3fa1492a281a53b0f",
|
|
urls = [
|
|
"https://mirror.bazel.build/github.com/bazelbuild/rules_go/releases/download/v0.29.0/rules_go-v0.29.0.zip",
|
|
"https://github.com/bazelbuild/rules_go/releases/download/v0.29.0/rules_go-v0.29.0.zip",
|
|
],
|
|
)
|
|
|
|
http_archive(
|
|
name = "bazel_gazelle",
|
|
sha256 = "de69a09dc70417580aabf20a28619bb3ef60d038470c7cf8442fafcf627c21cb",
|
|
urls = [
|
|
"https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
|
|
"https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.24.0/bazel-gazelle-v0.24.0.tar.gz",
|
|
],
|
|
)
|
|
|
|
load("@io_bazel_rules_go//go:deps.bzl", "go_register_toolchains", "go_rules_dependencies")
|
|
load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
|
|
load("//:go_repositories.bzl", "go_repositories")
|
|
|
|
# gazelle:repository_macro go_repositories.bzl%go_repositories
|
|
go_repositories()
|
|
|
|
go_rules_dependencies()
|
|
|
|
go_register_toolchains(version = "1.17.2")
|
|
|
|
gazelle_dependencies(go_repository_default_config = "//:WORKSPACE.bazel")
|