Integrating YANG live compilation into YANG runtime.

- Bumped ONOS dependency on ONOS YANG tools 2.2.0-b4.
- Added CLI to compile YANG models.
- Added GUI capability to compile YANG models via drag-n-drop or file upload.
- Fixed defect in propagating self-contained JAR apps through the cluster.

Change-Id: Icbd2a588bf1ffe0282e12d3d10a117e0957c3084
diff --git a/lib/BUCK b/lib/BUCK
index ef24796..1013dcf 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Mon, 31 Jul 2017 23:06:54 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Tue, 8 Aug 2017 17:39:19 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 
 pass_thru_pom(
@@ -1211,55 +1211,55 @@
 
 remote_jar (
   name = 'onos-yang-model',
-  out = 'onos-yang-model-2.2.0-b3.jar',
-  url = 'mvn:org.onosproject:onos-yang-model:jar:2.2.0-b3',
-  sha1 = '27e93661796c37268a09aa5c4cdc2e2f6e0ec975',
-  maven_coords = 'org.onosproject:onos-yang-model:2.2.0-b3',
+  out = 'onos-yang-model-2.2.0-b4.jar',
+  url = 'mvn:org.onosproject:onos-yang-model:jar:2.2.0-b4',
+  sha1 = 'a1ebb2e81770b2c55cfc2fd9f6e935403bf329b7',
+  maven_coords = 'org.onosproject:onos-yang-model:2.2.0-b4',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'onos-yang-compiler-api',
-  out = 'onos-yang-compiler-api-2.2.0-b3.jar',
-  url = 'mvn:org.onosproject:onos-yang-compiler-api:jar:2.2.0-b3',
-  sha1 = 'eeb41cec4779b3a03c684af4fd176711ba3d999f',
-  maven_coords = 'org.onosproject:onos-yang-compiler-api:2.2.0-b3',
+  out = 'onos-yang-compiler-api-2.2.0-b4.jar',
+  url = 'mvn:org.onosproject:onos-yang-compiler-api:jar:2.2.0-b4',
+  sha1 = 'b0d7f8569dc14c2444c20b32aebc133be4b31719',
+  maven_coords = 'org.onosproject:onos-yang-compiler-api:2.2.0-b4',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'onos-yang-runtime',
-  out = 'onos-yang-runtime-2.2.0-b3.jar',
-  url = 'mvn:org.onosproject:onos-yang-runtime:jar:2.2.0-b3',
-  sha1 = '40dc7df958b5b7779425522c0ac5dccd7c90f325',
-  maven_coords = 'org.onosproject:onos-yang-runtime:2.2.0-b3',
+  out = 'onos-yang-runtime-2.2.0-b4.jar',
+  url = 'mvn:org.onosproject:onos-yang-runtime:jar:2.2.0-b4',
+  sha1 = '82eeb6c0ecd3e9181f08e6309364e008efd90c73',
+  maven_coords = 'org.onosproject:onos-yang-runtime:2.2.0-b4',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'onos-yang-serializers-json',
-  out = 'onos-yang-serializers-json-2.2.0-b3.jar',
-  url = 'mvn:org.onosproject:onos-yang-serializers-json:jar:2.2.0-b3',
-  sha1 = 'c922e6caf738debf3c82a5e950150dcee3691a68',
-  maven_coords = 'org.onosproject:onos-yang-serializers-json:2.2.0-b3',
+  out = 'onos-yang-serializers-json-2.2.0-b4.jar',
+  url = 'mvn:org.onosproject:onos-yang-serializers-json:jar:2.2.0-b4',
+  sha1 = 'ca24ff1719a3a546220b5a5346d8602fd955026c',
+  maven_coords = 'org.onosproject:onos-yang-serializers-json:2.2.0-b4',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'onos-yang-serializers-xml',
-  out = 'onos-yang-serializers-xml-2.2.0-b3.jar',
-  url = 'mvn:org.onosproject:onos-yang-serializers-xml:jar:2.2.0-b3',
-  sha1 = '941c0f451f77f4eeb87f34bb4f8c7c95fab558b2',
-  maven_coords = 'org.onosproject:onos-yang-serializers-xml:2.2.0-b3',
+  out = 'onos-yang-serializers-xml-2.2.0-b4.jar',
+  url = 'mvn:org.onosproject:onos-yang-serializers-xml:jar:2.2.0-b4',
+  sha1 = '0ecfff253688a2d11574e34f3edf14a8bef25790',
+  maven_coords = 'org.onosproject:onos-yang-serializers-xml:2.2.0-b4',
   visibility = [ 'PUBLIC' ],
 )
 
 remote_jar (
   name = 'onos-yang-serializers-utils',
-  out = 'onos-yang-serializers-utils-2.2.0-b3.jar',
-  url = 'mvn:org.onosproject:onos-yang-serializers-utils:jar:2.2.0-b3',
-  sha1 = 'a46292313584ff174b3a7feb998d54253bbb7383',
-  maven_coords = 'org.onosproject:onos-yang-serializers-utils:2.2.0-b3',
+  out = 'onos-yang-serializers-utils-2.2.0-b4.jar',
+  url = 'mvn:org.onosproject:onos-yang-serializers-utils:jar:2.2.0-b4',
+  sha1 = 'e48c4b374fce66defa1fbe23e9d60e3e78cb48de',
+  maven_coords = 'org.onosproject:onos-yang-serializers-utils:2.2.0-b4',
   visibility = [ 'PUBLIC' ],
 )
 
diff --git a/lib/deps.json b/lib/deps.json
index eacea31..5dd2f70 100644
--- a/lib/deps.json
+++ b/lib/deps.json
@@ -24,7 +24,7 @@
       "slf4j-api",
       "osgi-core",
       "org.osgi.compendium",
-      { "name": "org.apache.felix.scr.annotations", "compile_only": true },
+      "org.apache.felix.scr.annotations",
       "org.apache.felix.scr",
       "jackson-annotations",
       "jackson-core",
@@ -231,12 +231,12 @@
     "onos-yang-datamodel": "mvn:org.onosproject:onos-yang-datamodel:1.11",
     "onos-yang-maven-plugin": "mvn:org.onosproject:onos-yang-maven-plugin:1.11",
     "onos-yang-utils-generator": "mvn:org.onosproject:onos-yang-utils-generator:1.11",
-    "onos-yang-model":"mvn:org.onosproject:onos-yang-model:2.2.0-b3",
-    "onos-yang-compiler-api":"mvn:org.onosproject:onos-yang-compiler-api:2.2.0-b3",
-    "onos-yang-runtime":"mvn:org.onosproject:onos-yang-runtime:2.2.0-b3",
-    "onos-yang-serializers-json":"mvn:org.onosproject:onos-yang-serializers-json:2.2.0-b3",
-    "onos-yang-serializers-xml":"mvn:org.onosproject:onos-yang-serializers-xml:2.2.0-b3",
-    "onos-yang-serializers-utils":"mvn:org.onosproject:onos-yang-serializers-utils:2.2.0-b3",
+    "onos-yang-model":"mvn:org.onosproject:onos-yang-model:2.2.0-b4",
+    "onos-yang-compiler-api":"mvn:org.onosproject:onos-yang-compiler-api:2.2.0-b4",
+    "onos-yang-runtime":"mvn:org.onosproject:onos-yang-runtime:2.2.0-b4",
+    "onos-yang-serializers-json":"mvn:org.onosproject:onos-yang-serializers-json:2.2.0-b4",
+    "onos-yang-serializers-xml":"mvn:org.onosproject:onos-yang-serializers-xml:2.2.0-b4",
+    "onos-yang-serializers-utils":"mvn:org.onosproject:onos-yang-serializers-utils:2.2.0-b4",
     "org.apache.servicemix.bundles.dom4j":"mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.dom4j:1.6.1_5",
     "plexus-utils": "mvn:org.codehaus.plexus:plexus-utils:3.0.24",
     "sshd-core": "mvn:org.apache.sshd:sshd-core:1.4.0",