ONOS-628 - Download and extract node binaries for the GUI build step
- Added gulp build task the:
	- Bundles Vendor JS files
	- Bundles ONOS JS Files
	- Bundles ONOS CSS Files
	- Added SourceMaps to JS bundles - Helps with debugging during development
- Added Bundles to index.js and removed old references
- Git Ignored any generated files
- Ensured the build step is able to build without a local copy of node installed
- Added BUCK genrules (provided by Viswa)
- Added BUCK Dependency to GUI
- Buck Rule to run when src changes
- Node/NPM downloaded using BUCK remote_file

Change-Id: Ia6ca3b952ff801850ade7469c23aac76c8520400
diff --git a/web/gui/src/main/webapp/index.html b/web/gui/src/main/webapp/index.html
index 07395cb..e74329b 100644
--- a/web/gui/src/main/webapp/index.html
+++ b/web/gui/src/main/webapp/index.html
@@ -30,222 +30,22 @@
     <title>ONOS</title>
 
     <!-- Third party library code included here -->
-    <!--TODO: use minified versions, once debugging is complete -->
-    <script src="tp/angular.js"></script>
-    <script src="tp/angular-route.js"></script>
-    <script src="tp/angular-cookies.js"></script>
-
-    <script src="tp/d3.js"></script>
-    <script src="tp/topojson.v1.min.js"></script>
-
-    <script src="tp/Chart.min.js"></script>
-    <script src="tp/angular-chart.min.js"></script>
-    <script src="tp/lodash.min.js"></script>
+    <script src="dist/vendor.js"></script>
 
     <!-- {INJECTED-USER-START} -->
     <!-- {INJECTED-USER-END} -->
 
     <!-- ONOS UI Framework included here -->
-    <!-- TODO: use a single catenated-minified file here -->
     <script src="onos.js"></script>
-    <script src="app/directives.js"></script>
-
-    <script src="app/fw/util/util.js"></script>
-    <script src="app/fw/util/ee.js"></script>
-    <script src="app/fw/util/fn.js"></script>
-    <script src="app/fw/util/random.js"></script>
-    <script src="app/fw/util/theme.js"></script>
-    <script src="app/fw/util/keys.js"></script>
-    <script src="app/fw/util/prefs.js"></script>
-    <script src="app/fw/util/lion.js"></script>
-
-    <script src="app/fw/mast/mast.js"></script>
-    <script src="app/fw/nav/nav.js"></script>
-
-    <script src="app/fw/svg/svg.js"></script>
-    <script src="app/fw/svg/glyph.js"></script>
-    <script src="app/fw/svg/glyphData.js"></script>
-    <script src="app/fw/svg/icon.js"></script>
-    <script src="app/fw/svg/geodata.js"></script>
-    <script src="app/fw/svg/map.js"></script>
-    <script src="app/fw/svg/zoom.js"></script>
-    <script src="app/fw/svg/svgUtil.js"></script>
-    <script src="app/fw/svg/sprite.js"></script>
-    <script src="app/fw/svg/spriteData.js"></script>
-
-    <script src="app/fw/remote/remote.js"></script>
-    <script src="app/fw/remote/urlfn.js"></script>
-    <script src="app/fw/remote/rest.js"></script>
-    <script src="app/fw/remote/wsock.js"></script>
-    <script src="app/fw/remote/websocket.js"></script>
-
-    <script src="app/fw/widget/widget.js"></script>
-    <script src="app/fw/widget/table.js"></script>
-    <script src="app/fw/widget/toolbar.js"></script>
-    <script src="app/fw/widget/tooltip.js"></script>
-    <script src="app/fw/widget/button.js"></script>
-    <script src="app/fw/widget/tableDetail.js"></script>
-    <script src="app/fw/widget/tableBuilder.js"></script>
-    <script src="app/fw/widget/chartBuilder.js"></script>
-    <script src="app/fw/widget/listBuilder.js"></script>
-
-    <script src="app/fw/layer/layer.js"></script>
-    <script src="app/fw/layer/panel.js"></script>
-    <script src="app/fw/layer/dialog.js"></script>
-    <script src="app/fw/layer/flash.js"></script>
-    <script src="app/fw/layer/quickhelp.js"></script>
-    <script src="app/fw/layer/veil.js"></script>
-    <script src="app/fw/layer/loading.js"></script>
+    <script src="dist/onos.js"></script>
 
     <!-- Framework and library stylesheets included here -->
