blob: c64e43cfc12a678857bf47465de44923ca5028fd [file] [log] [blame]
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library")
load("@bazel_gazelle//:def.bzl", "gazelle")
# gazelle:prefix go.skia.org/infra
gazelle(name = "gazelle")
exports_files(["tsconfig.json"], visibility = ["//visibility:public"])
####################################################################################################
# Support for "~"-prefixed Sass imports of elements-sk styles, e.g.: #
# #
# @import '~elements-sk/themes/themes'; #
# #
# This hack is necessary to maintain compatibility with the Webpack build, which uses the #
# css-loader plugin to inline CSS imports. Said plugin adds all NPM packages to the Sass compiler #
# import path with the "~" prefix. See https://webpack.js.org/loaders/css-loader/#import for more. #
####################################################################################################
ELEMENTS_SK_SCSS = [
# To regenerate this list, please run the following Bash command:
#
# $ find infra-sk/node_modules/elements-sk -name "*.scss" \
# | sed -E "s/infra-sk\//\/\/infra-sk:/" | sort
"//infra-sk:node_modules/elements-sk/checkbox-sk/checkbox-sk.scss",
"//infra-sk:node_modules/elements-sk/collapse-sk/collapse-sk.scss",
"//infra-sk:node_modules/elements-sk/colors.scss",
"//infra-sk:node_modules/elements-sk/icon/icon-sk.scss",
"//infra-sk:node_modules/elements-sk/multi-select-sk/multi-select-sk.scss",
"//infra-sk:node_modules/elements-sk/nav-links-sk/nav-links-sk.scss",
"//infra-sk:node_modules/elements-sk/radio-sk/radio-sk.scss",
"//infra-sk:node_modules/elements-sk/select-sk/select-sk.scss",
"//infra-sk:node_modules/elements-sk/spinner-sk/spinner-sk.scss",
"//infra-sk:node_modules/elements-sk/styles/buttons/buttons.scss",
"//infra-sk:node_modules/elements-sk/styles/select/select.scss",
"//infra-sk:node_modules/elements-sk/styles/table/table.scss",
"//infra-sk:node_modules/elements-sk/tabs-panel-sk/tabs-panel-sk.scss",
"//infra-sk:node_modules/elements-sk/tabs-sk/tabs-sk.scss",
"//infra-sk:node_modules/elements-sk/themes/color-palette.scss",
"//infra-sk:node_modules/elements-sk/themes/themes.scss",
"//infra-sk:node_modules/elements-sk/toast-sk/toast-sk.scss",
]
TILDE_ELEMENTS_SK_SCSS = [f.replace("//infra-sk:node_modules/", "~") for f in ELEMENTS_SK_SCSS]
# Recursively copies all *.scss files from //infra-sk/node_modules/elements-sk to //~elements-sk.
genrule(
name = "~elements-sk_generator",
srcs = ELEMENTS_SK_SCSS,
outs = TILDE_ELEMENTS_SK_SCSS,
cmd =
"for FILENAME in $(SRCS); do " +
" TILDE_FILENAME=`echo $$FILENAME | sed -E 's/infra-sk\\/node_modules\\/(.*)/~\\1/'`; " +
" TILDE_DIR=$$(dirname $$TILDE_FILENAME); " +
" mkdir -p $(RULEDIR)/$$TILDE_DIR; " +
" cp $$FILENAME $(RULEDIR)/$$TILDE_FILENAME; " +
"done",
)
# Do not use directly. Use //infra-sk:elements-sk_scss instead, which includes these files as well.
filegroup(
name = "~elements-sk",
srcs = TILDE_ELEMENTS_SK_SCSS,
visibility = ["//infra-sk:__pkg__"],
)