From 8f643a7b259898b46b44a44804258c06d2bb35aa Mon Sep 17 00:00:00 2001 From: Jeff Zhang Date: Tue, 10 Oct 2017 09:51:15 +0800 Subject: [PATCH 1/2] ZEPPELIN-2982. Copy interpreter-setting.json to interpreter dir --- alluxio/pom.xml | 53 +------ angular/pom.xml | 56 ++----- beam/pom.xml | 64 +------- bigquery/pom.xml | 85 +++-------- cassandra/pom.xml | 54 +------ elasticsearch/pom.xml | 53 +------ file/pom.xml | 59 +------- flink/pom.xml | 75 ++-------- geode/pom.xml | 52 +------ groovy/pom.xml | 81 ++-------- .../org/apache/zeppelin/groovy/GObject.java | 2 +- .../zeppelin/groovy/GroovyInterpreter.java | 2 +- hbase/pom.xml | 53 +------ helium-dev/pom.xml | 51 ++----- ignite/pom.xml | 54 +------ interpreter-parent/pom.xml | 138 ++++++++++++++++++ jdbc/pom.xml | 52 +------ kylin/pom.xml | 56 ++----- lens/pom.xml | 67 +-------- livy/pom.xml | 55 +------ markdown/pom.xml | 53 +------ pig/pom.xml | 55 +------ python/pom.xml | 61 ++------ scalding/pom.xml | 54 +------ scio/pom.xml | 45 ++---- shell/pom.xml | 57 +------- zeppelin-interpreter/pom.xml | 75 ++++++++++ .../InterpreterSettingManager.java | 11 +- 28 files changed, 413 insertions(+), 1160 deletions(-) create mode 100644 interpreter-parent/pom.xml diff --git a/alluxio/pom.xml b/alluxio/pom.xml index ed6b9812865..f36494e94c5 100644 --- a/alluxio/pom.xml +++ b/alluxio/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 @@ 1.0.0 + alluxio @@ -129,54 +130,12 @@ maven-enforcer-plugin - - - enforce - none - - - maven-dependency-plugin - - - copy-dependencies - package - - copy-dependencies - - - ${project.build.directory}/../../interpreter/alluxio - false - false - true - runtime - - - - copy-artifact - package - - copy - - - ${project.build.directory}/../../interpreter/alluxio - false - false - true - runtime - - - ${project.groupId} - ${project.artifactId} - ${project.version} - ${project.packaging} - - - - - + + + maven-resources-plugin diff --git a/angular/pom.xml b/angular/pom.xml index be43e496a49..9ff2acb80e4 100644 --- a/angular/pom.xml +++ b/angular/pom.xml @@ -20,10 +20,10 @@ 4.0.0 - zeppelin + interpreter-parent org.apache.zeppelin 0.8.0-SNAPSHOT - .. + ../interpreter-parent org.apache.zeppelin @@ -32,6 +32,10 @@ 0.8.0-SNAPSHOT Zeppelin: Angular interpreter + + angular + + ${project.groupId} @@ -61,54 +65,12 @@ maven-enforcer-plugin - - - enforce - none - - - maven-dependency-plugin - - - copy-dependencies - package - - copy-dependencies - - - ${project.build.directory}/../../interpreter/angular - false - false - true - runtime - - - - copy-artifact - package - - copy - - - ${project.build.directory}/../../interpreter/angular - false - false - true - runtime - - - ${project.groupId} - ${project.artifactId} - ${project.version} - ${project.packaging} - - - - - + + + maven-resources-plugin diff --git a/beam/pom.xml b/beam/pom.xml index 166652793fe..a1d47615355 100644 --- a/beam/pom.xml +++ b/beam/pom.xml @@ -20,10 +20,10 @@ 4.0.0 - zeppelin + interpreter-parent org.apache.zeppelin 0.8.0-SNAPSHOT - .. + ../interpreter-parent org.apache.zeppelin @@ -41,6 +41,7 @@ 4.1.1.Final 3.1.0 1.3 + beam @@ -240,69 +241,18 @@ + - - - org.apache.maven.plugins - maven-deploy-plugin - - true - - - maven-enforcer-plugin - - - enforce - none - - - maven-dependency-plugin - - - copy-dependencies - package - - copy-dependencies - - - ${project.build.directory}/../../interpreter/beam - false - false - true - runtime - - - - copy-artifact - package - - copy - - - ${project.build.directory}/../../interpreter/beam - false - false - true - runtime - - - ${project.groupId} - ${project.artifactId} - ${project.version} - ${project.packaging} - - - - - - + + maven-resources-plugin + diff --git a/bigquery/pom.xml b/bigquery/pom.xml index f974b988153..db88edafaf6 100644 --- a/bigquery/pom.xml +++ b/bigquery/pom.xml @@ -21,9 +21,10 @@ 4.0.0 - zeppelin + interpreter-parent org.apache.zeppelin 0.8.0-SNAPSHOT + ../interpreter-parent org.apache.zeppelin @@ -41,6 +42,7 @@ v2-rev265-1.21.0 2.6 + bigquery @@ -99,12 +101,12 @@ maven-enforcer-plugin - - - enforce - none - - + + + maven-dependency-plugin + + + maven-resources-plugin @@ -116,63 +118,22 @@ - - maven-dependency-plugin - - - copy-dependencies - package - - copy-dependencies - - - ${project.build.directory}/../../interpreter/bqsql - false - false - true - runtime - - - - copy-artifact - package - - copy - - - ${project.build.directory}/../../interpreter/bqsql - false - false - true - runtime - - - ${project.groupId} - ${project.artifactId} - ${project.version} - ${project.packaging} - - - - - + maven-assembly-plugin + + + + + org.apache.zeppelin.bigquery.BigQueryInterpreter + + + + + jar-with-dependencies + + - - maven-assembly-plugin - - - - - org.apache.zeppelin.bigquery.BigQueryInterpreter - - - - - jar-with-dependencies - - - + diff --git a/cassandra/pom.xml b/cassandra/pom.xml index 05108e9fd48..4b139e9c60a 100644 --- a/cassandra/pom.xml +++ b/cassandra/pom.xml @@ -20,10 +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 @@ -49,6 +49,7 @@ 2.15.2 1.0 1.7.1 + cassandra @@ -241,55 +242,14 @@ maven-enforcer-plugin - - - enforce - none - - - maven-dependency-plugin - - - copy-dependencies - package - - copy-dependencies - - - ${project.build.directory}/../../interpreter/cassandra - false - false - true - runtime - - - - copy-artifact - package - - copy - - - ${project.build.directory}/../../interpreter/cassandra - false - false - true - runtime - - - ${project.groupId} - ${project.artifactId} - ${project.version} - ${project.packaging} - - - - - + + + maven-resources-plugin + diff --git a/elasticsearch/pom.xml b/elasticsearch/pom.xml index 6042a14eaee..b317e285813 100644 --- a/elasticsearch/pom.xml +++ b/elasticsearch/pom.xml @@ -20,10 +20,10 @@ 4.0.0 - zeppelin + interpreter-parent org.apache.zeppelin 0.8.0-SNAPSHOT - .. + ../interpreter-parent zeppelin-elasticsearch @@ -32,6 +32,7 @@ Zeppelin: Elasticsearch interpreter + elasticsearch 2.4.3 4.0.2 18.0 @@ -93,54 +94,12 @@ maven-enforcer-plugin - - - enforce - none - - - maven-dependency-plugin - - - copy-dependencies - package - - copy-dependencies - - - ${project.build.directory}/../../interpreter/elasticsearch - false - false - true - runtime - - - - copy-artifact - package - - copy - - - ${project.build.directory}/../../interpreter/elasticsearch - false - false - true - runtime - - - ${project.groupId} - ${project.artifactId} - ${project.version} - ${project.packaging} - - - - - + + + maven-resources-plugin diff --git a/file/pom.xml b/file/pom.xml index 2493c1fae4c..1a76683215b 100644 --- a/file/pom.xml +++ b/file/pom.xml @@ -20,9 +20,10 @@ 4.0.0 - zeppelin + interpreter-parent org.apache.zeppelin 0.8.0-SNAPSHOT + ../interpreter-parent org.apache.zeppelin @@ -33,11 +34,13 @@ + file 2.0 2.22.2 2.18.1 + file @@ -79,62 +82,14 @@ - - org.apache.maven.plugins - maven-surefire-plugin - ${plugin.surefire.version} - - maven-enforcer-plugin - - - enforce - none - - - maven-dependency-plugin - - - copy-dependencies - package - - copy-dependencies - - - ${project.build.directory}/../../interpreter/file - false - false - true - runtime - - - - copy-artifact - package - - copy - - - ${project.build.directory}/../../interpreter/file - false - false - true - - - - ${project.groupId} - ${project.artifactId} - ${project.version} - ${project.packaging} - - - - - + + + maven-resources-plugin diff --git a/flink/pom.xml b/flink/pom.xml index 19e7c5e48b1..5c0cc3bf906 100644 --- a/flink/pom.xml +++ b/flink/pom.xml @@ -20,10 +20,10 @@ 4.0.0 - zeppelin + interpreter-parent org.apache.zeppelin 0.8.0-SNAPSHOT - .. + ../interpreter-parent org.apache.zeppelin @@ -35,6 +35,7 @@ + flink 1.1.3 2.3.7 2.0.1 @@ -280,68 +281,16 @@ - - maven-enforcer-plugin - - - enforce - none - - - + + maven-enforcer-plugin + + + maven-dependency-plugin + + + maven-resources-plugin + - - org.apache.maven.plugins - maven-surefire-plugin - - 1 - false - -Xmx1024m -XX:MaxPermSize=256m - - - - - org.apache.maven.plugins - maven-dependency-plugin - - - copy-dependencies - package - - copy-dependencies - - - ${project.build.directory}/../../interpreter/flink - false - false - true - runtime - - - - copy-artifact - package - - copy - - - ${project.build.directory}/../../interpreter/flink - false - false - true - runtime - - - ${project.groupId} - ${project.artifactId} - ${project.version} - ${project.packaging} - - - - - - diff --git a/geode/pom.xml b/geode/pom.xml index e8eb9fc8462..4a9dadd234b 100644 --- a/geode/pom.xml +++ b/geode/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 @@ + geode 1.1.0 1.3 @@ -86,54 +88,12 @@ maven-enforcer-plugin - - - enforce - none - - - maven-dependency-plugin - - - copy-dependencies - package - - copy-dependencies - - - ${project.build.directory}/../../interpreter/geode - false - false - true - runtime - - - - copy-artifact - package - - copy - - - ${project.build.directory}/../../interpreter/geode - false - false - true - runtime - - - ${project.groupId} - ${project.artifactId} - ${project.version} - ${project.packaging} - - - - - + + + maven-resources-plugin diff --git a/groovy/pom.xml b/groovy/pom.xml index bee50bd82ec..64c51f85612 100644 --- a/groovy/pom.xml +++ b/groovy/pom.xml @@ -20,11 +20,11 @@ 4.0.0 - zeppelin + interpreter-parent org.apache.zeppelin 0.8.0-SNAPSHOT - .. + ../interpreter-parent org.apache.zeppelin @@ -33,6 +33,10 @@ 0.8.0-SNAPSHOT Zeppelin: Groovy interpreter + + groovy + + ${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( From ccccd32e8365421ee3e47c234015622a27f4b85e Mon Sep 17 00:00:00 2001 From: Jeff Zhang Date: Thu, 12 Oct 2017 09:29:25 +0800 Subject: [PATCH 2/2] update doc --- .../writing_zeppelin_interpreter.md | 44 ++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/docs/development/writing_zeppelin_interpreter.md b/docs/development/writing_zeppelin_interpreter.md index 6ba24bc44a7..f4c0bc939da 100644 --- a/docs/development/writing_zeppelin_interpreter.md +++ b/docs/development/writing_zeppelin_interpreter.md @@ -40,7 +40,49 @@ In 'Separate Interpreter(scoped / isolated) for each note' mode which you can se ## Make your own Interpreter Creating a new interpreter is quite simple. Just extend [org.apache.zeppelin.interpreter](https://github.com/apache/zeppelin/blob/master/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/Interpreter.java) abstract class and implement some methods. -You can include `org.apache.zeppelin:zeppelin-interpreter:[VERSION]` artifact in your build system. And you should put your jars under your interpreter directory with a specific directory name. Zeppelin server reads interpreter directories recursively and initializes interpreters including your own interpreter. +For your interpreter project, you need to make `interpreter-parent` as your parent project and use plugin `maven-enforcer-plugin`, `maven-dependency-plugin` and `maven-resources-plugin`. Here's one sample pom.xml + +``` + + 4.0.0 + + + interpreter-parent + org.apache.zeppelin + 0.8.0-SNAPSHOT + ../interpreter-parent + + + ... + + + + org.apache.zeppelin + zeppelin-interpreter + ${project.version} + provided + + + + + + + maven-enforcer-plugin + + + maven-dependency-plugin + + + maven-resources-plugin + + + + + +``` + +You should include `org.apache.zeppelin:zeppelin-interpreter:[VERSION]` as your interpreter's dependency in `pom.xml`. Bes +And you should put your jars under your interpreter directory with a specific directory name. Zeppelin server reads interpreter directories recursively and initializes interpreters including your own interpreter. There are three locations where you can store your interpreter group, name and other information. Zeppelin server tries to find the location below. Next, Zeppelin tries to find `interpreter-setting.json` in your interpreter jar.