| load("//bazel:oci-extract.bzl", "oci_extract") |
| load("//infra-sk:index.bzl", "bool_flag") |
| |
| bool_flag( |
| default = True, |
| flag_name = "use_libraries_from_container", |
| ) |
| |
| # This target makes the wasm binaries and js files available for tests. This is not the same |
| # as ../build because we want to be able to control which binaries get used when we deploy a |
| # container, but we are less stringent when running tests on the infra CI. |
| oci_extract( |
| name = "fetch_canvaskit_wasm", |
| testonly = True, |
| image = "@pinned_jsfiddle", |
| paths = { |
| "/usr/local/share/jsfiddle/dist/index.d.ts": "from_container/canvaskit.d.ts", |
| "/usr/local/share/jsfiddle/dist/canvaskit.js": "from_container/canvaskit.js", |
| "/usr/local/share/jsfiddle/dist/canvaskit.wasm": "from_container/canvaskit.wasm", |
| }, |
| tags = ["manual"], # Exclude it from wildcard queries, e.g. "bazel build //...". |
| visibility = ["//jsfiddle:__subpackages__"], |
| ) |
| |
| filegroup( |
| name = "canvaskit.d.ts", |
| srcs = select({ |
| ":use_libraries_from_container_true": ["from_container/canvaskit.d.ts"], |
| ":use_libraries_from_container_false": ["local_build/canvaskit.d.ts"], |
| }), |
| visibility = ["//jsfiddle:__subpackages__"], |
| ) |
| |
| filegroup( |
| name = "canvaskit.js", |
| srcs = select({ |
| ":use_libraries_from_container_true": ["from_container/canvaskit.js"], |
| ":use_libraries_from_container_false": ["local_build/canvaskit.js"], |
| }), |
| visibility = ["//jsfiddle:__subpackages__"], |
| ) |
| |
| filegroup( |
| name = "canvaskit.wasm", |
| srcs = select({ |
| ":use_libraries_from_container_true": ["from_container/canvaskit.wasm"], |
| ":use_libraries_from_container_false": ["local_build/canvaskit.wasm"], |
| }), |
| visibility = ["//jsfiddle:__subpackages__"], |
| ) |
| |
| genrule( |
| name = "make version file", |
| outs = ["version.js"], |
| # We use LATEST here to make Puppeteer tests more deterministic. |
| cmd = """echo "const SKIA_VERSION = 'LATEST';" > $@""", |
| visibility = ["//jsfiddle:__subpackages__"], |
| ) |