<!--
~ Copyright 2018-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.
-->

<div style="text-align:center">
  <onos-icon iconId="nav_apps" iconSize="200" toolTip="Test app"></onos-icon>
  <h1>
    Welcome to {{ title }}!
  </h1>
</div>
<h2>Test App - Do not use or extend</h2>
<p>This app is just a wrapper around the GUI 2 Framework Library and is
  necessary only to provide a base for that library.
It has a use in validating that the library can be loaded.

The library is linked in here by the addition of the paths statement in
  tsconfig.json. This is fine for accessing a local library, but for another
  project it should be added in through package.json, using the 'file' locator.
  Then run "npm install" in that target project and the tar will be expanded in
  to it's node_modules folder.

A good article on the creation and use of libraries in Angular 6 is given in<br />
  <a href="https://blog.angularindepth.com/creating-a-library-in-angular-6-87799552e7e5">The Angular Library Series - Creating a Library with the Angular CLI</a><br />
  and <br />
  <a href="https://blog.angularindepth.com/creating-a-library-in-angular-6-part-2-6e2bc1e14121">The Angular Library Series - Building and Packaging</a><br />

This "app" component is not built by Bazel - it's only the library that is built
  by bazel which in turn calls "ng build --prod gui2-fw-lib" and then "npm pack"
  resulting in a tar file that can be used as an NPM package anywhere.
<br />
Note: Please remember that in Angular 6 rebuilding of libraries is not automatic.
  If you change anything in the library, you will have to build it again before
  it is picked up in this app.
</p>
