BIGTOP-3500. Bump Zeppelin to 0.9.0. (#737)
diff --git a/bigtop-packages/src/common/zeppelin/do-component-build b/bigtop-packages/src/common/zeppelin/do-component-build
index 56b26e8..dc170b4 100644
--- a/bigtop-packages/src/common/zeppelin/do-component-build
+++ b/bigtop-packages/src/common/zeppelin/do-component-build
@@ -18,20 +18,31 @@
. `dirname $0`/bigtop.bom
-./dev/change_scala_version.sh ${SCALA_VERSION%.*}
+# Zeppelin doesn't support Scala 2.12+ as of v0.9.0,
+# so we use Scala 2.11 here.
+# Though Zeppelin itself will be built with Scala 2.11,
+# it works with other components built with Scala 2.12,
+# e.g., Spark 3.x, through corresponding interpreters.
+ZEPPELIN_SCALA_BINARY_VERSION=2.11
+./dev/change_scala_version.sh ${ZEPPELIN_SCALA_BINARY_VERSION}
-BUILD_OPTS="-Dscala.version=${SCALA_VERSION} \
- -Dscala.binary.version=${SCALA_VERSION%.*} \
- -Dscala.macros.version=2.1.0 \
- -Dspark.version=${SPARK_VERSION} \
- -Dhadoop.version=${HADOOP_VERSION} \
- -Dhbase.hbase.version=${HBASE_VERSION} \
- -Dhbase.hadoop.version=${HADOOP_VERSION} \
- -Dignite.version=${IGNITE_HADOOP_VERSION} \
- -Dflink.version=${FLINK_VERSION} \
- -Pspark-${SPARK_VERSION%.*} \
- -Pscala-${SCALA_VERSION%.*} \
- -Pr \
+# We build Zeppelin with minimal interpreters here
+# so as to reduce artifact size (cf. BIGTOP-2269).
+# If we include all of these interpreters into
+# the artifact, its size is 1.5GB as of v0.9.0,
+# while it's around 750MB without them.
+# Users can install them later via Zeppelin's "netinst" feature.
+EXCLUDE_INTERPRETERS=!beam,!hbase,!pig,!jdbc,!flink,!ignite,!kylin,!lens,!cassandra,!elasticsearch,!bigquery,!alluxio,!scio,!groovy,!sap,!java,!geode,!neo4j,!hazelcastjet,!submarine,!sparql,!mongodb,!ksql,!scalding
+
+# We don't specify scala.version or spark.version here,
+# because Zeppelin builds shims for all of Spark 1.x (w/ Scala 2.10),
+# Spark 2.x (w/ Scala 2.11), and Spark 3.x (w/ Scala 2.12) by default.
+# Rather, explicitly specifying their version seems to cause build failure.
+ZEPPELIN_LIVY_VERSION=${LIVY_VERSION}-incubating
+BUILD_OPTS="-Dhadoop3.2.version=${HADOOP_VERSION} \
+ -Dlivy.version=${ZEPPELIN_LIVY_VERSION} \
+ -Pscala-${ZEPPELIN_SCALA_BINARY_VERSION} \
+ -Phadoop3 \
-Pbuild-distr"
if [ "$ZEPPELIN_RUN_TESTS" = "true" ]; then
@@ -53,7 +64,7 @@
# Request the issue to zeppelin upstream, If accepted, remove this workaround.
sed -i "s/^.*ZEPPELIN_PID=.*$/ZEPPELIN_PID=\"\$\{ZEPPELIN_PID_DIR\}\/zeppelin\-\$\{ZEPPELIN_IDENT_STRING\}\.pid\"/" bin/zeppelin-daemon.sh
-mvn $BUILD_OPTS clean package
+mvn $BUILD_OPTS clean package -pl ''$EXCLUDE_INTERPRETERS'' -am
mkdir -p build/dist
tar -C build/dist --strip-components=1 -xzf zeppelin-distribution/target/zeppelin-*.tar.gz
diff --git a/bigtop-packages/src/common/zeppelin/patch0-spark-2.4.5-compatibility.diff b/bigtop-packages/src/common/zeppelin/patch0-spark-2.4.5-compatibility.diff
deleted file mode 100644
index 7770667..0000000
--- a/bigtop-packages/src/common/zeppelin/patch0-spark-2.4.5-compatibility.diff
+++ /dev/null
@@ -1,69 +0,0 @@
-diff --git a/r/src/main/scala/org/apache/spark/api/r/RBackendHelper.scala b/r/src/main/scala/org/apache/spark/api/r/RBackendHelper.scala
-index 9c1eb38d5..155f645dc 100644
---- a/r/src/main/scala/org/apache/spark/api/r/RBackendHelper.scala
-+++ b/r/src/main/scala/org/apache/spark/api/r/RBackendHelper.scala
-@@ -30,7 +30,7 @@ class RBackendHelper(val backend : RBackend) {
- var port : Int = 0
-
- def init() : Int = {
-- port = backend.init()
-+ port = backend.init()._1
- port
- }
-
-@@ -81,4 +81,4 @@ Its for testing purposes and should never be called
-
- def apply() : RBackendHelper = new RBackendHelper(new RBackend())
-
--}
-\ No newline at end of file
-+}
-diff --git a/spark/pom.xml b/spark/pom.xml
-index 2211efd87..db5b58cf4 100644
---- a/spark/pom.xml
-+++ b/spark/pom.xml
-@@ -45,8 +45,8 @@
- <plugin.shade.version>2.4.1</plugin.shade.version>
- <plugin.scala.version>2.15.2</plugin.scala.version>
- <!-- spark versions -->
-- <spark.version>2.2.0</spark.version>
-- <py4j.version>0.10.4</py4j.version>
-+ <spark.version>2.4.5</spark.version>
-+ <py4j.version>0.10.7</py4j.version>
-
- <spark.archive>spark-${spark.version}</spark.archive>
- <spark.src.download.url>
-diff --git a/spark/scala-2.10/src/main/scala/org/apache/zeppelin/spark/SparkScala210Interpreter.scala b/spark/scala-2.10/src/main/scala/org/apache/zeppelin/spark/SparkScala210Interpreter.scala
-index 995ee1539..e712c7d73 100644
---- a/spark/scala-2.10/src/main/scala/org/apache/zeppelin/spark/SparkScala210Interpreter.scala
-+++ b/spark/scala-2.10/src/main/scala/org/apache/zeppelin/spark/SparkScala210Interpreter.scala
-@@ -67,7 +67,8 @@ class SparkScala210Interpreter(override val conf: SparkConf,
- settings.embeddedDefaults(Thread.currentThread().getContextClassLoader())
- settings.usejavacp.value = true
- settings.classpath.value = getUserJars.mkString(File.pathSeparator)
-- sparkILoop = new SparkILoop(null, new JPrintWriter(Console.out, true))
-+ // ZEPPELIN-3324: Fix ambiguous reference to overloaded definition
-+ sparkILoop = new SparkILoop()
- if (printReplOutput) {
- Console.setOut(interpreterOutput)
- }
-diff --git a/spark/spark1-shims/pom.xml b/spark/spark1-shims/pom.xml
-index 797c461e4..6bc18e6e2 100644
---- a/spark/spark1-shims/pom.xml
-+++ b/spark/spark1-shims/pom.xml
-@@ -50,7 +50,7 @@
- <dependency>
- <groupId>org.apache.spark</groupId>
- <artifactId>spark-core_${scala.binary.version}</artifactId>
-- <version>${spark.version}</version>
-+ <version>2.2.3</version>
- <scope>provided</scope>
- </dependency>
-
-@@ -79,4 +79,4 @@
- </plugins>
- </build>
-
--</project>
-\ No newline at end of file
-+</project>
diff --git a/bigtop-packages/src/common/zeppelin/patch1-arm64-build.diff b/bigtop-packages/src/common/zeppelin/patch1-arm64-build.diff
index 1d8ad33..01b0abc 100644
--- a/bigtop-packages/src/common/zeppelin/patch1-arm64-build.diff
+++ b/bigtop-packages/src/common/zeppelin/patch1-arm64-build.diff
@@ -1,30 +1,54 @@
-diff --git a/python/pom.xml b/python/pom.xml
-index 3f55c92f1..bc50512f4 100644
---- a/python/pom.xml
-+++ b/python/pom.xml
-@@ -84,7 +84,7 @@
- <dependency>
- <groupId>io.grpc</groupId>
- <artifactId>grpc-stub</artifactId>
-- <version>${grpc.version}</version>
-+ <version>1.28.0</version>
- </dependency>
+diff --git a/zeppelin-jupyter-interpreter/pom.xml b/zeppelin-jupyter-interpreter/pom.xml
+index 90cd1ed87..5dfa977a7 100644
+--- a/zeppelin-jupyter-interpreter/pom.xml
++++ b/zeppelin-jupyter-interpreter/pom.xml
+@@ -36,7 +36,7 @@
+ <properties>
+ <interpreter.name>jupyter</interpreter.name>
+ <python.py4j.version>0.10.7</python.py4j.version>
+- <grpc.version>1.15.0</grpc.version>
++ <grpc.version>1.28.0</grpc.version>
+ </properties>
- <!-- test libraries -->
-@@ -118,9 +118,11 @@
+ <dependencies>
+@@ -131,9 +131,9 @@
+ <groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
- <version>0.5.0</version>
<configuration>
- <protocArtifact>com.google.protobuf:protoc:3.3.0:exe:${os.detected.classifier}</protocArtifact>
-+ <!-- Protoc-3.3.0 doesn't Support Arm64, upgrading to 3.5.0 -->
+ <protocArtifact>com.google.protobuf:protoc:3.5.0:exe:${os.detected.classifier}</protocArtifact>
<pluginId>grpc-java</pluginId>
- <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.4.0:exe:${os.detected.classifier}</pluginArtifact>
-+ <!-- protoc-gen-grpc-java-1.4.0 doesn't Support Arm64, upgrading to 1.28.0 -->
+ <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.28.0:exe:${os.detected.classifier}</pluginArtifact>
</configuration>
<executions>
<execution>
+diff --git a/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelClient.java b/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelClient.java
+index 51b3b9af2..a8d4c58db 100644
+--- a/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelClient.java
++++ b/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelClient.java
+@@ -71,7 +71,7 @@ public class JupyterKernelClient {
+ * Construct client for accessing RouteGuide server at {@code host:port}.
+ */
+ public JupyterKernelClient(String host, int port, String kernel) {
+- this(ManagedChannelBuilder.forAddress(host, port).usePlaintext(true), new Properties(),
++ this(ManagedChannelBuilder.forAddress(host, port).usePlaintext(), new Properties(),
+ kernel);
+ }
+
+diff --git a/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelInterpreter.java b/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelInterpreter.java
+index 386a69bf4..b7027e60b 100644
+--- a/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelInterpreter.java
++++ b/zeppelin-jupyter-interpreter/src/main/java/org/apache/zeppelin/jupyter/JupyterKernelInterpreter.java
+@@ -125,7 +125,7 @@ public class JupyterKernelInterpreter extends AbstractInterpreter {
+ 32 * 1024 * 1024 + ""));
+
+ jupyterKernelClient = new JupyterKernelClient(ManagedChannelBuilder.forAddress("127.0.0.1",
+- kernelPort).usePlaintext(true).maxInboundMessageSize(messageSize),
++ kernelPort).usePlaintext().maxInboundMessageSize(messageSize),
+ getProperties(), kernel);
+ launchJupyterKernel(kernelPort);
+ } catch (Exception e) {
diff --git a/zeppelin-web/Gruntfile.js b/zeppelin-web/Gruntfile.js
index c25b56070..58a75f24e 100644
--- a/zeppelin-web/Gruntfile.js
@@ -39,51 +63,674 @@
}
});
diff --git a/zeppelin-web/package-lock.json b/zeppelin-web/package-lock.json
-index 443c7b770..5ff7f08e8 100644
+index a2b253758..1728d9746 100644
--- a/zeppelin-web/package-lock.json
+++ b/zeppelin-web/package-lock.json
-@@ -6857,193 +6857,6 @@
+@@ -7931,1201 +7931,6 @@
}
}
},
- "karma": {
-- "version": "1.3.0",
-- "resolved": "https://registry.npmjs.org/karma/-/karma-1.3.0.tgz",
-- "integrity": "sha1-srlOj0mfrdAGnVT5rvSk1I7FzB8=",
+- "version": "3.1.4",
+- "resolved": "https://registry.npmjs.org/karma/-/karma-3.1.4.tgz",
+- "integrity": "sha512-31Vo8Qr5glN+dZEVIpnPCxEGleqE0EY6CtC2X9TagRV3rRQ3SNrvfhddICkJgUK3AgqpeKSZau03QumTGhGoSw==",
- "dev": true,
- "requires": {
-- "bluebird": "3.5.1",
-- "body-parser": "1.18.2",
-- "chokidar": "1.7.0",
+- "bluebird": "3.5.2",
+- "body-parser": "1.18.3",
+- "chokidar": "2.1.6",
- "colors": "1.1.2",
- "combine-lists": "1.0.1",
-- "connect": "3.6.5",
-- "core-js": "2.5.2",
+- "connect": "3.6.6",
+- "core-js": "2.5.7",
- "di": "0.0.1",
- "dom-serialize": "2.2.1",
- "expand-braces": "0.1.2",
-- "glob": "7.1.2",
-- "graceful-fs": "4.1.11",
-- "http-proxy": "1.16.2",
-- "isbinaryfile": "3.0.2",
-- "lodash": "3.10.1",
-- "log4js": "0.6.38",
-- "mime": "1.4.1",
+- "flatted": "2.0.1",
+- "glob": "7.1.4",
+- "graceful-fs": "4.1.15",
+- "http-proxy": "1.17.0",
+- "isbinaryfile": "3.0.3",
+- "lodash": "4.17.11",
+- "log4js": "3.0.6",
+- "mime": "2.4.4",
- "minimatch": "3.0.4",
- "optimist": "0.6.1",
-- "qjobs": "1.1.5",
+- "qjobs": "1.2.0",
- "range-parser": "1.2.0",
- "rimraf": "2.6.2",
-- "socket.io": "1.4.7",
-- "source-map": "0.5.7",
-- "tmp": "0.0.28",
-- "useragent": "2.2.1"
+- "safe-buffer": "5.1.2",
+- "socket.io": "2.1.1",
+- "source-map": "0.6.1",
+- "tmp": "0.0.33",
+- "useragent": "2.3.0"
- },
- "dependencies": {
+- "after": {
+- "version": "0.8.2",
+- "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
+- "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
+- "dev": true
+- },
+- "anymatch": {
+- "version": "2.0.0",
+- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+- "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+- "dev": true,
+- "requires": {
+- "micromatch": "3.1.10",
+- "normalize-path": "2.1.1"
+- },
+- "dependencies": {
+- "normalize-path": {
+- "version": "2.1.1",
+- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+- "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+- "dev": true,
+- "requires": {
+- "remove-trailing-separator": "1.1.0"
+- }
+- }
+- }
+- },
+- "arr-diff": {
+- "version": "4.0.0",
+- "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+- "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+- "dev": true
+- },
+- "array-unique": {
+- "version": "0.3.2",
+- "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+- "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+- "dev": true
+- },
+- "arraybuffer.slice": {
+- "version": "0.0.7",
+- "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
+- "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==",
+- "dev": true
+- },
+- "base64-arraybuffer": {
+- "version": "0.1.5",
+- "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
+- "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
+- "dev": true
+- },
+- "base64id": {
+- "version": "1.0.0",
+- "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
+- "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
+- "dev": true
+- },
+- "blob": {
+- "version": "0.0.5",
+- "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz",
+- "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==",
+- "dev": true
+- },
+- "braces": {
+- "version": "2.3.2",
+- "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+- "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+- "dev": true,
+- "requires": {
+- "arr-flatten": "1.1.0",
+- "array-unique": "0.3.2",
+- "extend-shallow": "2.0.1",
+- "fill-range": "4.0.0",
+- "isobject": "3.0.1",
+- "repeat-element": "1.1.3",
+- "snapdragon": "0.8.2",
+- "snapdragon-node": "2.1.1",
+- "split-string": "3.1.0",
+- "to-regex": "3.0.2"
+- },
+- "dependencies": {
+- "extend-shallow": {
+- "version": "2.0.1",
+- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+- "dev": true,
+- "requires": {
+- "is-extendable": "0.1.1"
+- }
+- }
+- }
+- },
+- "chokidar": {
+- "version": "2.1.6",
+- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz",
+- "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==",
+- "dev": true,
+- "requires": {
+- "anymatch": "2.0.0",
+- "async-each": "1.0.1",
+- "braces": "2.3.2",
+- "glob-parent": "3.1.0",
+- "inherits": "2.0.3",
+- "is-binary-path": "1.0.1",
+- "is-glob": "4.0.1",
+- "normalize-path": "3.0.0",
+- "path-is-absolute": "1.0.1",
+- "readdirp": "2.2.1",
+- "upath": "1.1.2"
+- }
+- },
+- "circular-json": {
+- "version": "0.5.9",
+- "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz",
+- "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==",
+- "dev": true
+- },
+- "engine.io": {
+- "version": "3.2.1",
+- "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz",
+- "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==",
+- "dev": true,
+- "requires": {
+- "accepts": "1.3.5",
+- "base64id": "1.0.0",
+- "cookie": "0.3.1",
+- "debug": "3.1.0",
+- "engine.io-parser": "2.1.3",
+- "ws": "3.3.3"
+- },
+- "dependencies": {
+- "debug": {
+- "version": "3.1.0",
+- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+- "dev": true,
+- "requires": {
+- "ms": "2.0.0"
+- }
+- },
+- "ms": {
+- "version": "2.0.0",
+- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+- "dev": true
+- }
+- }
+- },
+- "engine.io-client": {
+- "version": "3.2.1",
+- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz",
+- "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==",
+- "dev": true,
+- "requires": {
+- "component-emitter": "1.2.1",
+- "component-inherit": "0.0.3",
+- "debug": "3.1.0",
+- "engine.io-parser": "2.1.3",
+- "has-cors": "1.1.0",
+- "indexof": "0.0.1",
+- "parseqs": "0.0.5",
+- "parseuri": "0.0.5",
+- "ws": "3.3.3",
+- "xmlhttprequest-ssl": "1.5.5",
+- "yeast": "0.1.2"
+- },
+- "dependencies": {
+- "debug": {
+- "version": "3.1.0",
+- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+- "dev": true,
+- "requires": {
+- "ms": "2.0.0"
+- }
+- },
+- "ms": {
+- "version": "2.0.0",
+- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+- "dev": true
+- }
+- }
+- },
+- "engine.io-parser": {
+- "version": "2.1.3",
+- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz",
+- "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==",
+- "dev": true,
+- "requires": {
+- "after": "0.8.2",
+- "arraybuffer.slice": "0.0.7",
+- "base64-arraybuffer": "0.1.5",
+- "blob": "0.0.5",
+- "has-binary2": "1.0.3"
+- }
+- },
+- "expand-brackets": {
+- "version": "2.1.4",
+- "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+- "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+- "dev": true,
+- "requires": {
+- "debug": "2.6.9",
+- "define-property": "0.2.5",
+- "extend-shallow": "2.0.1",
+- "posix-character-classes": "0.1.1",
+- "regex-not": "1.0.2",
+- "snapdragon": "0.8.2",
+- "to-regex": "3.0.2"
+- },
+- "dependencies": {
+- "define-property": {
+- "version": "0.2.5",
+- "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+- "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+- "dev": true,
+- "requires": {
+- "is-descriptor": "0.1.6"
+- }
+- },
+- "extend-shallow": {
+- "version": "2.0.1",
+- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+- "dev": true,
+- "requires": {
+- "is-extendable": "0.1.1"
+- }
+- },
+- "is-accessor-descriptor": {
+- "version": "0.1.6",
+- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+- "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+- "dev": true,
+- "requires": {
+- "kind-of": "3.2.2"
+- },
+- "dependencies": {
+- "kind-of": {
+- "version": "3.2.2",
+- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+- "dev": true,
+- "requires": {
+- "is-buffer": "1.1.6"
+- }
+- }
+- }
+- },
+- "is-data-descriptor": {
+- "version": "0.1.4",
+- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+- "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+- "dev": true,
+- "requires": {
+- "kind-of": "3.2.2"
+- },
+- "dependencies": {
+- "kind-of": {
+- "version": "3.2.2",
+- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+- "dev": true,
+- "requires": {
+- "is-buffer": "1.1.6"
+- }
+- }
+- }
+- },
+- "is-descriptor": {
+- "version": "0.1.6",
+- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+- "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+- "dev": true,
+- "requires": {
+- "is-accessor-descriptor": "0.1.6",
+- "is-data-descriptor": "0.1.4",
+- "kind-of": "5.1.0"
+- }
+- },
+- "kind-of": {
+- "version": "5.1.0",
+- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+- "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+- "dev": true
+- }
+- }
+- },
+- "extglob": {
+- "version": "2.0.4",
+- "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+- "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+- "dev": true,
+- "requires": {
+- "array-unique": "0.3.2",
+- "define-property": "1.0.0",
+- "expand-brackets": "2.1.4",
+- "extend-shallow": "2.0.1",
+- "fragment-cache": "0.2.1",
+- "regex-not": "1.0.2",
+- "snapdragon": "0.8.2",
+- "to-regex": "3.0.2"
+- },
+- "dependencies": {
+- "define-property": {
+- "version": "1.0.0",
+- "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+- "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+- "dev": true,
+- "requires": {
+- "is-descriptor": "1.0.2"
+- }
+- },
+- "extend-shallow": {
+- "version": "2.0.1",
+- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+- "dev": true,
+- "requires": {
+- "is-extendable": "0.1.1"
+- }
+- }
+- }
+- },
+- "fill-range": {
+- "version": "4.0.0",
+- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+- "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+- "dev": true,
+- "requires": {
+- "extend-shallow": "2.0.1",
+- "is-number": "3.0.0",
+- "repeat-string": "1.6.1",
+- "to-regex-range": "2.1.1"
+- },
+- "dependencies": {
+- "extend-shallow": {
+- "version": "2.0.1",
+- "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+- "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+- "dev": true,
+- "requires": {
+- "is-extendable": "0.1.1"
+- }
+- }
+- }
+- },
+- "fsevents": {
+- "version": "1.2.9",
+- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
+- "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
+- "dependencies": {
+- "abbrev": {
+- "version": "1.1.1",
+- "bundled": true
+- },
+- "ansi-regex": {
+- "version": "2.1.1",
+- "bundled": true
+- },
+- "aproba": {
+- "version": "1.2.0",
+- "bundled": true
+- },
+- "are-we-there-yet": {
+- "version": "1.1.5",
+- "bundled": true
+- },
+- "balanced-match": {
+- "version": "1.0.0",
+- "bundled": true
+- },
+- "brace-expansion": {
+- "version": "1.1.11",
+- "bundled": true
+- },
+- "chownr": {
+- "version": "1.1.1",
+- "bundled": true
+- },
+- "code-point-at": {
+- "version": "1.1.0",
+- "bundled": true
+- },
+- "concat-map": {
+- "version": "0.0.1",
+- "bundled": true
+- },
+- "console-control-strings": {
+- "version": "1.1.0",
+- "bundled": true
+- },
+- "core-util-is": {
+- "version": "1.0.2",
+- "bundled": true
+- },
+- "debug": {
+- "version": "4.1.1",
+- "bundled": true
+- },
+- "deep-extend": {
+- "version": "0.6.0",
+- "bundled": true
+- },
+- "delegates": {
+- "version": "1.0.0",
+- "bundled": true
+- },
+- "detect-libc": {
+- "version": "1.0.3",
+- "bundled": true
+- },
+- "fs-minipass": {
+- "version": "1.2.5",
+- "bundled": true
+- },
+- "fs.realpath": {
+- "version": "1.0.0",
+- "bundled": true
+- },
+- "gauge": {
+- "version": "2.7.4",
+- "bundled": true
+- },
+- "glob": {
+- "version": "7.1.3",
+- "bundled": true
+- },
+- "has-unicode": {
+- "version": "2.0.1",
+- "bundled": true
+- },
+- "iconv-lite": {
+- "version": "0.4.24",
+- "bundled": true
+- },
+- "ignore-walk": {
+- "version": "3.0.1",
+- "bundled": true
+- },
+- "inflight": {
+- "version": "1.0.6",
+- "bundled": true
+- },
+- "inherits": {
+- "version": "2.0.3",
+- "bundled": true
+- },
+- "ini": {
+- "version": "1.3.5",
+- "bundled": true
+- },
+- "is-fullwidth-code-point": {
+- "version": "1.0.0",
+- "bundled": true
+- },
+- "isarray": {
+- "version": "1.0.0",
+- "bundled": true
+- },
+- "minimatch": {
+- "version": "3.0.4",
+- "bundled": true
+- },
+- "minimist": {
+- "version": "0.0.8",
+- "bundled": true
+- },
+- "minipass": {
+- "version": "2.3.5",
+- "bundled": true
+- },
+- "minizlib": {
+- "version": "1.2.1",
+- "bundled": true
+- },
+- "mkdirp": {
+- "version": "0.5.1",
+- "bundled": true
+- },
+- "ms": {
+- "version": "2.1.1",
+- "bundled": true
+- },
+- "needle": {
+- "version": "2.3.0",
+- "bundled": true
+- },
+- "node-pre-gyp": {
+- "version": "0.12.0",
+- "bundled": true
+- },
+- "nopt": {
+- "version": "4.0.1",
+- "bundled": true
+- },
+- "npm-bundled": {
+- "version": "1.0.6",
+- "bundled": true
+- },
+- "npm-packlist": {
+- "version": "1.4.1",
+- "bundled": true
+- },
+- "npmlog": {
+- "version": "4.1.2",
+- "bundled": true
+- },
+- "number-is-nan": {
+- "version": "1.0.1",
+- "bundled": true
+- },
+- "object-assign": {
+- "version": "4.1.1",
+- "bundled": true
+- },
+- "once": {
+- "version": "1.4.0",
+- "bundled": true
+- },
+- "os-homedir": {
+- "version": "1.0.2",
+- "bundled": true
+- },
+- "os-tmpdir": {
+- "version": "1.0.2",
+- "bundled": true
+- },
+- "osenv": {
+- "version": "0.1.5",
+- "bundled": true
+- },
+- "path-is-absolute": {
+- "version": "1.0.1",
+- "bundled": true
+- },
+- "process-nextick-args": {
+- "version": "2.0.0",
+- "bundled": true
+- },
+- "rc": {
+- "version": "1.2.8",
+- "bundled": true,
+- "dependencies": {
+- "minimist": {
+- "version": "1.2.0",
+- "bundled": true
+- }
+- }
+- },
+- "readable-stream": {
+- "version": "2.3.6",
+- "bundled": true
+- },
+- "rimraf": {
+- "version": "2.6.3",
+- "bundled": true
+- },
+- "safe-buffer": {
+- "version": "5.1.2",
+- "bundled": true
+- },
+- "safer-buffer": {
+- "version": "2.1.2",
+- "bundled": true
+- },
+- "sax": {
+- "version": "1.2.4",
+- "bundled": true
+- },
+- "semver": {
+- "version": "5.7.0",
+- "bundled": true
+- },
+- "set-blocking": {
+- "version": "2.0.0",
+- "bundled": true
+- },
+- "signal-exit": {
+- "version": "3.0.2",
+- "bundled": true
+- },
+- "string-width": {
+- "version": "1.0.2",
+- "bundled": true
+- },
+- "string_decoder": {
+- "version": "1.1.1",
+- "bundled": true
+- },
+- "strip-ansi": {
+- "version": "3.0.1",
+- "bundled": true
+- },
+- "strip-json-comments": {
+- "version": "2.0.1",
+- "bundled": true
+- },
+- "tar": {
+- "version": "4.4.8",
+- "bundled": true
+- },
+- "util-deprecate": {
+- "version": "1.0.2",
+- "bundled": true
+- },
+- "wide-align": {
+- "version": "1.1.3",
+- "bundled": true
+- },
+- "wrappy": {
+- "version": "1.0.2",
+- "bundled": true
+- },
+- "yallist": {
+- "version": "3.0.3",
+- "bundled": true
+- }
+- }
+- },
- "glob": {
-- "version": "7.1.2",
-- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
-- "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
+- "version": "7.1.4",
+- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
+- "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
- "dev": true,
- "requires": {
- "fs.realpath": "1.0.0",
@@ -94,10 +741,158 @@
- "path-is-absolute": "1.0.1"
- }
- },
-- "lodash": {
-- "version": "3.10.1",
-- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
-- "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+- "glob-parent": {
+- "version": "3.1.0",
+- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+- "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+- "dev": true,
+- "requires": {
+- "is-glob": "3.1.0",
+- "path-dirname": "1.0.2"
+- },
+- "dependencies": {
+- "is-glob": {
+- "version": "3.1.0",
+- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+- "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+- "dev": true,
+- "requires": {
+- "is-extglob": "2.1.1"
+- }
+- }
+- }
+- },
+- "is-accessor-descriptor": {
+- "version": "1.0.0",
+- "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+- "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+- "dev": true,
+- "requires": {
+- "kind-of": "6.0.2"
+- }
+- },
+- "is-data-descriptor": {
+- "version": "1.0.0",
+- "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+- "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+- "dev": true,
+- "requires": {
+- "kind-of": "6.0.2"
+- }
+- },
+- "is-descriptor": {
+- "version": "1.0.2",
+- "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+- "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+- "dev": true,
+- "requires": {
+- "is-accessor-descriptor": "1.0.0",
+- "is-data-descriptor": "1.0.0",
+- "kind-of": "6.0.2"
+- }
+- },
+- "is-extglob": {
+- "version": "2.1.1",
+- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+- "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+- "dev": true
+- },
+- "is-glob": {
+- "version": "4.0.1",
+- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+- "dev": true,
+- "requires": {
+- "is-extglob": "2.1.1"
+- }
+- },
+- "is-number": {
+- "version": "3.0.0",
+- "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+- "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+- "dev": true,
+- "requires": {
+- "kind-of": "3.2.2"
+- },
+- "dependencies": {
+- "kind-of": {
+- "version": "3.2.2",
+- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+- "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+- "dev": true,
+- "requires": {
+- "is-buffer": "1.1.6"
+- }
+- }
+- }
+- },
+- "isarray": {
+- "version": "2.0.1",
+- "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
+- "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
+- "dev": true
+- },
+- "isobject": {
+- "version": "3.0.1",
+- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+- "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+- "dev": true
+- },
+- "kind-of": {
+- "version": "6.0.2",
+- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+- "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+- "dev": true
+- },
+- "log4js": {
+- "version": "3.0.6",
+- "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.6.tgz",
+- "integrity": "sha512-ezXZk6oPJCWL483zj64pNkMuY/NcRX5MPiB0zE6tjZM137aeusrOnW1ecxgF9cmwMWkBMhjteQxBPoZBh9FDxQ==",
+- "dev": true,
+- "requires": {
+- "circular-json": "0.5.9",
+- "date-format": "1.2.0",
+- "debug": "3.2.6",
+- "rfdc": "1.1.4",
+- "streamroller": "0.7.0"
+- },
+- "dependencies": {
+- "debug": {
+- "version": "3.2.6",
+- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+- "dev": true,
+- "requires": {
+- "ms": "2.1.2"
+- }
+- }
+- }
+- },
+- "micromatch": {
+- "version": "3.1.10",
+- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+- "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+- "dev": true,
+- "requires": {
+- "arr-diff": "4.0.0",
+- "array-unique": "0.3.2",
+- "braces": "2.3.2",
+- "define-property": "2.0.2",
+- "extend-shallow": "3.0.2",
+- "extglob": "2.0.4",
+- "fragment-cache": "0.2.1",
+- "kind-of": "6.0.2",
+- "nanomatch": "1.2.13",
+- "object.pick": "1.3.0",
+- "regex-not": "1.0.2",
+- "snapdragon": "0.8.2",
+- "to-regex": "3.0.2"
+- }
+- },
+- "mime": {
+- "version": "2.4.4",
+- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
+- "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==",
- "dev": true
- },
- "minimatch": {
@@ -106,26 +901,203 @@
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
-- "brace-expansion": "1.1.8"
+- "brace-expansion": "1.1.11"
+- }
+- },
+- "ms": {
+- "version": "2.1.2",
+- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+- "dev": true
+- },
+- "nan": {
+- "version": "2.14.0",
+- "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
+- "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="
+- },
+- "normalize-path": {
+- "version": "3.0.0",
+- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+- "dev": true
+- },
+- "parseqs": {
+- "version": "0.0.5",
+- "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
+- "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
+- "dev": true,
+- "requires": {
+- "better-assert": "1.0.2"
+- }
+- },
+- "parseuri": {
+- "version": "0.0.5",
+- "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
+- "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
+- "dev": true,
+- "requires": {
+- "better-assert": "1.0.2"
+- }
+- },
+- "socket.io": {
+- "version": "2.1.1",
+- "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz",
+- "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==",
+- "dev": true,
+- "requires": {
+- "debug": "3.1.0",
+- "engine.io": "3.2.1",
+- "has-binary2": "1.0.3",
+- "socket.io-adapter": "1.1.1",
+- "socket.io-client": "2.1.1",
+- "socket.io-parser": "3.2.0"
+- },
+- "dependencies": {
+- "debug": {
+- "version": "3.1.0",
+- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+- "dev": true,
+- "requires": {
+- "ms": "2.0.0"
+- }
+- },
+- "ms": {
+- "version": "2.0.0",
+- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+- "dev": true
+- }
+- }
+- },
+- "socket.io-adapter": {
+- "version": "1.1.1",
+- "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
+- "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=",
+- "dev": true
+- },
+- "socket.io-client": {
+- "version": "2.1.1",
+- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz",
+- "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==",
+- "dev": true,
+- "requires": {
+- "backo2": "1.0.2",
+- "base64-arraybuffer": "0.1.5",
+- "component-bind": "1.0.0",
+- "component-emitter": "1.2.1",
+- "debug": "3.1.0",
+- "engine.io-client": "3.2.1",
+- "has-binary2": "1.0.3",
+- "has-cors": "1.1.0",
+- "indexof": "0.0.1",
+- "object-component": "0.0.3",
+- "parseqs": "0.0.5",
+- "parseuri": "0.0.5",
+- "socket.io-parser": "3.2.0",
+- "to-array": "0.1.4"
+- },
+- "dependencies": {
+- "debug": {
+- "version": "3.1.0",
+- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+- "dev": true,
+- "requires": {
+- "ms": "2.0.0"
+- }
+- },
+- "ms": {
+- "version": "2.0.0",
+- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+- "dev": true
+- }
+- }
+- },
+- "socket.io-parser": {
+- "version": "3.2.0",
+- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz",
+- "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==",
+- "dev": true,
+- "requires": {
+- "component-emitter": "1.2.1",
+- "debug": "3.1.0",
+- "isarray": "2.0.1"
+- },
+- "dependencies": {
+- "debug": {
+- "version": "3.1.0",
+- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+- "dev": true,
+- "requires": {
+- "ms": "2.0.0"
+- }
+- },
+- "ms": {
+- "version": "2.0.0",
+- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+- "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+- "dev": true
+- }
- }
- },
- "source-map": {
-- "version": "0.5.7",
-- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+- "version": "0.6.1",
+- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+- "dev": true
+- },
+- "tmp": {
+- "version": "0.0.33",
+- "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+- "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+- "dev": true,
+- "requires": {
+- "os-tmpdir": "1.0.2"
+- }
+- },
+- "ultron": {
+- "version": "1.1.1",
+- "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
+- "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
+- "dev": true
+- },
+- "upath": {
+- "version": "1.1.2",
+- "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz",
+- "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==",
+- "dev": true
+- },
+- "ws": {
+- "version": "3.3.3",
+- "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
+- "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
+- "dev": true,
+- "requires": {
+- "async-limiter": "1.0.0",
+- "safe-buffer": "5.1.2",
+- "ultron": "1.1.1"
+- }
+- },
+- "xmlhttprequest-ssl": {
+- "version": "1.5.5",
+- "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
+- "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
- "dev": true
- }
- }
- },
- "karma-coverage": {
-- "version": "1.1.1",
-- "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.1.tgz",
-- "integrity": "sha1-Wv+LOc9plNwi3kyENix2ABtjfPY=",
+- "version": "1.1.2",
+- "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.1.2.tgz",
+- "integrity": "sha512-eQawj4Cl3z/CjxslYy9ariU4uDh7cCNFZHNWXWRpl0pNeblY/4wHR7M7boTYXWrn9bY0z2pZmr11eKje/S/hIw==",
- "dev": true,
- "requires": {
- "dateformat": "1.0.12",
- "istanbul": "0.4.5",
-- "lodash": "3.10.1",
+- "lodash": "4.17.11",
- "minimatch": "3.0.4",
- "source-map": "0.5.7"
- },
@@ -140,19 +1112,13 @@
- "meow": "3.7.0"
- }
- },
-- "lodash": {
-- "version": "3.10.1",
-- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
-- "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
-- "dev": true
-- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
-- "brace-expansion": "1.1.8"
+- "brace-expansion": "1.1.11"
- }
- },
- "source-map": {
@@ -164,10 +1130,13 @@
- }
- },
- "karma-jasmine": {
-- "version": "1.0.2",
-- "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-1.0.2.tgz",
-- "integrity": "sha1-wLOrMnvyB9tg4X+ifbN8/e9djmw=",
-- "dev": true
+- "version": "2.0.1",
+- "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-2.0.1.tgz",
+- "integrity": "sha512-iuC0hmr9b+SNn1DaUD2QEYtUxkS1J+bSJSn7ejdEexs7P8EYvA1CWkEdrDQ+8jVH3AgWlCNwjYsT1chjcNW9lA==",
+- "dev": true,
+- "requires": {
+- "jasmine-core": "3.4.0"
+- }
- },
- "karma-phantomjs-launcher": {
- "version": "1.0.4",
@@ -175,7 +1144,7 @@
- "integrity": "sha1-0jyjSAG9qYY60xjju0vUBisTrNI=",
- "dev": true,
- "requires": {
-- "lodash": "4.17.4",
+- "lodash": "4.17.11",
- "phantomjs-prebuilt": "2.1.16"
- }
- },
@@ -185,7 +1154,7 @@
- "integrity": "sha1-kTIsd/jxPUb+0GKwQuEAnUxFBdg=",
- "dev": true,
- "requires": {
-- "graceful-fs": "4.1.11"
+- "graceful-fs": "4.1.15"
- }
- },
- "karma-spec-reporter": {
@@ -198,37 +1167,100 @@
- }
- },
- "karma-webpack": {
-- "version": "1.8.1",
-- "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-1.8.1.tgz",
-- "integrity": "sha1-OdX9Lt7qPMPvW0BZibN9Ww5qO04=",
+- "version": "3.0.5",
+- "resolved": "https://registry.npmjs.org/karma-webpack/-/karma-webpack-3.0.5.tgz",
+- "integrity": "sha512-nRudGJWstvVuA6Tbju9tyGUfXTtI1UXMXoRHVmM2/78D0q6s/Ye2IC157PKNDC15PWFGR0mVIRtWLAdcfsRJoA==",
- "dev": true,
- "requires": {
-- "async": "0.9.2",
-- "loader-utils": "0.2.17",
-- "lodash": "3.10.1",
-- "source-map": "0.1.43",
-- "webpack-dev-middleware": "1.12.2"
+- "async": "2.6.2",
+- "babel-runtime": "6.26.0",
+- "loader-utils": "1.1.0",
+- "lodash": "4.17.11",
+- "source-map": "0.5.7",
+- "webpack-dev-middleware": "2.0.6"
- },
- "dependencies": {
+- "ansi-styles": {
+- "version": "3.2.1",
+- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+- "dev": true,
+- "requires": {
+- "color-convert": "1.9.3"
+- }
+- },
- "async": {
-- "version": "0.9.2",
-- "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
-- "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
+- "version": "2.6.2",
+- "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz",
+- "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==",
+- "dev": true,
+- "requires": {
+- "lodash": "4.17.11"
+- }
+- },
+- "chalk": {
+- "version": "2.4.2",
+- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+- "dev": true,
+- "requires": {
+- "ansi-styles": "3.2.1",
+- "escape-string-regexp": "1.0.5",
+- "supports-color": "5.5.0"
+- }
+- },
+- "has-flag": {
+- "version": "3.0.0",
+- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+- "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
-- "lodash": {
-- "version": "3.10.1",
-- "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
-- "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+- "mime": {
+- "version": "2.4.4",
+- "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
+- "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==",
- "dev": true
- },
- "source-map": {
-- "version": "0.1.43",
-- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
-- "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+- "version": "0.5.7",
+- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+- "dev": true
+- },
+- "supports-color": {
+- "version": "5.5.0",
+- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "dev": true,
- "requires": {
-- "amdefine": "1.0.1"
+- "has-flag": "3.0.0"
+- }
+- },
+- "webpack-dev-middleware": {
+- "version": "2.0.6",
+- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-2.0.6.tgz",
+- "integrity": "sha512-tj5LLD9r4tDuRIDa5Mu9lnY2qBBehAITv6A9irqXhw/HQquZgTx3BCd57zYbU2gMDnncA49ufK2qVQSbaKJwOw==",
+- "dev": true,
+- "requires": {
+- "loud-rejection": "1.6.0",
+- "memory-fs": "0.4.1",
+- "mime": "2.4.4",
+- "path-is-absolute": "1.0.1",
+- "range-parser": "1.2.0",
+- "url-join": "2.0.5",
+- "webpack-log": "1.2.0"
+- }
+- },
+- "webpack-log": {
+- "version": "1.2.0",
+- "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-1.2.0.tgz",
+- "integrity": "sha512-U9AnICnu50HXtiqiDxuli5gLB5PGBo7VvcHx36jRZHwK4vzOYLbImqT4lwWwoMHdQWwEKw736fCHEekokTEKHA==",
+- "dev": true,
+- "requires": {
+- "chalk": "2.4.2",
+- "log-symbols": "2.2.0",
+- "loglevelnext": "1.0.5",
+- "uuid": "3.3.2"
- }
- }
- }
@@ -236,7 +1268,7 @@
"kew": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
-@@ -8392,40 +8205,6 @@
+@@ -10957,40 +9762,6 @@
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
"dev": true
},
@@ -246,27 +1278,27 @@
- "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=",
- "dev": true,
- "requires": {
-- "es6-promise": "4.1.1",
-- "extract-zip": "1.6.6",
+- "es6-promise": "4.2.5",
+- "extract-zip": "1.6.7",
- "fs-extra": "1.0.0",
- "hasha": "2.2.0",
- "kew": "0.7.0",
- "progress": "1.1.8",
-- "request": "2.83.0",
+- "request": "2.88.0",
- "request-progress": "2.0.1",
-- "which": "1.3.0"
+- "which": "1.3.1"
- },
- "dependencies": {
- "es6-promise": {
-- "version": "4.1.1",
-- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz",
-- "integrity": "sha512-OaU1hHjgJf+b0NzsxCg7NdIYERD6Hy/PEmFLTjw+b65scuisG3Kt4QoTvJ66BBkPZ581gr0kpoVzKnxniM8nng==",
+- "version": "4.2.5",
+- "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
+- "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
- "dev": true
- },
- "which": {
-- "version": "1.3.0",
-- "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
-- "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
+- "version": "1.3.1",
+- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "2.0.0"
@@ -274,11 +1306,11 @@
- }
- }
- },
- "pify": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "pidtree": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.0.tgz",
diff --git a/zeppelin-web/package.json b/zeppelin-web/package.json
-index 0c54eeac0..6db67fe9c 100644
+index de83a629d..8676b0192 100644
--- a/zeppelin-web/package.json
+++ b/zeppelin-web/package.json
@@ -18,11 +18,8 @@
@@ -289,22 +1321,22 @@
"pree2e": "webdriver-manager update --gecko false --versions.chrome=2.35",
- "e2e": "protractor protractor.conf.js",
- "pretest": "npm rebuild phantomjs-prebuilt",
-- "test": "karma start karma.conf.js"
+- "karma-test": "karma start karma.conf.js"
+ "e2e": "protractor protractor.conf.js"
},
"dependencies": {
"angular-ui-grid": "4.4.6",
@@ -80,13 +77,6 @@
"istanbul-instrumenter-loader": "^0.2.0",
- "jasmine-core": "^2.5.2",
- "jasmine-spec-reporter": "^4.1.1",
-- "karma": "~1.3.0",
-- "karma-coverage": "^1.1.1",
-- "karma-jasmine": "~1.0.2",
+ "jasmine-core": "^3.3.0",
+ "jasmine-spec-reporter": "^4.2.1",
+- "karma": "~3.1.3",
+- "karma-coverage": "^1.1.2",
+- "karma-jasmine": "~2.0.1",
- "karma-phantomjs-launcher": "^1.0.4",
- "karma-sourcemap-loader": "^0.3.7",
- "karma-spec-reporter": "0.0.31",
-- "karma-webpack": "^1.8.1",
+- "karma-webpack": "^3.0.5",
"load-grunt-tasks": "^0.4.0",
+ "mini-css-extract-plugin": "^0.4.4",
"ng-annotate-loader": "^0.2.0",
- "npm-run-all": "^3.1.2",
diff --git a/bigtop-packages/src/common/zeppelin/patch2-maven-code-coverage.diff b/bigtop-packages/src/common/zeppelin/patch2-maven-code-coverage.diff
deleted file mode 100644
index c0653ca..0000000
--- a/bigtop-packages/src/common/zeppelin/patch2-maven-code-coverage.diff
+++ /dev/null
@@ -1,102 +0,0 @@
-diff --git a/zeppelin-server/pom.xml b/zeppelin-server/pom.xml
-index 79ea56e5b..81356e862 100644
---- a/zeppelin-server/pom.xml
-+++ b/zeppelin-server/pom.xml
-@@ -105,6 +105,10 @@
- <groupId>com.sun.jersey</groupId>
- <artifactId>jersey-server</artifactId>
- </exclusion>
-+ <exclusion>
-+ <groupId>com.nimbusds</groupId>
-+ <artifactId>nimbus-jose-jwt</artifactId>
-+ </exclusion>
- </exclusions>
- </dependency>
-
-@@ -189,7 +193,7 @@
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
-- <version>1.9.2</version>
-+ <version>1.9.4</version>
- </dependency>
-
- <dependency>
-diff --git a/zeppelin-zengine/pom.xml b/zeppelin-zengine/pom.xml
-index 59332af4d..ecd678fbc 100644
---- a/zeppelin-zengine/pom.xml
-+++ b/zeppelin-zengine/pom.xml
-@@ -193,6 +193,10 @@
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- </exclusion>
-+ <exclusion>
-+ <groupId>com.fasterxml.jackson.core</groupId>
-+ <artifactId>jackson-core</artifactId>
-+ </exclusion>
- </exclusions>
- </dependency>
-
-@@ -488,6 +492,14 @@
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- </exclusion>
-+ <exclusion>
-+ <groupId>org.apache.commons</groupId>
-+ <artifactId>commons-lang3</artifactId>
-+ </exclusion>
-+ <exclusion>
-+ <groupId>org.apache.zookeeper</groupId>
-+ <artifactId>zookeeper</artifactId>
-+ </exclusion>
- </exclusions>
- </dependency>
-
-@@ -566,6 +578,14 @@
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- </exclusion>
-+ <exclusion>
-+ <groupId>org.apache.commons</groupId>
-+ <artifactId>commons-lang3</artifactId>
-+ </exclusion>
-+ <exclusion>
-+ <groupId>org.apache.zookeeper</groupId>
-+ <artifactId>zookeeper</artifactId>
-+ </exclusion>
- </exclusions>
- </dependency>
-
-@@ -710,6 +730,10 @@
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- </exclusion>
-+ <exclusion>
-+ <groupId>jline</groupId>
-+ <artifactId>jline</artifactId>
-+ </exclusion>
- </exclusions>
- </dependency>
-
-@@ -776,6 +800,10 @@
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- </exclusion>
-+ <exclusion>
-+ <groupId>org.apache.commons</groupId>
-+ <artifactId>commons-lang3</artifactId>
-+ </exclusion>
- </exclusions>
- </dependency>
-
-@@ -900,6 +928,10 @@
- <groupId>joda-time</groupId>
- <artifactId>joda-time</artifactId>
- </exclusion>
-+ <exclusion>
-+ <groupId>org.apache.commons</groupId>
-+ <artifactId>commons-lang3</artifactId>
-+ </exclusion>
- </exclusions>
- </dependency>
- </dependencies>
diff --git a/bigtop-packages/src/common/zeppelin/patch3-azure-storage-7.0.1.diff b/bigtop-packages/src/common/zeppelin/patch3-azure-storage-7.0.1.diff
deleted file mode 100644
index 518c975..0000000
--- a/bigtop-packages/src/common/zeppelin/patch3-azure-storage-7.0.1.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java
-index 3b0108890..679f2513a 100644
---- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java
-+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/repo/AzureNotebookRepo.java
-@@ -160,7 +160,7 @@ public class AzureNotebookRepo implements NotebookRepo {
- }
-
- // unfortunately, we need to use a recursive delete here
-- private void delete(ListFileItem item) throws StorageException {
-+ private void delete(ListFileItem item) throws StorageException, URISyntaxException {
- if (item.getClass() == CloudFileDirectory.class) {
- CloudFileDirectory dir = (CloudFileDirectory) item;
-
diff --git a/bigtop-packages/src/rpm/zeppelin/SPECS/zeppelin.spec b/bigtop-packages/src/rpm/zeppelin/SPECS/zeppelin.spec
index 931b565..e20ee5e 100644
--- a/bigtop-packages/src/rpm/zeppelin/SPECS/zeppelin.spec
+++ b/bigtop-packages/src/rpm/zeppelin/SPECS/zeppelin.spec
@@ -41,7 +41,6 @@
Summary: Web-based notebook for Apache Spark
URL: http://zeppelin.apache.org/
Group: Applications/Engineering
-BuildArch: noarch
Buildroot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
License: ASL 2.0
Source0: %{name}-%{zeppelin_base_version}.tar.gz
@@ -56,6 +55,7 @@
Requires(preun): /sbin/service
AutoReq: no
+%global debug_package %{nil}
%global initd_dir %{_sysconfdir}/init.d
%if %{?suse_version:1}0
@@ -123,16 +123,14 @@
#######################
%files
%defattr(-,root,root,755)
-%config(noreplace) %{config_zeppelin}.dist
%doc %{doc_zeppelin}
%{lib_zeppelin}/*.war
%{lib_zeppelin}/bin
%{lib_zeppelin}/conf
%{lib_zeppelin}/interpreter
%{lib_zeppelin}/lib
-%attr(0755,zeppelin,zeppelin) %{etc_zeppelin}
+%config(noreplace) %attr(0755,zeppelin,zeppelin) %{etc_zeppelin}
%attr(0755,zeppelin,zeppelin) %{var_lib_zeppelin}
%attr(0755,zeppelin,zeppelin) %{var_run_zeppelin}
-%attr(0755,zeppelin,zeppelin) %{var_run_zeppelin}/webapps
%attr(0755,zeppelin,zeppelin) %{var_log_zeppelin}
%attr(0755,root,root)/%{initd_dir}/%{name}
diff --git a/bigtop.bom b/bigtop.bom
index 4026b0b..9d7a776 100644
--- a/bigtop.bom
+++ b/bigtop.bom
@@ -374,7 +374,7 @@
'zeppelin' {
name = 'zeppelin'
relNotes = 'Apache Zeppelin'
- version { base = '0.8.2'; pkg = base; release = 1 }
+ version { base = '0.9.0'; pkg = base; release = 1 }
tarball { source = "$name-${version.base}.tgz"
destination = "$name-${version.base}.tar.gz" }
url { download_path = "/$name/$name-${version.base}/"