| load(":rules.bzl", "polygerrit_bundle", "wct_suite") |
| load("//tools/js:eslint.bzl", "eslint") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| polygerrit_bundle( |
| name = "polygerrit_ui", |
| srcs = glob( |
| [ |
| "**/*.js", |
| ], |
| exclude = [ |
| "node_modules/**", |
| "node_modules_licenses/**", |
| "test/**", |
| "**/*_test.html", |
| "**/*_test.js", |
| ], |
| ), |
| outs = ["polygerrit_ui.zip"], |
| entry_point = "elements/gr-app.js", |
| ) |
| |
| filegroup( |
| name = "pg_code", |
| srcs = glob( |
| [ |
| "**/*.html", |
| "**/*.js", |
| ], |
| exclude = [ |
| "node_modules/**", |
| "node_modules_licenses/**", |
| ], |
| ), |
| ) |
| |
| filegroup( |
| name = "pg_code_without_test", |
| srcs = glob( |
| [ |
| "**/*.html", |
| "**/*.js", |
| ], |
| exclude = [ |
| "node_modules/**", |
| "node_modules_licenses/**", |
| "**/*_test.html", |
| "test/**", |
| "samples/**", |
| "**/*_test.js", |
| ], |
| ), |
| ) |
| |
| # Workaround for https://github.com/bazelbuild/bazel/issues/1305 |
| filegroup( |
| name = "test-srcs-fg", |
| srcs = [ |
| "test/common-test-setup.js", |
| "test/common-test-setup-karma.js", |
| "test/index.html", |
| ":pg_code", |
| "@ui_dev_npm//:node_modules", |
| "@ui_npm//:node_modules", |
| ], |
| ) |
| |
| wct_suite( |
| name = "wct", |
| srcs = [":test-srcs-fg"], |
| split_count = 4, |
| ) |
| |
| # Define the eslinter for polygerrit-ui app |
| # The eslint macro creates 2 rules: lint_test and lint_bin |
| eslint( |
| name = "lint", |
| srcs = [":test-srcs-fg"], |
| config = ".eslintrc-bazel.js", |
| # The .eslintrc-bazel.js extends the .eslintrc.js config, pass it as a dependency |
| data = [".eslintrc.js"], |
| extensions = [ |
| ".html", |
| ".js", |
| ], |
| ignore = ".eslintignore", |
| plugins = [ |
| "@npm//eslint-config-google", |
| "@npm//eslint-plugin-html", |
| "@npm//eslint-plugin-import", |
| "@npm//eslint-plugin-jsdoc", |
| "@npm//eslint-plugin-prettier", |
| ], |
| ) |
| |
| # Workaround for https://github.com/bazelbuild/bazel/issues/1305 |
| filegroup( |
| name = "polylint-fg", |
| srcs = [ |
| ":pg_code_without_test", |
| "@ui_npm//:node_modules", |
| ], |
| ) |
| |
| sh_test( |
| name = "polylint_test", |
| size = "large", |
| srcs = ["polylint_test.sh"], |
| args = [ |
| "$(location @tools_npm//polymer-cli/bin:polymer)", |
| "$(location polymer.json)", |
| ], |
| data = [ |
| "polymer.json", |
| ":polylint-fg", |
| "@tools_npm//polymer-cli/bin:polymer", |
| ], |
| # Should not run sandboxed. |
| tags = [ |
| "local", |
| "manual", |
| ], |
| ) |
| |
| DIRECTORIES = [ |
| "admin", |
| "change", |
| "change-list", |
| "core", |
| "diff", |
| "edit", |
| "plugins", |
| "settings", |
| "shared", |
| "gr-app", |
| ] |
| |
| [sh_test( |
| name = "template_test_" + directory, |
| size = "enormous", |
| srcs = ["template_test.sh"], |
| args = [directory], |
| data = [ |
| ":pg_code", |
| ":template_test_srcs", |
| ], |
| tags = [ |
| # Should not run sandboxed. |
| "local", |
| "template", |
| ], |
| ) for directory in DIRECTORIES] |
| |
| filegroup( |
| name = "template_test_srcs", |
| srcs = [ |
| "template_test_srcs/convert_for_template_tests.py", |
| "template_test_srcs/template_test.js", |
| ], |
| ) |