-    <!-- TODO: use a single catenated-minified file here -->
-    <link rel="stylesheet" href="app/onos.css">
-    <link rel="stylesheet" href="app/onos-theme.css">
-    <link rel="stylesheet" href="app/common.css">
-    <link rel="stylesheet" href="app/fw/mast/mast.css">
-    <link rel="stylesheet" href="app/fw/mast/mast-theme.css">
-    <link rel="stylesheet" href="app/fw/svg/glyph.css">
-    <link rel="stylesheet" href="app/fw/svg/glyph-theme.css">
-    <link rel="stylesheet" href="app/fw/svg/sprite-theme.css">
-    <link rel="stylesheet" href="app/fw/svg/icon.css">
-    <link rel="stylesheet" href="app/fw/svg/icon-theme.css">
-    <link rel="stylesheet" href="app/fw/layer/panel.css">
-    <link rel="stylesheet" href="app/fw/layer/panel-theme.css">
-    <link rel="stylesheet" href="app/fw/layer/dialog.css">
-    <link rel="stylesheet" href="app/fw/layer/dialog-theme.css">
-    <link rel="stylesheet" href="app/fw/layer/flash.css">
-    <link rel="stylesheet" href="app/fw/layer/flash-theme.css">
-    <link rel="stylesheet" href="app/fw/layer/quickhelp.css">
-    <link rel="stylesheet" href="app/fw/layer/quickhelp-theme.css">
-    <link rel="stylesheet" href="app/fw/layer/veil.css">
-    <link rel="stylesheet" href="app/fw/layer/veil-theme.css">
-    <link rel="stylesheet" href="app/fw/layer/loading.css">
-    <link rel="stylesheet" href="app/fw/nav/nav.css">
-    <link rel="stylesheet" href="app/fw/nav/nav-theme.css">
-    <link rel="stylesheet" href="app/fw/widget/button.css">
-    <link rel="stylesheet" href="app/fw/widget/button-theme.css">
-    <link rel="stylesheet" href="app/fw/widget/toolbar.css">
-    <link rel="stylesheet" href="app/fw/widget/toolbar-theme.css">
-    <link rel="stylesheet" href="app/fw/widget/tooltip.css">
-    <link rel="stylesheet" href="app/fw/widget/tooltip-theme.css">
-    <link rel="stylesheet" href="app/fw/widget/table.css">
-    <link rel="stylesheet" href="app/fw/widget/table-theme.css">
-
-    <!-- Under development for Region support. -->
-    <script src="app/view/topo2/topo2.js"></script>
-    <script src="app/view/topo2/topo2Breadcrumb.js"></script>
-    <script src="app/view/topo2/topo2Background.js"></script>
-    <script src="app/view/topo2/topo2Badge.js"></script>
-    <script src="app/view/topo2/topo2Collection.js"></script>
-    <script src="app/view/topo2/topo2DetailsPanel.js"></script>
-    <script src="app/view/topo2/topo2Device.js"></script>
-    <script src="app/view/topo2/topo2DeviceDetailsPanel.js"></script>
-    <script src="app/view/topo2/topo2Event.js"></script>
-    <script src="app/view/topo2/topo2Force.js"></script>
-    <script src="app/view/topo2/topo2Host.js"></script>
-    <script src="app/view/topo2/topo2HostsPanel.js"></script>
-    <script src="app/view/topo2/topo2Instance.js"></script>
-    <script src="app/view/topo2/topo2KeyCommands.js"></script>
-    <script src="app/view/topo2/topo2Label.js"></script>
-    <script src="app/view/topo2/topo2LabelCollection.js"></script>
-    <script src="app/view/topo2/topo2Layout.js"></script>
-    <script src="app/view/topo2/topo2Link.js"></script>
-    <script src="app/view/topo2/topo2LinkLabel.js"></script>
-    <script src="app/view/topo2/topo2LinkPanel.js"></script>
-    <script src="app/view/topo2/topo2Map.js"></script>
-    <script src="app/view/topo2/topo2MapConfig.js"></script>
-    <script src="app/view/topo2/topo2Mastership.js"></script>
-    <script src="app/view/topo2/topo2Model.js"></script>
-    <script src="app/view/topo2/topo2NodeModel.js"></script>
-    <script src="app/view/topo2/topo2NodePosition.js"></script>
-    <script src="app/view/topo2/topo2NoDevicesConnected.js"></script>
-    <script src="app/view/topo2/topo2Overlay.js"></script>
-    <script src="app/view/topo2/topo2Panel.js"></script>
-    <script src="app/view/topo2/topo2PeerRegion.js"></script>
-    <script src="app/view/topo2/topo2Prefs.js"></script>
-    <script src="app/view/topo2/topo2Region.js"></script>
-    <script src="app/view/topo2/topo2RegionNavigation.js"></script>
-    <script src="app/view/topo2/topo2Select.js"></script>
-    <script src="app/view/topo2/topo2SpriteLayer.js"></script>
-    <script src="app/view/topo2/topo2SummaryPanel.js"></script>
-    <script src="app/view/topo2/topo2SubRegion.js"></script>
-    <script src="app/view/topo2/topo2SubRegionPanel.js"></script>
-    <script src="app/view/topo2/topo2Toolbar.js"></script>
-    <script src="app/view/topo2/topo2Traffic.js"></script>
-    <script src="app/view/topo2/topo2TrafficOverlay.js"></script>
-    <script src="app/view/topo2/topo2View.js"></script>
-    <script src="app/view/topo2/topo2ViewController.js"></script>
-    <script src="app/view/topo2/topo2Zoom.js"></script>
-    <script src="app/view/topo2/uiView.js"></script>
-    <link rel="stylesheet" href="app/view/topo2/topo2.css">
-    <link rel="stylesheet" href="app/view/topo2/topo2-theme.css">
-
-    <!-- Builtin views javascript. -->
-    <script src="app/view/topo/topo.js"></script>
-    <script src="app/view/topo/topoD3.js"></script>
-    <script src="app/view/topo/topoEvent.js"></script>
-    <script src="app/view/topo/topoDialog.js"></script>
-    <script src="app/view/topo/topoFilter.js"></script>
-    <script src="app/view/topo/topoForce.js"></script>
-    <script src="app/view/topo/topoInst.js"></script>
-    <script src="app/view/topo/topoLink.js"></script>
-    <script src="app/view/topo/topoModel.js"></script>
-    <script src="app/view/topo/topoOblique.js"></script>
-    <script src="app/view/topo/topoOverlay.js"></script>
-    <script src="app/view/topo/topoPanel.js"></script>
-    <script src="app/view/topo/topoSelect.js"></script>
-    <script src="app/view/topo/topoMap.js"></script>
-    <script src="app/view/topo/topoSprite.js"></script>
-    <script src="app/view/topo/topoTraffic.js"></script>
-    <script src="app/view/topo/topoTrafficNew.js"></script>
-    <script src="app/view/topo/topoProtectedIntent.js"></script>
-    <script src="app/view/topo/topoProtectedIntentOverlay.js"></script>
-    <script src="app/view/topo/topoToolbar.js"></script>
-    <script src="app/view/device/device.js"></script>
-    <script src="app/view/flow/flow.js"></script>
-    <script src="app/view/port/port.js"></script>
-    <script src="app/view/group/group.js"></script>
-    <script src="app/view/meter/meter.js"></script>
-    <script src="app/view/partition/partition.js"></script>
-    <script src="app/view/link/link.js"></script>
-    <script src="app/view/host/host.js"></script>
-    <script src="app/view/intent/intent.js"></script>
-    <script src="app/view/app/app.js"></script>
-    <script src="app/view/settings/settings.js"></script>
-    <script src="app/view/cluster/cluster.js"></script>
-    <script src="app/view/processor/processor.js"></script>
-    <script src="app/view/tunnel/tunnel.js"></script>
+    <link rel="stylesheet" href="dist/onos.css">
 
     <!-- Contributed javascript injected here -->
     <!-- {INJECTED-JAVASCRIPT-START} -->
     <!-- {INJECTED-JAVASCRIPT-END} -->
 
