| # Copyright 2017 The Bazel Authors. All rights reserved. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| load("@bazel_skylib//:bzl_library.bzl", "bzl_library") |
| load("@build_bazel_rules_nodejs//:index.bzl", "nodejs_test") |
| load("@build_bazel_rules_nodejs//:tools/defaults.bzl", "pkg_npm") |
| load("@build_bazel_rules_nodejs//packages/typescript:index.bzl", "ts_library") |
| load("@build_bazel_rules_nodejs//tools/stardoc:index.bzl", "stardoc") |
| load("//third_party/github.com/bazelbuild/bazel-skylib:rules/copy_file.bzl", "copy_file") |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| exports_files( |
| ["protractor.conf.js"], |
| visibility = ["//packages/protractor/test:__subpackages__"], |
| ) |
| |
| bzl_library( |
| name = "bzl", |
| testonly = True, |
| srcs = glob(["*.bzl"]), |
| deps = [ |
| "@build_bazel_rules_nodejs//:bzl", |
| "@build_bazel_rules_nodejs//internal/common:bzl", |
| "@build_bazel_rules_nodejs//internal/node:bzl", |
| "@io_bazel_rules_webtesting//web", |
| ], |
| ) |
| |
| stardoc( |
| name = "docs", |
| testonly = True, |
| out = "index.md", |
| input = "//packages/protractor:index.bzl", |
| tags = ["fix-windows"], |
| deps = ["//packages/protractor:bzl"], |
| ) |
| |
| nodejs_test( |
| name = "test", |
| data = [ |
| "docs_test.js", |
| "index.md", |
| ], |
| entry_point = ":docs_test.js", |
| tags = [ |
| "fix-windows", |
| ], |
| ) |
| |
| ts_library( |
| name = "protractor", |
| srcs = ["protractor-utils.ts"], |
| data = ["package.json"], |
| module_name = "@bazel/protractor", |
| module_root = "protractor-utils", |
| deps = ["@npm//@types/node"], |
| ) |
| |
| # Ugly genrule depending on local linux environment to build the README out of skylark doc generation. |
| # Only referenced when we do a release. |
| # TODO: This ought to be possible with stardoc alone. Need to coordinate with Chris Parsons. |
| genrule( |
| name = "generate_README", |
| srcs = [ |
| "index.md", |
| "install.md", |
| ], |
| outs = ["README.md"], |
| cmd = """cat $(execpath install.md) $(execpath index.md) | sed 's/^##/\\\n##/' > $@""", |
| tags = ["fix-windows"], |
| visibility = ["//docs:__pkg__"], |
| ) |
| |
| copy_file( |
| name = "npm_version_check", |
| src = "//internal:npm_version_check.js", |
| out = ":npm_version_check.js", |
| ) |
| |
| pkg_npm( |
| name = "npm_package", |
| srcs = [ |
| "index.bzl", |
| "package.bzl", |
| "package.json", |
| "protractor.conf.js", |
| "protractor_web_test.bzl", |
| ], |
| build_file_content = """exports_files(["protractor.conf.js"])""", |
| deps = [ |
| ":npm_version_check", |
| "//packages/protractor", |
| ] + select({ |
| # FIXME: fix stardoc on Windows; //packages/protractor:index.md generation fails with: |
| # ERROR: D:/b/62unjjin/external/npm_bazel_protractor/BUILD.bazel:36:1: Couldn't build file |
| # external/npm_bazel_protractor/docs.raw: Generating proto for Starlark doc for docs failed (Exit 1) |
| "@bazel_tools//src/conditions:windows": [], |
| "//conditions:default": [":generate_README"], |
| }), |
| ) |