[BEAM-1092] Shade commonly used libraries (e.g. Guava) to avoid class conflicts
Project: http://git-wip-us.apache.org/repos/asf/beam/repo Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/03d78097 Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/03d78097 Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/03d78097 Branch: refs/heads/master Commit: 03d78097ba0a2d55a9e8dcbaf11e0f8182f223c1 Parents: cfc0a99 Author: Aviem Zur <[email protected]> Authored: Fri Feb 24 14:42:27 2017 +0200 Committer: Davor Bonaci <[email protected]> Committed: Tue Mar 14 12:47:36 2017 -0700 ---------------------------------------------------------------------- pom.xml | 52 +++++++++++++++++++++++++++-- runners/core-construction-java/pom.xml | 52 ----------------------------- runners/core-java/pom.xml | 48 -------------------------- runners/direct-java/pom.xml | 52 ----------------------------- runners/spark/pom.xml | 38 --------------------- sdks/java/core/pom.xml | 51 ---------------------------- sdks/java/extensions/jackson/pom.xml | 40 ---------------------- sdks/java/extensions/sorter/pom.xml | 49 --------------------------- sdks/java/io/hdfs/pom.xml | 41 ----------------------- sdks/java/io/jdbc/pom.xml | 47 -------------------------- sdks/java/io/kafka/pom.xml | 36 -------------------- 11 files changed, 50 insertions(+), 456 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/beam/blob/03d78097/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index c3b8476..d9065a3 100644 --- a/pom.xml +++ b/pom.xml @@ -1310,7 +1310,50 @@ <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> - <version>3.0.0</version> + <version>2.4.3</version> + <executions> + <execution> + <id>bundle-and-repackage</id> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + <configuration> + <artifactSet> + <includes> + <include>com.google.guava:guava</include> + </includes> + </artifactSet> + <filters> + <filter> + <artifact>*:*</artifact> + <excludes> + <exclude>META-INF/*.SF</exclude> + <exclude>META-INF/*.DSA</exclude> + <exclude>META-INF/*.RSA</exclude> + </excludes> + </filter> + </filters> + <relocations> + <relocation> + <pattern>com.google.common</pattern> + <shadedPattern> + org.apache.beam.${project.artifactId}.repackaged.com.google.common + </shadedPattern> + </relocation> + <relocation> + <pattern>com.google.thirdparty</pattern> + <shadedPattern> + org.apache.beam.${project.artifactId}.repackaged.com.google.thirdparty + </shadedPattern> + </relocation> + </relocations> + <transformers> + <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> + </transformers> + </configuration> + </execution> + </executions> </plugin> <plugin> @@ -1448,7 +1491,7 @@ <version>[1.7,)</version> </requireJavaVersion> <requireMavenVersion> - <!-- Keep aligned with prerequisite section below. --> + <!-- Keep aligned with preqrequisite section below. --> <version>[3.2,)</version> </requireMavenVersion> </rules> @@ -1463,6 +1506,10 @@ </dependency> </dependencies> </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + </plugin> </plugins> </build> @@ -1483,6 +1530,7 @@ </plugin> </plugins> </reporting> + <prerequisites> <!-- Keep aligned with requireMavenVersion section above. --> <maven>3.2</maven> http://git-wip-us.apache.org/repos/asf/beam/blob/03d78097/runners/core-construction-java/pom.xml ---------------------------------------------------------------------- diff --git a/runners/core-construction-java/pom.xml b/runners/core-construction-java/pom.xml index 83f4e9e..50843ed 100644 --- a/runners/core-construction-java/pom.xml +++ b/runners/core-construction-java/pom.xml @@ -50,58 +50,6 @@ </systemPropertyVariables> </configuration> </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - <executions> - <execution> - <id>bundle-and-repackage</id> - <phase>package</phase> - <goals> - <goal>shade</goal> - </goals> - <configuration> - <shadeTestJar>true</shadeTestJar> - <artifactSet> - <includes> - <include>com.google.guava:guava</include> - </includes> - </artifactSet> - <filters> - <filter> - <artifact>*:*</artifact> - <excludes> - <exclude>META-INF/*.SF</exclude> - <exclude>META-INF/*.DSA</exclude> - <exclude>META-INF/*.RSA</exclude> - </excludes> - </filter> - </filters> - <relocations> - <!-- TODO: Once ready, change the following pattern to 'com' - only, exclude 'org.apache.beam.**', and remove - the second relocation. --> - <relocation> - <pattern>com.google.common</pattern> - <shadedPattern> - org.apache.beam.runners.core.construction.repackaged.com.google.common - </shadedPattern> - </relocation> - <relocation> - <pattern>com.google.thirdparty</pattern> - <shadedPattern> - org.apache.beam.runners.core.construction.repackaged.com.google.thirdparty - </shadedPattern> - </relocation> - </relocations> - <transformers> - <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> - </transformers> - </configuration> - </execution> - </executions> - </plugin> </plugins> </build> http://git-wip-us.apache.org/repos/asf/beam/blob/03d78097/runners/core-java/pom.xml ---------------------------------------------------------------------- diff --git a/runners/core-java/pom.xml b/runners/core-java/pom.xml index 94b81a7..631e8c0 100644 --- a/runners/core-java/pom.xml +++ b/runners/core-java/pom.xml @@ -57,54 +57,6 @@ <artifactId>maven-jar-plugin</artifactId> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - <executions> - <execution> - <id>bundle-and-repackage</id> - <phase>package</phase> - <goals> - <goal>shade</goal> - </goals> - <configuration> - <shadeTestJar>true</shadeTestJar> - <artifactSet> - <includes> - <include>com.google.guava:guava</include> - </includes> - </artifactSet> - <filters> - <filter> - <artifact>*:*</artifact> - <excludes> - <exclude>META-INF/*.SF</exclude> - <exclude>META-INF/*.DSA</exclude> - <exclude>META-INF/*.RSA</exclude> - </excludes> - </filter> - </filters> - <relocations> - <!-- TODO: Once ready, change the following pattern to 'com' - only, exclude 'org.apache.beam.**', and remove - the second relocation. --> - <relocation> - <pattern>com.google.common</pattern> - <shadedPattern>org.apache.beam.runners.core.repackaged.com.google.common</shadedPattern> - </relocation> - <relocation> - <pattern>com.google.thirdparty</pattern> - <shadedPattern>org.apache.beam.runners.core.repackaged.com.google.thirdparty</shadedPattern> - </relocation> - </relocations> - <transformers> - <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> - </transformers> - </configuration> - </execution> - </executions> - </plugin> - <!-- Coverage analysis for unit tests. --> <plugin> <groupId>org.jacoco</groupId> http://git-wip-us.apache.org/repos/asf/beam/blob/03d78097/runners/direct-java/pom.xml ---------------------------------------------------------------------- diff --git a/runners/direct-java/pom.xml b/runners/direct-java/pom.xml index 2738cce..71dfa5d 100644 --- a/runners/direct-java/pom.xml +++ b/runners/direct-java/pom.xml @@ -86,58 +86,6 @@ </executions> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - <executions> - <execution> - <id>bundle-and-repackage</id> - <phase>package</phase> - <goals> - <goal>shade</goal> - </goals> - <configuration> - <shadeTestJar>true</shadeTestJar> - <artifactSet> - <includes> - <include>com.google.guava:guava</include> - </includes> - </artifactSet> - <filters> - <filter> - <artifact>*:*</artifact> - <excludes> - <exclude>META-INF/*.SF</exclude> - <exclude>META-INF/*.DSA</exclude> - <exclude>META-INF/*.RSA</exclude> - </excludes> - </filter> - </filters> - <relocations> - <!-- TODO: Once ready, change the following pattern to 'com' - only, exclude 'org.apache.beam.**', and remove - the second relocation. --> - <relocation> - <pattern>com.google.common</pattern> - <excludes> - <!-- com.google.common is too generic, need to exclude guava-testlib --> - <exclude>com.google.common.**.testing.*</exclude> - </excludes> - <shadedPattern>org.apache.beam.runners.direct.repackaged.com.google.common</shadedPattern> - </relocation> - <relocation> - <pattern>com.google.thirdparty</pattern> - <shadedPattern>org.apache.beam.runners.direct.repackaged.com.google.thirdparty</shadedPattern> - </relocation> - </relocations> - <transformers> - <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> - </transformers> - </configuration> - </execution> - </executions> - </plugin> - <!-- Coverage analysis for unit tests. --> <plugin> <groupId>org.jacoco</groupId> http://git-wip-us.apache.org/repos/asf/beam/blob/03d78097/runners/spark/pom.xml ---------------------------------------------------------------------- diff --git a/runners/spark/pom.xml b/runners/spark/pom.xml index a330820..10fa946 100644 --- a/runners/spark/pom.xml +++ b/runners/spark/pom.xml @@ -393,40 +393,6 @@ </execution> </executions> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>shade</goal> - </goals> - <configuration> - <artifactSet> - <includes> - <include>com.google.guava:guava</include> - </includes> - </artifactSet> - <relocations> - <!-- relocate Guava used by Beam (v18) since it conflicts with - version used by Hadoop (v11) --> - <relocation> - <pattern>com.google.common</pattern> - <shadedPattern>org.apache.beam.spark.repackaged.com.google.common</shadedPattern> - </relocation> - <relocation> - <pattern>com.google.thirdparty</pattern> - <shadedPattern>org.apache.beam.spark.repackaged.com.google.thirdparty</shadedPattern> - </relocation> - </relocations> - <transformers> - <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" /> - </transformers> - </configuration> - </execution> - </executions> - </plugin> </plugins> </pluginManagement> <plugins> @@ -438,10 +404,6 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - </plugin> </plugins> </build> http://git-wip-us.apache.org/repos/asf/beam/blob/03d78097/sdks/java/core/pom.xml ---------------------------------------------------------------------- diff --git a/sdks/java/core/pom.xml b/sdks/java/core/pom.xml index fae0094..40da374 100644 --- a/sdks/java/core/pom.xml +++ b/sdks/java/core/pom.xml @@ -84,57 +84,6 @@ <artifactId>maven-jar-plugin</artifactId> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - <executions> - <execution> - <id>bundle-and-repackage</id> - <phase>package</phase> - <goals> - <goal>shade</goal> - </goals> - <configuration> - <shadeTestJar>true</shadeTestJar> - <artifactSet> - <includes> - <include>com.google.guava:guava</include> - </includes> - </artifactSet> - <filters> - <filter> - <artifact>*:*</artifact> - <excludes> - <exclude>META-INF/*.SF</exclude> - <exclude>META-INF/*.DSA</exclude> - <exclude>META-INF/*.RSA</exclude> - </excludes> - </filter> - </filters> - <relocations> - <!-- TODO: Once ready, change the following pattern to 'com' only, - exclude 'org.apache.beam.**', and remove the second relocation. --> - <relocation> - <pattern>com.google.common</pattern> - <excludes> - <!-- com.google.common is too generic, need to exclude guava-testlib --> - <exclude>com.google.common.**.testing.*</exclude> - </excludes> - <shadedPattern>org.apache.beam.sdk.repackaged.com.google.common</shadedPattern> - </relocation> - <relocation> - <pattern>com.google.thirdparty</pattern> - <shadedPattern>org.apache.beam.sdk.repackaged.com.google.thirdparty</shadedPattern> - </relocation> - </relocations> - <transformers> - <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> - </transformers> - </configuration> - </execution> - </executions> - </plugin> - <!-- Coverage analysis for unit tests. --> <plugin> <groupId>org.jacoco</groupId> http://git-wip-us.apache.org/repos/asf/beam/blob/03d78097/sdks/java/extensions/jackson/pom.xml ---------------------------------------------------------------------- diff --git a/sdks/java/extensions/jackson/pom.xml b/sdks/java/extensions/jackson/pom.xml index c1a8a59..dbeec24 100644 --- a/sdks/java/extensions/jackson/pom.xml +++ b/sdks/java/extensions/jackson/pom.xml @@ -33,42 +33,6 @@ </description> <build> - <pluginManagement> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>shade</goal> - </goals> - <configuration> - <artifactSet> - <includes> - <include>com.google.guava:guava</include> - </includes> - </artifactSet> - <relocations> - <relocation> - <pattern>com.google.common</pattern> - <shadedPattern>org.apache.beam.sdk.extensions.jackson.repackaged.com.google.common</shadedPattern> - </relocation> - <relocation> - <pattern>com.google.thirdparty</pattern> - <shadedPattern>org.apache.beam.sdk.extensions.jackson.repackaged.com.google.thirdparty</shadedPattern> - </relocation> - </relocations> - <transformers> - <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> - </transformers> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> @@ -78,10 +42,6 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - </plugin> </plugins> </build> http://git-wip-us.apache.org/repos/asf/beam/blob/03d78097/sdks/java/extensions/sorter/pom.xml ---------------------------------------------------------------------- diff --git a/sdks/java/extensions/sorter/pom.xml b/sdks/java/extensions/sorter/pom.xml index e22c71d..5a566a6 100644 --- a/sdks/java/extensions/sorter/pom.xml +++ b/sdks/java/extensions/sorter/pom.xml @@ -52,55 +52,6 @@ <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> </plugin> - - <!-- Shading Hadoop dependency so that users may use their own version - of Hadoop without interference from this module. --> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - <executions> - <execution> - <id>bundle-and-repackage</id> - <phase>package</phase> - <goals> - <goal>shade</goal> - </goals> - <configuration> - <shadeTestJar>true</shadeTestJar> - <artifactSet> - <includes> - <include>com.google.guava:guava</include> - </includes> - </artifactSet> - <filters> - <filter> - <artifact>*:*</artifact> - <excludes> - <exclude>META-INF/*.SF</exclude> - <exclude>META-INF/*.DSA</exclude> - <exclude>META-INF/*.RSA</exclude> - </excludes> - </filter> - </filters> - <relocations> - <relocation> - <pattern>com.google.common</pattern> - <shadedPattern>org.apache.beam.repackaged.com.google.common</shadedPattern> - </relocation> - <relocation> - <pattern>com.google.thirdparty</pattern> - <shadedPattern>org.apache.beam.repackaged.com.google.thirdparty</shadedPattern> - </relocation> - </relocations> - <transformers> - <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> - </transformers> - </configuration> - </execution> - </executions> - </plugin> - - </plugins> </build> http://git-wip-us.apache.org/repos/asf/beam/blob/03d78097/sdks/java/io/hdfs/pom.xml ---------------------------------------------------------------------- diff --git a/sdks/java/io/hdfs/pom.xml b/sdks/java/io/hdfs/pom.xml index faf7890..91c2cf7 100644 --- a/sdks/java/io/hdfs/pom.xml +++ b/sdks/java/io/hdfs/pom.xml @@ -31,43 +31,6 @@ <description>Library to read and write Hadoop/HDFS file formats from Beam.</description> <build> - <pluginManagement> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>shade</goal> - </goals> - <configuration> - <artifactSet> - <includes> - <include>com.google.guava:guava</include> - </includes> - </artifactSet> - <relocations> - <relocation> - <pattern>com.google.common</pattern> - <shadedPattern>org.apache.beam.sdk.io.hdfs.repackaged.com.google.common</shadedPattern> - </relocation> - <relocation> - <pattern>com.google.thirdparty</pattern> - <shadedPattern>org.apache.beam.sdk.io.hdfs.repackaged.com.google.thirdparty</shadedPattern> - </relocation> - </relocations> - <transformers> - <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> - </transformers> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </pluginManagement> - <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> @@ -78,10 +41,6 @@ </systemPropertyVariables> </configuration> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - </plugin> </plugins> </build> http://git-wip-us.apache.org/repos/asf/beam/blob/03d78097/sdks/java/io/jdbc/pom.xml ---------------------------------------------------------------------- diff --git a/sdks/java/io/jdbc/pom.xml b/sdks/java/io/jdbc/pom.xml index ed73abd..f6c946f 100644 --- a/sdks/java/io/jdbc/pom.xml +++ b/sdks/java/io/jdbc/pom.xml @@ -165,51 +165,4 @@ <scope>test</scope> </dependency> </dependencies> - - <build> - <pluginManagement> - <plugins> - <!-- BEAM-1661 --> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>shade</goal> - </goals> - <configuration> - <artifactSet> - <includes> - <include>com.google.guava:guava</include> - </includes> - </artifactSet> - <relocations> - <relocation> - <pattern>com.google.common</pattern> - <shadedPattern>org.apache.beam.sdk.io.jdbc.repackaged.com.google.common</shadedPattern> - </relocation> - <relocation> - <pattern>com.google.thirdparty</pattern> - <shadedPattern>org.apache.beam.sdk.io.jdbc.repackaged.com.google.thirdparty</shadedPattern> - </relocation> - </relocations> - <transformers> - <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> - </transformers> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </pluginManagement> - - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - </plugin> - </plugins> - </build> </project> http://git-wip-us.apache.org/repos/asf/beam/blob/03d78097/sdks/java/io/kafka/pom.xml ---------------------------------------------------------------------- diff --git a/sdks/java/io/kafka/pom.xml b/sdks/java/io/kafka/pom.xml index eae40d7..785699c 100644 --- a/sdks/java/io/kafka/pom.xml +++ b/sdks/java/io/kafka/pom.xml @@ -44,38 +44,6 @@ <skip>true</skip> </configuration> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>shade</goal> - </goals> - <configuration> - <artifactSet> - <includes> - <include>com.google.guava:guava</include> - </includes> - </artifactSet> - <relocations> - <relocation> - <pattern>com.google.common</pattern> - <shadedPattern>org.apache.beam.sdk.io.kafka.repackaged.com.google.common</shadedPattern> - </relocation> - <relocation> - <pattern>com.google.thirdparty</pattern> - <shadedPattern>org.apache.beam.sdk.io.kafka.repackaged.com.google.thirdparty</shadedPattern> - </relocation> - </relocations> - <transformers> - <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> - </transformers> - </configuration> - </execution> - </executions> - </plugin> </plugins> </pluginManagement> @@ -89,10 +57,6 @@ </systemPropertyVariables> </configuration> </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - </plugin> </plugins> </build>