-    <!-- Builtin views stylesheets. -->
-    <link rel="stylesheet" href="app/view/topo/topo.css">
-    <link rel="stylesheet" href="app/view/topo/topo-theme.css">
-    <link rel="stylesheet" href="app/view/topo/protected-intents.css">
-    <link rel="stylesheet" href="app/view/device/device.css">
-    <link rel="stylesheet" href="app/view/device/device-theme.css">
-    <link rel="stylesheet" href="app/view/flow/flow.css">
-    <link rel="stylesheet" href="app/view/flow/flow-theme.css">
-    <link rel="stylesheet" href="app/view/port/port.css">
-    <link rel="stylesheet" href="app/view/group/group.css">
-    <link rel="stylesheet" href="app/view/group/group-theme.css">
-    <link rel="stylesheet" href="app/view/meter/meter.css">
-    <link rel="stylesheet" href="app/view/meter/meter-theme.css">
-    <link rel="stylesheet" href="app/view/partition/partition.css">
-    <link rel="stylesheet" href="app/view/link/link.css">
-    <link rel="stylesheet" href="app/view/host/host.css">
-    <link rel="stylesheet" href="app/view/intent/intent.css">
-    <link rel="stylesheet" href="app/view/intent/intent-theme.css">
-    <link rel="stylesheet" href="app/view/app/app.css">
-    <link rel="stylesheet" href="app/view/app/app-theme.css">
-    <link rel="stylesheet" href="app/view/settings/settings.css">
-    <link rel="stylesheet" href="app/view/settings/settings-theme.css">
-    <link rel="stylesheet" href="app/view/cluster/cluster.css">
-    <link rel="stylesheet" href="app/view/processor/processor.css">
-    <link rel="stylesheet" href="app/view/tunnel/tunnel.css">
-
     <!-- Contributed stylesheets injected here -->
     <!-- {INJECTED-STYLESHEETS-START} -->
     <!-- {INJECTED-STYLESHEETS-END} -->