You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by pd...@apache.org on 2021/10/18 09:58:52 UTC
[zeppelin] 02/06: Use shaded classifier in zeppelin-interpreter
This is an automated email from the ASF dual-hosted git repository.
pdallig pushed a commit to branch interpreter_shade
in repository https://gitbox.apache.org/repos/asf/zeppelin.git
commit 7082b3eff6552a04ec935c30d5e85d8fb363c872
Author: Philipp Dallig <ph...@gmail.com>
AuthorDate: Fri Oct 15 14:24:23 2021 +0200
Use shaded classifier in zeppelin-interpreter
---
bin/interpreter.sh | 4 +-
pom.xml | 1 -
zeppelin-interpreter-parent/pom.xml | 3 +-
zeppelin-interpreter-shaded/pom.xml | 243 ------------------------------------
zeppelin-interpreter/pom.xml | 165 ++++++++++++++++++++++++
zeppelin-zengine/pom.xml | 3 +-
6 files changed, 171 insertions(+), 248 deletions(-)
diff --git a/bin/interpreter.sh b/bin/interpreter.sh
index 6d9c048..d1193ca 100755
--- a/bin/interpreter.sh
+++ b/bin/interpreter.sh
@@ -103,7 +103,7 @@ fi
check_java_version
-ZEPPELIN_INTERPRETER_API_JAR=$(find "${ZEPPELIN_HOME}/interpreter" -name 'zeppelin-interpreter-shaded-*.jar')
+ZEPPELIN_INTERPRETER_API_JAR=$(find "${ZEPPELIN_HOME}/interpreter" -name 'zeppelin-interpreter-*.jar')
ZEPPELIN_INTP_CLASSPATH+=":${CLASSPATH}:${ZEPPELIN_INTERPRETER_API_JAR}"
# construct classpath
@@ -117,7 +117,7 @@ if [[ -d "${ZEPPELIN_HOME}/zeppelin-zengine/target/test-classes" ]]; then
addJarInDirForIntp "${ZEPPELIN_HOME}/zeppelin-zengine/target/test-classes"
fi
-addJarInDirForIntp "${ZEPPELIN_HOME}/zeppelin-interpreter-shaded/target"
+addJarInDirForIntp "${ZEPPELIN_HOME}/zeppelin-interpreter/target"
HOSTNAME=$(hostname)
ZEPPELIN_SERVER=org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer
diff --git a/pom.xml b/pom.xml
index 2ae79ba..83ce87f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -54,7 +54,6 @@
<modules>
<module>zeppelin-interpreter-parent</module>
<module>zeppelin-interpreter</module>
- <module>zeppelin-interpreter-shaded</module>
<module>zeppelin-zengine</module>
<module>zeppelin-display</module>
<module>rlang</module>
diff --git a/zeppelin-interpreter-parent/pom.xml b/zeppelin-interpreter-parent/pom.xml
index fd68af7..6b5950b 100644
--- a/zeppelin-interpreter-parent/pom.xml
+++ b/zeppelin-interpreter-parent/pom.xml
@@ -34,7 +34,8 @@
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>zeppelin-interpreter-shaded</artifactId>
+ <artifactId>zeppelin-interpreter</artifactId>
+ <classifier>shaded</classifier>
<version>${project.version}</version>
<scope>provided</scope>
</dependency>
diff --git a/zeppelin-interpreter-shaded/pom.xml b/zeppelin-interpreter-shaded/pom.xml
deleted file mode 100644
index f3f158d..0000000
--- a/zeppelin-interpreter-shaded/pom.xml
+++ /dev/null
@@ -1,243 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ Licensed to the Apache Software Foundation (ASF) under one or more
- ~ contributor license agreements. See the NOTICE file distributed with
- ~ this work for additional information regarding copyright ownership.
- ~ The ASF licenses this file to You under the Apache License, Version 2.0
- ~ (the "License"); you may not use this file except in compliance with
- ~ the License. You may obtain a copy of the License at
- ~
- ~ http://www.apache.org/licenses/LICENSE-2.0
- ~
- ~ Unless required by applicable law or agreed to in writing, software
- ~ distributed under the License is distributed on an "AS IS" BASIS,
- ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- ~ See the License for the specific language governing permissions and
- ~ limitations under the License.
- -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <artifactId>zeppelin</artifactId>
- <groupId>org.apache.zeppelin</groupId>
- <version>0.11.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>zeppelin-interpreter-shaded</artifactId>
- <packaging>jar</packaging>
- <name>Zeppelin: Interpreter Shaded</name>
- <description>Zeppelin Interpreter Shaded</description>
-
- <properties>
- <shaded.dependency.prefix>shaded</shaded.dependency.prefix>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.zeppelin</groupId>
- <artifactId>zeppelin-interpreter</artifactId>
- <version>0.11.0-SNAPSHOT</version>
- <optional>true</optional>
- </dependency>
- </dependencies>
-
- <build>
- <!-- This is a hack for intellij, because this IDE is not able to use the shaded jar as dependency
- See: https://youtrack.jetbrains.com/issue/IDEA-93855 -->
- <sourceDirectory>${project.build.directory}/shaded-sources</sourceDirectory>
- <plugins>
- <!-- This shade module has no own source code -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-source-plugin</artifactId>
- <executions>
- <execution>
- <id>attach-sources</id>
- <phase>none</phase>
- <goals>
- <goal>jar-no-fork</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <!-- This shade module has nothing to compile -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <executions>
- <execution>
- <id>default-compile</id>
- <phase>none</phase>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <configuration>
- <createSourcesJar>true</createSourcesJar>
- <shadeSourcesContent>true</shadeSourcesContent>
- <createDependencyReducedPom>false</createDependencyReducedPom>
- <artifactSet>
- <excludes>
- <!-- Leave slf4j unshaded so downstream users can configure logging. -->
- <exclude>org.slf4j:slf4j-api</exclude>
- <exclude>org.slf4j:slf4j-log4j12</exclude>
- <exclude>org.slf4j:jcl-over-slf4j</exclude>
- <!-- Leave log4j unshaded so downstream users can configure logging. -->
- <exclude>log4j:log4j</exclude>
- </excludes>
- </artifactSet>
- <filters>
- <filter>
- <artifact>*:*</artifact>
- <excludes>
- <exclude>META-INF/*.SF</exclude>
- <exclude>META-INF/*.DSA</exclude>
- <exclude>META-INF/*.RSA</exclude>
- <exclude>module-info.class</exclude>
- <exclude>module-info.java</exclude>
- </excludes>
- </filter>
- </filters>
- <transformers>
- <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
- <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
- <resource>reference.conf</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"/>
- <transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
- <resource>NOTICE.txt</resource>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
- <resource>META-INF/LICENSE.txt</resource>
- <file>${basedir}/../../LICENSE.txt</file>
- </transformer>
- <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
- <resource>META-INF/NOTICE.txt</resource>
- <file>${basedir}/../../NOTICE.txt</file>
- </transformer>
- </transformers>
- <relocations>
- <relocation>
- <pattern>org</pattern>
- <shadedPattern>${shaded.dependency.prefix}.org</shadedPattern>
- <excludes>
- <exclude>org.apache.zeppelin.**</exclude>
- <exclude>org.apache.zeppelin</exclude>
- <exclude>org.apache.hadoop.**</exclude>
- <exclude>org.apache.hadoop</exclude>
- <exclude>org.slf4j.**</exclude>
- <exclude>org.slf4j</exclude>
- <exclude>org.apache.commons.logging.**</exclude>
- <exclude>org.apache.commons.logging</exclude>
- <exclude>org.apache.commons.exec.**</exclude>
- <exclude>org.apache.commons.exec</exclude>
- <exclude>org.apache.log4j.**</exclude>
- <exclude>org.apache.log4j</exclude>
- <exclude>org.sonatype.**</exclude>
- <exclude>org.sonatype</exclude>
-
- <!-- Not the org packages that are a part of the jdk
- https://docs.oracle.com/javase/8/docs/api/index.html -->
- <exclude>org.ietf.jgss.**</exclude>
- <exclude>org.ietf.jgss</exclude>
- <exclude>org.omg.**</exclude>
- <exclude>org.omg</exclude>
- <exclude>org.w3c.dom.**</exclude>
- <exclude>org.w3c.dom</exclude>
- <exclude>org.xml.sax.**</exclude>
- <exclude>org.xml.sax</exclude>
- </excludes>
- </relocation>
- <relocation>
- <pattern>com.google</pattern>
- <shadedPattern>${shaded.dependency.prefix}.com.google</shadedPattern>
- </relocation>
- <relocation>
- <pattern>io</pattern>
- <shadedPattern>${shaded.dependency.prefix}.io</shadedPattern>
- </relocation>
- <relocation>
- <pattern>com.esotericsoftware</pattern>
- <shadedPattern>${shaded.dependency.prefix}.com.esotericsoftware</shadedPattern>
- </relocation>
- </relocations>
- </configuration>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-antrun-plugin</artifactId>
- <executions>
- <execution>
- <id>copy-to-interpreter</id>
- <phase>package</phase>
- <goals>
- <goal>run</goal>
- </goals>
- <configuration>
- <target>
- <echo>ANT TASK - copying files....</echo>
- <copy todir="${project.basedir}/../interpreter" overwrite="true" flatten="true">
- <fileset dir="${project.build.directory}" includes="zeppelin-interpreter-shaded-${project.version}.jar" >
- </fileset>
- </copy>
- </target>
- </configuration>
- </execution>
- </executions>
- </plugin>
-
- <!-- This is a hack for intellij, because this IDE is not able to use the shaded jar as dependency
- See: https://youtrack.jetbrains.com/issue/IDEA-93855 -->
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-dependency-plugin</artifactId>
- <executions>
- <execution>
- <id>unpack</id>
- <phase>package</phase>
- <goals>
- <goal>unpack</goal>
- </goals>
- <configuration>
- <artifactItems>
- <artifactItem>
- <groupId>org.apache.zeppelin</groupId>
- <artifactId>zeppelin-interpreter-shaded</artifactId>
- <version>${project.version}</version>
- <type>jar</type>
- <outputDirectory>${project.build.directory}/classes</outputDirectory>
- <includes>**/**</includes>
- </artifactItem>
- <artifactItem>
- <groupId>org.apache.zeppelin</groupId>
- <artifactId>zeppelin-interpreter-shaded</artifactId>
- <version>${project.version}</version>
- <type>jar</type>
- <classifier>sources</classifier>
- <overWrite>true</overWrite>
- <outputDirectory>${project.build.directory}/shaded-sources</outputDirectory>
- <includes>**/**</includes>
- </artifactItem>
- </artifactItems>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-
-</project>
diff --git a/zeppelin-interpreter/pom.xml b/zeppelin-interpreter/pom.xml
index aff54ed..7cd4a1a 100644
--- a/zeppelin-interpreter/pom.xml
+++ b/zeppelin-interpreter/pom.xml
@@ -41,8 +41,17 @@
<sisu.plexus.version>0.3.4</sisu.plexus.version>
<jline.version>2.14.3</jline.version>
<atomix.version>3.0.0-rc4</atomix.version>
+ <shaded.dependency.prefix>shaded</shaded.dependency.prefix>
</properties>
+ <!-- Do get maven-shade snapshot version -->
+ <pluginRepositories>
+ <pluginRepository>
+ <id>apache.snapshots</id>
+ <url>https://repository.apache.org/snapshots/</url>
+ </pluginRepository>
+ </pluginRepositories>
+
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
@@ -145,6 +154,10 @@
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </dependency>
<!-- maven dependency resolution -->
<dependency>
@@ -235,6 +248,158 @@
<filtering>true</filtering>
</resource>
</resources>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-shade-plugin</artifactId>
+ <version>3.3.1-SNAPSHOT</version>
+ <configuration>
+ <createSourcesJar>true</createSourcesJar>
+ <shadeSourcesContent>true</shadeSourcesContent>
+ <shadedArtifactAttached>true</shadedArtifactAttached>
+ <createDependencyReducedPom>true</createDependencyReducedPom>
+ <useDependencyReducedPomInJar>true</useDependencyReducedPomInJar>
+ <artifactSet>
+ <excludes>
+ <!-- Leave slf4j unshaded so downstream users can configure logging. -->
+ <exclude>org.slf4j:slf4j-api</exclude>
+ <exclude>org.slf4j:slf4j-log4j12</exclude>
+ <exclude>org.slf4j:jcl-over-slf4j</exclude>
+ <!-- Leave log4j unshaded so downstream users can configure logging. -->
+ <exclude>log4j:log4j</exclude>
+ </excludes>
+ </artifactSet>
+ <filters>
+ <filter>
+ <artifact>*:*</artifact>
+ <excludes>
+ <exclude>META-INF/*.SF</exclude>
+ <exclude>META-INF/*.DSA</exclude>
+ <exclude>META-INF/*.RSA</exclude>
+ <exclude>module-info.class</exclude>
+ <exclude>module-info.java</exclude>
+ </excludes>
+ </filter>
+ </filters>
+ <transformers>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
+ <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
+ <resource>reference.conf</resource>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheLicenseResourceTransformer"/>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
+ <resource>NOTICE.txt</resource>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
+ <resource>META-INF/LICENSE.txt</resource>
+ <file>${basedir}/../../LICENSE.txt</file>
+ </transformer>
+ <transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
+ <resource>META-INF/NOTICE.txt</resource>
+ <file>${basedir}/../../NOTICE.txt</file>
+ </transformer>
+ </transformers>
+ <relocations>
+ <relocation>
+ <pattern>org</pattern>
+ <shadedPattern>${shaded.dependency.prefix}.org</shadedPattern>
+ <excludes>
+ <exclude>org.apache.zeppelin.**</exclude>
+ <exclude>org.apache.zeppelin</exclude>
+ <exclude>org.apache.hadoop.**</exclude>
+ <exclude>org.apache.hadoop</exclude>
+ <exclude>org.slf4j.**</exclude>
+ <exclude>org.slf4j</exclude>
+ <exclude>org.apache.commons.logging.**</exclude>
+ <exclude>org.apache.commons.logging</exclude>
+ <exclude>org.apache.commons.exec.**</exclude>
+ <exclude>org.apache.commons.exec</exclude>
+ <exclude>org.apache.log4j.**</exclude>
+ <exclude>org.apache.log4j</exclude>
+ <exclude>org.sonatype.**</exclude>
+ <exclude>org.sonatype</exclude>
+
+ <!-- Not the org packages that are a part of the jdk
+ https://docs.oracle.com/javase/8/docs/api/index.html -->
+ <exclude>org.ietf.jgss.**</exclude>
+ <exclude>org.ietf.jgss</exclude>
+ <exclude>org.omg.**</exclude>
+ <exclude>org.omg</exclude>
+ <exclude>org.w3c.dom.**</exclude>
+ <exclude>org.w3c.dom</exclude>
+ <exclude>org.xml.sax.**</exclude>
+ <exclude>org.xml.sax</exclude>
+ </excludes>
+ </relocation>
+ <relocation>
+ <pattern>com.google</pattern>
+ <shadedPattern>${shaded.dependency.prefix}.com.google</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>io</pattern>
+ <shadedPattern>${shaded.dependency.prefix}.io</shadedPattern>
+ </relocation>
+ <relocation>
+ <pattern>com.esotericsoftware</pattern>
+ <shadedPattern>${shaded.dependency.prefix}.com.esotericsoftware</shadedPattern>
+ </relocation>
+ </relocations>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>shade</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>copy-to-interpreter</id>
+ <phase>package</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <target>
+ <echo>ANT TASK - copying files....</echo>
+ <copy todir="${project.basedir}/../interpreter" overwrite="true" flatten="true">
+ <fileset dir="${project.build.directory}" includes="zeppelin-interpreter-${project.version}-shaded.jar" >
+ </fileset>
+ </copy>
+ </target>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <!-- IDEA workaround see https://youtrack.jetbrains.com/issue/IDEA-126596 -->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>compile</id>
+ <phase>package</phase>
+ <goals>
+ <goal>attach-artifact</goal>
+ </goals>
+ <configuration>
+ <artifacts>
+ <artifact>
+ <file>${basedir}/target/${project.artifactId}-${project.version}-shaded.jar</file>
+ <type>jar</type>
+ <classifier>optional</classifier>
+ </artifact>
+ </artifacts>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
</build>
</project>
diff --git a/zeppelin-zengine/pom.xml b/zeppelin-zengine/pom.xml
index 0402e4f..03ab277 100644
--- a/zeppelin-zengine/pom.xml
+++ b/zeppelin-zengine/pom.xml
@@ -49,7 +49,8 @@
<dependency>
<groupId>${project.groupId}</groupId>
- <artifactId>zeppelin-interpreter-shaded</artifactId>
+ <artifactId>zeppelin-interpreter</artifactId>
+ <classifier>shaded</classifier>
<version>${project.version}</version>
</dependency>