Added native Bazel build to GUI2. Reduced a lot of the unused Angular CLI structures
Reviewers should look at the changes in WORKSPACE, BUILD, BUILD.bazel, README.md files
This is only possible now as rules_nodejs went to 1.0.0 on December 20
gui2 has now been made the entry point (rather than gui2-fw-lib)
No tests or linting are functional yet for Typescript
Each NgModule now has its own BUILD.bazel file with ng_module
gui2-fw-lib is all one module and has been refactored to simplify the directory structure
gui2-topo-lib is also all one module - its directory structure has had 3 layers removed
The big bash script in web/gui2/BUILD has been removed - all is done through ng_module rules
in web/gui2/src/main/webapp/BUILD.bazel and web/gui2/src/main/webapp/app/BUILD.bazel
Change-Id: Ifcfcc23a87be39fe6d6c8324046cc8ebadb90551
diff --git a/WORKSPACE b/WORKSPACE
index ce3f50b..f461013 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -2,7 +2,7 @@
name = "org_onosproject_onos",
managed_directories = {
"@gui1_npm": ["tools/gui/node_modules"],
- "@npm": ["web/gui2-fw-lib/node_modules"],
+ "@npm": ["web/gui2/node_modules"],
},
)
@@ -124,9 +124,9 @@
generate_gnoi()
# For GUI2 build
-RULES_NODEJS_VERSION = "0.37.0"
+RULES_NODEJS_VERSION = "1.0.0"
-RULES_NODEJS_SHA256 = "0d9660cf0894f1fe1e9840818553e0080fbce0851169812d77a70bdb9981c946"
+RULES_NODEJS_SHA256 = "3887b948779431ac443e6a64f31b9e1e17b8d386a31eebc50ec1d9b0a6cabd2b"
load("//tools/build/bazel:topo_workspace.bzl", "generate_topo_device")
@@ -141,18 +141,21 @@
)
# Rules for compiling sass
-RULES_SASS_VERSION = "86ca977cf2a8ed481859f83a286e164d07335116"
+RULES_SASS_VERSION = "1.24.0"
-RULES_SASS_SHA256 = "4f05239080175a3f4efa8982d2b7775892d656bb47e8cf56914d5f9441fb5ea6"
+RULES_SASS_SHA256 = "77e241148f26d5dbb98f96fe0029d8f221c6cb75edbb83e781e08ac7f5322c5f"
http_archive(
name = "io_bazel_rules_sass",
sha256 = RULES_SASS_SHA256,
strip_prefix = "rules_sass-%s" % RULES_SASS_VERSION,
- url = "https://github.com/bazelbuild/rules_sass/archive/%s.zip" % RULES_SASS_VERSION,
+ urls = [
+ "https://github.com/bazelbuild/rules_sass/archive/%s.zip" % RULES_SASS_VERSION,
+ "https://mirror.bazel.build/github.com/bazelbuild/rules_sass/archive/%s.zip" % RULES_SASS_VERSION,
+ ],
)
-load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories", "npm_install", "yarn_install")
+load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories", "npm_install", "yarn_install")
# Setup the Node repositories. We need a NodeJS version that is more recent than v10.15.0
# because "selenium-webdriver" which is required for "ng e2e" cannot be installed.
@@ -168,8 +171,8 @@
# TODO give this a name like `gui2_npm` once the @bazel/karma tools can tolerate a name other than `npm`
yarn_install(
name = "npm",
- package_json = "//web/gui2-fw-lib:package.json",
- yarn_lock = "//web/gui2-fw-lib:yarn.lock",
+ package_json = "//web/gui2:package.json",
+ yarn_lock = "//web/gui2:yarn.lock",
)
npm_install(
@@ -185,9 +188,9 @@
install_bazel_dependencies()
-RULES_WEBTESTING_VERSION = "0.3.1"
+RULES_WEBTESTING_VERSION = "0.3.3"
-RULES_WEBTESTING_SHA256 = "f89ca8e91ac53b3c61da356c685bf03e927f23b97b086cc593db8edc088c143f"
+RULES_WEBTESTING_SHA256 = "9bb461d5ef08e850025480bab185fd269242d4e533bca75bfb748001ceb343c3"
http_archive(
name = "io_bazel_rules_webtesting",