75 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
load("@io_bazel_rules_go//go:def.bzl", "go_binary")
 | 
						|
load("//tools/bzl:genrule2.bzl", "genrule2")
 | 
						|
 | 
						|
package(default_visibility = ["//visibility:public"])
 | 
						|
 | 
						|
genrule2(
 | 
						|
    name = "fonts",
 | 
						|
    srcs = [
 | 
						|
        "//lib/fonts:robotofonts",
 | 
						|
    ],
 | 
						|
    outs = ["fonts.zip"],
 | 
						|
    cmd = " && ".join([
 | 
						|
        "mkdir -p $$TMP/fonts",
 | 
						|
        "cp $(SRCS) $$TMP/fonts/",
 | 
						|
        "cd $$TMP",
 | 
						|
        "find fonts/ -exec touch -t 198001010000 '{}' ';'",
 | 
						|
        "zip -qr $$ROOT/$@ fonts",
 | 
						|
    ]),
 | 
						|
    output_to_bindir = 1,
 | 
						|
)
 | 
						|
 | 
						|
go_binary(
 | 
						|
    name = "devserver",
 | 
						|
    srcs = ["server.go"],
 | 
						|
    data = [
 | 
						|
        ":fonts.zip",
 | 
						|
        "@ui_dev_npm//:node_modules",
 | 
						|
        "@ui_npm//:node_modules",
 | 
						|
    ],
 | 
						|
    deps = [
 | 
						|
        "@org_golang_x_tools//godoc/vfs/httpfs:go_default_library",
 | 
						|
        "@org_golang_x_tools//godoc/vfs/zipfs:go_default_library",
 | 
						|
    ],
 | 
						|
)
 | 
						|
 | 
						|
# Define a karma+plugins binary to run karma-mocha tests.
 | 
						|
# Can be reused multiple time, if there are multiple karma test rules
 | 
						|
sh_binary(
 | 
						|
    name = "karma_bin",
 | 
						|
    srcs = ["@ui_dev_npm//:node_modules/karma/bin/karma"],
 | 
						|
    data = [
 | 
						|
        "@ui_dev_npm//@open-wc/karma-esm",
 | 
						|
        "@ui_dev_npm//chai",
 | 
						|
        "@ui_dev_npm//karma-chrome-launcher",
 | 
						|
        "@ui_dev_npm//karma-mocha",
 | 
						|
        "@ui_dev_npm//karma-mocha-reporter",
 | 
						|
        "@ui_dev_npm//karma/bin:karma",
 | 
						|
        "@ui_dev_npm//mocha",
 | 
						|
    ],
 | 
						|
)
 | 
						|
 | 
						|
# Run all tests in one.
 | 
						|
# TODO(dmfilippov): allow parallel tests for karma - either on the bazel level
 | 
						|
# or on the karma level. For now single sh_test is enough.
 | 
						|
sh_test(
 | 
						|
    name = "karma_test",
 | 
						|
    size = "enormous",
 | 
						|
    srcs = ["karma_test.sh"],
 | 
						|
    args = [
 | 
						|
        "$(location :karma_bin)",
 | 
						|
        "$(location karma.conf.js)",
 | 
						|
    ],
 | 
						|
    data = [
 | 
						|
        "karma.conf.js",
 | 
						|
        ":karma_bin",
 | 
						|
        "//polygerrit-ui/app:test-srcs-fg",
 | 
						|
    ],
 | 
						|
    # Should not run sandboxed.
 | 
						|
    tags = [
 | 
						|
        "karma",
 | 
						|
        "local",
 | 
						|
        "manual",
 | 
						|
    ],
 | 
						|
)
 |