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 <philipp.dal...@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>