blob: a54da64026c7251e98deb738288a569bdf050857 [file] [log] [blame]
package(default_visibility = ["//visibility:public"])
load("//tools/build/bazel:jdk_genrule.bzl", "jdk_genrule")
load("@npm_angular_bazel//:index.bzl", "ng_module", "ng_package")
load("@npm_bazel_karma//:index.bzl", "ts_web_test_suite")
load("@npm_bazel_typescript//:index.bzl", "ts_devserver", "ts_library")
ng_module(
name = "gui2-fw-lib",
srcs = glob(
include = [
"src/lib/**/*.ts",
"src/environments/environment*ts",
"src/public_api.ts",
],
exclude = [
"**/*.spec.ts",
"src/test.ts",
"initialize_testbed.ts",
],
),
assets = glob([
"src/lib/**/*.css",
"src/lib/**/*.html",
]),
data = [
":tsconfig.lib.json",
],
entry_point = ":src/public_api.ts",
module_name = "gui2-fw-lib",
tsconfig = "tsconfig.json",
deps = [
"@npm//@angular/animations",
"@npm//@angular/core",
"@npm//@angular/platform-browser-dynamic",
"@npm//@angular/router",
"@npm//@types",
"@npm//d3",
"@npm//rxjs",
],
)
filegroup(
name = "rxjs_umd_modules",
srcs = [
# do not sort
"@npm//:node_modules/rxjs/bundles/rxjs.umd.js",
":rxjs_shims.js",
],
)
ts_library(
name = "test_lib",
testonly = 1,
srcs = glob(["**/*.spec.ts"]),
deps = [
":gui2-fw-lib",
"@npm//@angular/common",
"@npm//@angular/core",
"@npm//@angular/platform-browser",
"@npm//@angular/router",
"@npm//@types",
"@npm//rxjs",
],
)
ts_library(
name = "initialize_testbed",
testonly = 1,
srcs = [
"initialize_testbed.ts",
],
deps = [
"@npm//@angular/core",
"@npm//@angular/platform-browser-dynamic",
"@npm//@types",
],
)
ng_package(
name = "gui2-fw-lib-pkg",
srcs = [
"package.json",
],
data = glob(
include = [
"src/assets/**",
],
exclude = [
"**/*.spec.ts",
],
),
entry_point = ":src/public-api.ts", # In reality this is ignored and index.ts is used
# include_devmode_srcs = False,
readme_md = "README.md",
deps = [
":gui2-fw-lib",
"@npm//@angular/animations",
"@npm//@angular/common",
"@npm//@angular/core",
"@npm//@angular/platform-browser-dynamic",
"@npm//@angular/router",
"@npm//@types",
"@npm//d3",
"@npm//rxjs",
],
)
genrule(
name = "onos-gui2-fw-ng-build",
srcs = [
":gui2-fw-lib-pkg",
],
outs = [
"gui2-fw-ng-build-prod.log",
"gui2-fw-lib-ver.tgz",
],
cmd = "ROOT=`pwd` &&" +
" mkdir -p package &&" +
" cp -r bazel-out/k8-fastbuild/bin/web/gui2-fw-lib/projects/gui2-fw-lib/gui2-fw-lib-pkg/* package &&" +
" tar -czhf $$ROOT/$(location gui2-fw-lib-ver.tgz) package &&" +
" touch $$ROOT/$(location gui2-fw-ng-build-prod.log)", # to get the log always as the 2nd file
message = "GUI FW Lib build",
visibility = ["//visibility:public"],
)
ts_web_test_suite(
name = "gui2-fw-lib-test",
srcs = [
"@npm//:node_modules/tslib/tslib.js",
],
# do not sort
bootstrap = [
"@npm//:node_modules/zone.js/dist/zone-testing-bundle.js",
"@npm//:node_modules/reflect-metadata/Reflect.js",
],
browsers = [
"@io_bazel_rules_webtesting//browsers:chromium-local",
],
runtime_deps = [
":initialize_testbed",
],
deps = [
":rxjs_umd_modules",
":test_lib",
"@npm//karma-jasmine",
],
)
jdk_genrule(
name = "gui2_fw_lib_ext_css",
srcs = glob(
[
"src/lib/widget/panel.css",
"src/lib/widget/panel-theme.css",
"src/lib/widget/table.css",
"src/lib/widget/table.theme.css",
"src/lib/widget/table.theme.css",
"src/lib/layer/loading.service.css",
],
),
outs = ["gui2_fw_lib_css.jar"],
cmd = " ROOT=`pwd` &&" +
" cd web/gui2-fw-lib/projects/gui2-fw-lib/src/lib &&" +
" jar Mcf $$ROOT/$@ .",
visibility = ["//visibility:public"],
)