${project.groupId}
@@ -67,81 +71,14 @@
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.1
-
- true
-
-
- -Xlint:unchecked
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-checkstyle-plugin
-
- true
-
-
-
-
maven-enforcer-plugin
- 1.3.1
-
-
- enforce
- none
-
-
-
maven-dependency-plugin
- 2.8
-
-
- copy-dependencies
- package
-
- copy-dependencies
-
-
- ${project.build.directory}/../../interpreter/groovy
- false
- false
- true
- runtime
-
-
-
- copy-artifact
- package
-
- copy
-
-
- ${project.build.directory}/../../interpreter/groovy
- false
- false
- true
- runtime
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${project.packaging}
-
-
-
-
-
+
+
+ maven-resources-plugin
diff --git a/groovy/src/main/java/org/apache/zeppelin/groovy/GObject.java b/groovy/src/main/java/org/apache/zeppelin/groovy/GObject.java
index 7f6809a8997..ce7d00f648c 100644
--- a/groovy/src/main/java/org/apache/zeppelin/groovy/GObject.java
+++ b/groovy/src/main/java/org/apache/zeppelin/groovy/GObject.java
@@ -172,7 +172,7 @@ public Object put(String varName, Object newValue) {
/**
* starts or continues rendering html/angular and returns MarkupBuilder to build html.
* g.html().with{
- * h1("hello")
+ * h1("hello")
* h2("world")
* }
*/
diff --git a/groovy/src/main/java/org/apache/zeppelin/groovy/GroovyInterpreter.java b/groovy/src/main/java/org/apache/zeppelin/groovy/GroovyInterpreter.java
index e10828368f5..8c83ef78341 100644
--- a/groovy/src/main/java/org/apache/zeppelin/groovy/GroovyInterpreter.java
+++ b/groovy/src/main/java/org/apache/zeppelin/groovy/GroovyInterpreter.java
@@ -204,7 +204,7 @@ public void cancel(InterpreterContext context) {
Thread t = (Thread) object;
t.dumpStack();
t.interrupt();
- //t.stop(); //TODO: need some way to terminate maybe through GObject..
+ //t.stop(); //TODO(dlukyanov): need some way to terminate maybe through GObject..
} catch (Throwable t) {
log.error("Failed to cancel script: " + t, t);
}
diff --git a/hbase/pom.xml b/hbase/pom.xml
index 08b0cd70712..8f27631ea2d 100644
--- a/hbase/pom.xml
+++ b/hbase/pom.xml
@@ -20,9 +20,10 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0
- zeppelin
+ interpreter-parent
org.apache.zeppelin
0.8.0-SNAPSHOT
+ ../interpreter-parent
org.apache.zeppelin
@@ -33,6 +34,7 @@
+ hbase
1.0.0
2.6.0
1.6.8
@@ -115,55 +117,14 @@
maven-enforcer-plugin
-
-
- enforce
- none
-
-
-
maven-dependency-plugin
-
-
- copy-dependencies
- package
-
- copy-dependencies
-
-
- ${project.build.directory}/../../interpreter/hbase
- false
- false
- true
- runtime
-
-
-
- copy-artifact
- package
-
- copy
-
-
- ${project.build.directory}/../../interpreter/hbase
- false
- false
- true
- runtime
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${project.packaging}
-
-
-
-
-
+
+
+ maven-resources-plugin
+
diff --git a/helium-dev/pom.xml b/helium-dev/pom.xml
index 77c4dee8e02..8514946d76b 100644
--- a/helium-dev/pom.xml
+++ b/helium-dev/pom.xml
@@ -23,8 +23,9 @@
org.apache.zeppelin
- zeppelin
+ interpreter-parent
0.8.0-SNAPSHOT
+ ../interpreter-parent
org.apache.zeppelin
@@ -32,6 +33,10 @@
0.8.0-SNAPSHOT
Zeppelin: Helium development interpreter
+
+ helium-dev
+
+
org.apache.zeppelin
@@ -43,46 +48,14 @@
+
+ maven-enforcer-plugin
+
maven-dependency-plugin
-
-
- copy-dependencies
- package
-
- copy-dependencies
-
-
- ${project.build.directory}/../../interpreter/helium-dev
- false
- false
- true
- runtime
-
-
-
- copy-artifact
- package
-
- copy
-
-
- ${project.build.directory}/../../interpreter/helium-dev
- false
- false
- true
- runtime
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${project.packaging}
-
-
-
-
-
+
+
+ maven-resources-plugin
diff --git a/ignite/pom.xml b/ignite/pom.xml
index 9b1855c6ff2..ccbd37d8e45 100644
--- a/ignite/pom.xml
+++ b/ignite/pom.xml
@@ -20,10 +20,10 @@
4.0.0
- zeppelin
+ interpreter-parent
org.apache.zeppelin
0.8.0-SNAPSHOT
- ..
+ ../interpreter-parent
zeppelin-ignite_2.10
@@ -32,6 +32,7 @@
Zeppelin: Apache Ignite interpreter
+ ignite
2.2.0
@@ -106,55 +107,12 @@
maven-enforcer-plugin
-
-
- enforce
- none
-
-
-
- org.apache.maven.plugins
maven-dependency-plugin
-
-
- copy-dependencies
- package
-
- copy-dependencies
-
-
- ${project.build.directory}/../../interpreter/ignite
- false
- false
- true
- runtime
-
-
-
- copy-artifact
- package
-
- copy
-
-
- ${project.build.directory}/../../interpreter/ignite
- false
- false
- true
- runtime
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${project.packaging}
-
-
-
-
-
+
+
+ maven-resources-plugin
diff --git a/interpreter-parent/pom.xml b/interpreter-parent/pom.xml
new file mode 100644
index 00000000000..32bdc570e78
--- /dev/null
+++ b/interpreter-parent/pom.xml
@@ -0,0 +1,138 @@
+
+
+
+
+ 4.0.0
+
+
+ zeppelin
+ org.apache.zeppelin
+ 0.8.0-SNAPSHOT
+ ..
+
+
+ org.apache.zeppelin
+ interpreter-parent
+ pom
+ 0.8.0-SNAPSHOT
+ Zeppelin: Interpreter Parent
+
+
+
+
+ ${project.groupId}
+ zeppelin-interpreter
+ 0.8.0-SNAPSHOT
+ provided
+
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
+
+ org.slf4j
+ slf4j-api
+ ${slf4j.version}
+
+
+
+ org.slf4j
+ slf4j-log4j12
+ ${slf4j.version}
+
+
+
+
+
+
+
+
+ maven-enforcer-plugin
+
+
+ enforce
+ none
+
+
+
+
+
+ maven-dependency-plugin
+
+
+ copy-interpreter-dependencies
+ package
+
+ copy-dependencies
+
+
+ ${project.build.directory}/../../interpreter/${interpreter.name}
+ false
+ false
+ true
+ runtime
+
+
+
+ copy-artifact
+ package
+
+ copy
+
+
+ ${project.build.directory}/../../interpreter/${interpreter.name}
+ false
+ false
+ true
+
+
+ ${project.groupId}
+ ${project.artifactId}
+ ${project.version}
+ ${project.packaging}
+
+
+
+
+
+
+
+
+ maven-resources-plugin
+
+
+ copy-interpreter-setting
+ package
+
+ resources
+
+
+ ${project.build.directory}/../../interpreter/${interpreter.name}
+
+
+
+
+
+
+
+
+
diff --git a/jdbc/pom.xml b/jdbc/pom.xml
index 71d33109e68..beec50c0ad6 100644
--- a/jdbc/pom.xml
+++ b/jdbc/pom.xml
@@ -21,9 +21,10 @@
4.0.0
- zeppelin
+ interpreter-parent
org.apache.zeppelin
0.8.0-SNAPSHOT
+ ../interpreter-parent
org.apache.zeppelin
@@ -34,6 +35,7 @@
+ jdbc
9.4-1201-jdbc41
2.7.2
1.4.190
@@ -158,54 +160,12 @@
maven-enforcer-plugin
-
-
- enforce
- none
-
-
-
maven-dependency-plugin
-
-
- copy-dependencies
- package
-
- copy-dependencies
-
-
- ${project.build.directory}/../../interpreter/jdbc
- false
- false
- true
- runtime
-
-
-
- copy-artifact
- package
-
- copy
-
-
- ${project.build.directory}/../../interpreter/jdbc
- false
- false
- true
- runtime
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${project.packaging}
-
-
-
-
-
+
+
+ maven-resources-plugin
diff --git a/kylin/pom.xml b/kylin/pom.xml
index c3559cd04b8..b70facbcc12 100644
--- a/kylin/pom.xml
+++ b/kylin/pom.xml
@@ -21,9 +21,10 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- zeppelin
+ interpreter-parent
org.apache.zeppelin
0.8.0-SNAPSHOT
+ ../interpreter-parent
4.0.0
@@ -33,6 +34,10 @@
0.8.0-SNAPSHOT
Zeppelin: Kylin interpreter
+
+ kylin
+
+
@@ -61,57 +66,14 @@
maven-enforcer-plugin
-
-
- enforce
- none
-
-
-
maven-dependency-plugin
-
-
- copy-dependencies
- package
-
- copy-dependencies
-
-
- ${project.build.directory}/../../interpreter/kylin
- false
- false
- true
- runtime
-
-
-
- copy-artifact
- package
-
- copy
-
-
- ${project.build.directory}/../../interpreter/kylin
- false
- false
- true
- runtime
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${project.packaging}
-
-
-
-
-
+
+
+ maven-resources-plugin
-
diff --git a/lens/pom.xml b/lens/pom.xml
index 0328355793d..ecc0a12ed6f 100644
--- a/lens/pom.xml
+++ b/lens/pom.xml
@@ -20,10 +20,10 @@
4.0.0
- zeppelin
+ interpreter-parent
org.apache.zeppelin
0.8.0-SNAPSHOT
- ..
+ ../interpreter-parent
org.apache.zeppelin
@@ -34,6 +34,7 @@
+ lens
2.5.0-beta
1.1.0.RELEASE
2.4.0
@@ -163,69 +164,13 @@
maven-enforcer-plugin
-
-
- enforce
- none
-
-
-
maven-dependency-plugin
-
-
- copy-dependencies
- package
-
- copy-dependencies
-
-
- ${project.build.directory}/../../interpreter/lens
- false
- false
- true
- runtime
-
-
-
- copy-artifact
- package
-
- copy
-
-
- ${project.build.directory}/../../interpreter/lens
- false
- false
- true
- runtime
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${project.packaging}
-
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-clean-plugin
-
-
-
- ${basedir}/../interpreter/lens
- false
-
-
-
-
-
+
+ maven-resources-plugin
+
diff --git a/livy/pom.xml b/livy/pom.xml
index e7217fb9da6..0ec174a9c4f 100644
--- a/livy/pom.xml
+++ b/livy/pom.xml
@@ -22,10 +22,10 @@
4.0.0
- zeppelin
+ interpreter-parent
org.apache.zeppelin
0.8.0-SNAPSHOT
- ..
+ ../interpreter-parent
org.apache.zeppelin
@@ -36,6 +36,7 @@
+ livy
1.3
4.3.0.RELEASE
1.0.1.RELEASE
@@ -193,56 +194,12 @@
maven-enforcer-plugin
-
-
- enforce
- none
-
-
-
maven-dependency-plugin
-
-
- copy-dependencies
- package
-
- copy-dependencies
-
-
- ${project.build.directory}/../../interpreter/livy
-
- false
- false
- true
- runtime
-
-
-
- copy-artifact
- package
-
- copy
-
-
- ${project.build.directory}/../../interpreter/livy
-
- false
- false
- true
- runtime
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${project.packaging}
-
-
-
-
-
+
+
+ maven-resources-plugin
diff --git a/markdown/pom.xml b/markdown/pom.xml
index 9675aa70957..ca954498075 100644
--- a/markdown/pom.xml
+++ b/markdown/pom.xml
@@ -20,10 +20,10 @@
4.0.0
- zeppelin
+ interpreter-parent
org.apache.zeppelin
0.8.0-SNAPSHOT
- ..
+ ../interpreter-parent
org.apache.zeppelin
@@ -33,6 +33,7 @@
Zeppelin: Markdown interpreter
+ md
3.4
2.2-cj-1.0
1.6.0
@@ -85,54 +86,12 @@
maven-enforcer-plugin
-
-
- enforce
- none
-
-
-
maven-dependency-plugin
-
-
- copy-dependencies
- package
-
- copy-dependencies
-
-
- ${project.build.directory}/../../interpreter/md
- false
- false
- true
- runtime
-
-
-
- copy-artifact
- package
-
- copy
-
-
- ${project.build.directory}/../../interpreter/md
- false
- false
- true
- runtime
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${project.packaging}
-
-
-
-
-
+
+
+ maven-resources-plugin
diff --git a/pig/pom.xml b/pig/pom.xml
index f76a3f90ccc..4a56a342909 100644
--- a/pig/pom.xml
+++ b/pig/pom.xml
@@ -22,9 +22,10 @@
4.0.0
- zeppelin
+ interpreter-parent
org.apache.zeppelin
0.8.0-SNAPSHOT
+ ../interpreter-parent
org.apache.zeppelin
@@ -36,6 +37,7 @@
http://zeppelin.apache.org
+ pig
0.17.0
2.6.0
0.7.0
@@ -175,58 +177,13 @@
maven-enforcer-plugin
-
-
- enforce
- none
-
-
-
maven-dependency-plugin
-
-
- copy-dependencies
- package
-
- copy-dependencies
-
-
- ${project.build.directory}/../../interpreter/pig
-
- false
- false
- true
- runtime
-
-
-
- copy-artifact
- package
-
- copy
-
-
- ${project.build.directory}/../../interpreter/pig
-
- false
- false
- true
- runtime
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${project.packaging}
-
-
-
-
-
-
+
+ maven-resources-plugin
+
maven-surefire-plugin
diff --git a/python/pom.xml b/python/pom.xml
index d46cd10c2d7..a906b5d5f50 100644
--- a/python/pom.xml
+++ b/python/pom.xml
@@ -20,10 +20,10 @@
4.0.0
- zeppelin
+ interpreter-parent
org.apache.zeppelin
0.8.0-SNAPSHOT
- ..
+ ../interpreter-parent
org.apache.zeppelin
@@ -33,6 +33,7 @@
Zeppelin: Python interpreter
+ python
0.9.2
**/PythonInterpreterWithPythonInstalledTest.java,
@@ -141,17 +142,6 @@
-
- maven-enforcer-plugin
- 1.3.1
-
-
- enforce
- none
-
-
-
-
org.codehaus.mojo
wagon-maven-plugin
@@ -212,47 +202,14 @@
+
+ maven-enforcer-plugin
+
maven-dependency-plugin
- 2.8
-
-
- copy-dependencies
- package
-
- copy-dependencies
-
-
- ${project.build.directory}/../../interpreter/python
- false
- false
- true
- runtime
-
-
-
- copy-artifact
- package
-
- copy
-
-
- ${project.build.directory}/../../interpreter/python
- false
- false
- true
- runtime
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${project.packaging}
-
-
-
-
-
+
+
+ maven-resources-plugin
diff --git a/scalding/pom.xml b/scalding/pom.xml
index cc1015f21b1..763afe0bb41 100644
--- a/scalding/pom.xml
+++ b/scalding/pom.xml
@@ -20,10 +20,10 @@
4.0.0
- zeppelin
+ interpreter-parent
org.apache.zeppelin
0.8.0-SNAPSHOT
- ..
+ ../interpreter-parent
org.apache.zeppelin
@@ -33,6 +33,7 @@
Zeppelin: Scalding interpreter
+ scalding
2.6.0
0.16.1-RC1
@@ -147,55 +148,14 @@
maven-enforcer-plugin
-
-
- enforce
- none
-
-
-
maven-dependency-plugin
-
-
- copy-dependencies
- package
-
- copy-dependencies
-
-
- ${project.build.directory}/../../interpreter/scalding
- false
- false
- true
- runtime
-
-
-
- copy-artifact
- package
-
- copy
-
-
- ${project.build.directory}/../../interpreter/scalding
- false
- false
- true
- runtime
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${project.packaging}
-
-
-
-
-
+
+ maven-resources-plugin
+
+
org.scala-tools
diff --git a/scio/pom.xml b/scio/pom.xml
index 3d17dc88efc..27ccb0cc7b8 100644
--- a/scio/pom.xml
+++ b/scio/pom.xml
@@ -20,10 +20,10 @@
4.0.0
- zeppelin
+ interpreter-parent
org.apache.zeppelin
0.8.0-SNAPSHOT
- ..
+ ../interpreter-parent
org.apache.zeppelin
@@ -34,6 +34,7 @@
Zeppelin Scio support
+ scio
0.2.4
14.0.1
@@ -106,12 +107,12 @@
maven-enforcer-plugin
-
-
- enforce
- none
-
-
+
+
+ maven-dependency-plugin
+
+
+ maven-resources-plugin
@@ -156,34 +157,6 @@
-
- org.apache.maven.plugins
- maven-dependency-plugin
-
-
- package
-
- copy
-
-
- ${project.build.directory}/../../interpreter/scio
- false
- false
- true
- runtime
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${project.packaging}
-
-
-
-
-
-
-
org.scala-tools
maven-scala-plugin
diff --git a/shell/pom.xml b/shell/pom.xml
index 58d890084fc..0157d86f532 100644
--- a/shell/pom.xml
+++ b/shell/pom.xml
@@ -20,10 +20,10 @@
4.0.0
- zeppelin
+ interpreter-parent
org.apache.zeppelin
0.8.0-SNAPSHOT
- ..
+ ../interpreter-parent
org.apache.zeppelin
@@ -33,17 +33,18 @@
Zeppelin: Shell interpreter
+ sh
+
3.4
1.3
+ sh
${project.groupId}
zeppelin-interpreter
- ${project.version}
- provided
@@ -79,54 +80,12 @@
maven-enforcer-plugin
-
-
- enforce
- none
-
-
-
maven-dependency-plugin
-
-
- copy-dependencies
- package
-
- copy-dependencies
-
-
- ${project.build.directory}/../../interpreter/sh
- false
- false
- true
- runtime
-
-
-
- copy-artifact
- package
-
- copy
-
-
- ${project.build.directory}/../../interpreter/sh
- false
- false
- true
- runtime
-
-
- ${project.groupId}
- ${project.artifactId}
- ${project.version}
- ${project.packaging}
-
-
-
-
-
+
+
+ maven-resources-plugin
diff --git a/zeppelin-interpreter/pom.xml b/zeppelin-interpreter/pom.xml
index d08ce4edf4e..00184dacfcf 100644
--- a/zeppelin-interpreter/pom.xml
+++ b/zeppelin-interpreter/pom.xml
@@ -232,4 +232,79 @@
test
+
+
+
+
+
+
+ maven-enforcer-plugin
+
+
+ enforce
+ none
+
+
+
+
+
+ maven-dependency-plugin
+
+
+ copy-dependencies
+ package
+
+ copy-dependencies
+
+
+ ${basedir}/interpreter/${project.name}
+ false
+ false
+ true
+ runtime
+
+
+
+ copy-artifact
+ package
+
+ copy
+
+
+ ${basedir}/interpreter/${project.name}
+ false
+ false
+ true
+
+
+ ${project.groupId}
+ ${project.artifactId}
+ ${project.version}
+ ${project.packaging}
+
+
+
+
+
+
+
+
+ maven-resources-plugin
+
+
+ copy-resources
+ package
+
+ resources
+
+
+ ${basedir}/interpreter/{project.name}
+
+
+
+
+
+
+
+
diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
index 73bababdf57..8ed638ebc3b 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java
@@ -192,8 +192,15 @@ private void loadFromFile() {
Map mergedProperties =
new HashMap<>(InterpreterSetting.convertInterpreterProperties(
interpreterSettingTemplate.getProperties()));
- mergedProperties.putAll(InterpreterSetting.convertInterpreterProperties(
- savedInterpreterSetting.getProperties()));
+ Map savedProperties = InterpreterSetting
+ .convertInterpreterProperties(savedInterpreterSetting.getProperties());
+ for (Map.Entry entry : savedProperties.entrySet()) {
+ // only merge properties whose value is not empty
+ if (entry.getValue().getValue() != null && !
+ StringUtils.isBlank(entry.getValue().toString())) {
+ mergedProperties.put(entry.getKey(), entry.getValue());
+ }
+ }
savedInterpreterSetting.setProperties(mergedProperties);
// merge InterpreterInfo
savedInterpreterSetting.setInterpreterInfos(