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/web/gui2/src/main/webapp/app/BUILD.bazel b/web/gui2/src/main/webapp/app/BUILD.bazel
new file mode 100644
index 0000000..38cb9ae
--- /dev/null
+++ b/web/gui2/src/main/webapp/app/BUILD.bazel
@@ -0,0 +1,71 @@
+"""
+ Copyright 2020-present Open Networking Foundation
+
+ 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("@npm_angular_bazel//:index.bzl", "ng_module")
+
+package(default_visibility = ["//:__subpackages__"])
+
+# We don't import from these, but the generated ngfactory code will
+NG_FACTORY_ADDED_IMPORTS = [
+    "@npm//@angular/animations",
+    "@npm//@angular/forms",
+]
+
+ng_module(
+    name = "app",
+    srcs = [
+        "nav/nav.component.ts",
+        "onos.component.ts",
+        "onos.module.ts",
+        "onos.service.ts",
+        "onos-routing.module.ts",
+    ],
+    assets = [
+        "onos.common.css",
+        "onos.component.css",
+        "onos.component.html",
+        "nav/nav.component.css",
+        "nav/nav.component.html",
+        "nav/nav.theme.css",
+    ],
+    tsconfig = "//:tsconfig.json",
+    deps = NG_FACTORY_ADDED_IMPORTS + [
+        "//web/gui2-fw-lib",
+        "//web/gui2/src/main/webapp/app/view/apps:gui2-view-apps",
+        "//web/gui2/src/main/webapp/app/view/processor:gui2-view-processor",
+        "//web/gui2/src/main/webapp/app/view/settings:gui2-view-settings",
+        "//web/gui2/src/main/webapp/app/view/partition:gui2-view-partition",
+        "//web/gui2/src/main/webapp/app/view/cluster:gui2-view-cluster",
+        "//web/gui2/src/main/webapp/app/view/device:gui2-view-device",
+        "//web/gui2/src/main/webapp/app/view/link:gui2-view-link",
+        "//web/gui2/src/main/webapp/app/view/host:gui2-view-host",
+        "//web/gui2/src/main/webapp/app/view/flow:gui2-view-flow",
+        "//web/gui2/src/main/webapp/app/view/intent:gui2-view-intent",
+        "//web/gui2/src/main/webapp/app/view/tunnel:gui2-view-tunnel",
+        "//web/gui2/src/main/webapp/app/view/port:gui2-view-port",
+        "//web/gui2/src/main/webapp/app/view/group:gui2-view-group",
+        "//web/gui2/src/main/webapp/app/view/meter:gui2-view-meter",
+        "//web/gui2/src/main/webapp/app/view/pipeconf:gui2-view-pipeconf",
+        "//web/gui2-topo-lib:gui2-topo-lib",
+        "//apps/faultmanagement/fm-gui2-lib:fm-gui2-lib",
+        "//apps/roadm/web/roadm-gui:roadm-gui",
+        "@npm//@angular/core",
+        "@npm//@angular/router",
+        "@npm//@angular/platform-browser",
+        "@npm//rxjs",
+        "@npm//@types",
+    ],
+)