Repository: incubator-ratis Updated Branches: refs/heads/master 717e46d49 -> 80b28c711
RATIS-44. Move hadoop out from ratis-proto-shaded. Contributed by Tsz Wo Nicholas Sze. Project: http://git-wip-us.apache.org/repos/asf/incubator-ratis/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ratis/commit/80b28c71 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ratis/tree/80b28c71 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ratis/diff/80b28c71 Branch: refs/heads/master Commit: 80b28c711a01693a239e1b6fe92f3f7c1d723324 Parents: 717e46d Author: Jing Zhao <[email protected]> Authored: Fri Mar 17 15:00:51 2017 -0700 Committer: Jing Zhao <[email protected]> Committed: Fri Mar 17 15:00:51 2017 -0700 ---------------------------------------------------------------------- pom.xml | 26 ++-- ratis-examples/pom.xml | 5 + ratis-hadoop-shaded/.gitignore | 2 + ratis-hadoop-shaded/pom.xml | 296 ++++++++++++++++++++++++++++++++++++ ratis-hadoop/pom.xml | 9 +- ratis-proto-shaded/pom.xml | 101 ------------ 6 files changed, 318 insertions(+), 121 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/80b28c71/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index ff1d64f..3dc5eeb 100644 --- a/pom.xml +++ b/pom.xml @@ -50,6 +50,7 @@ <module>ratis-examples</module> <module>ratis-grpc</module> <module>ratis-hadoop</module> + <module>ratis-hadoop-shaded</module> <module>ratis-netty</module> <module>ratis-netty-shaded</module> <module>ratis-proto-shaded</module> @@ -159,6 +160,9 @@ <wagon-ssh.version>1.0</wagon-ssh.version> <shell-executable>bash</shell-executable> + <hadoop.version>3.0.0-alpha1</hadoop.version> + <hadoop-maven-plugins.version>${hadoop.version}</hadoop-maven-plugins.version> + <!-- define the Java language version used by the compiler --> <javac.version>1.8</javac.version> <java.min.version>${javac.version}</java.min.version> @@ -245,44 +249,34 @@ <type>test-jar</type> <scope>test</scope> </dependency> - - <dependency> - <artifactId>ratis-netty</artifactId> - <groupId>org.apache.ratis</groupId> - <version>${project.version}</version> - </dependency> <dependency> - <artifactId>ratis-netty</artifactId> + <artifactId>ratis-hadoop-shaded</artifactId> <groupId>org.apache.ratis</groupId> <version>${project.version}</version> - <type>test-jar</type> - <scope>test</scope> </dependency> <dependency> - <artifactId>ratis-netty-shaded</artifactId> + <artifactId>ratis-netty</artifactId> <groupId>org.apache.ratis</groupId> <version>${project.version}</version> </dependency> <dependency> - <artifactId>ratis-netty-shaded</artifactId> + <artifactId>ratis-netty</artifactId> <groupId>org.apache.ratis</groupId> <version>${project.version}</version> <type>test-jar</type> <scope>test</scope> </dependency> - <dependency> - <artifactId>ratis-proto-shaded</artifactId> + <artifactId>ratis-netty-shaded</artifactId> <groupId>org.apache.ratis</groupId> <version>${project.version}</version> </dependency> + <dependency> <artifactId>ratis-proto-shaded</artifactId> <groupId>org.apache.ratis</groupId> <version>${project.version}</version> - <type>test-jar</type> - <scope>test</scope> </dependency> <dependency> @@ -408,7 +402,7 @@ <plugin> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-maven-plugins</artifactId> - <version>${hadoop.version}</version> + <version>${hadoop-maven-plugins.version}</version> </plugin> <plugin> http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/80b28c71/ratis-examples/pom.xml ---------------------------------------------------------------------- diff --git a/ratis-examples/pom.xml b/ratis-examples/pom.xml index d73e080..0638382 100644 --- a/ratis-examples/pom.xml +++ b/ratis-examples/pom.xml @@ -81,6 +81,11 @@ <scope>test</scope> <type>test-jar</type> </dependency> + <dependency> + <artifactId>ratis-hadoop-shaded</artifactId> + <groupId>org.apache.ratis</groupId> + <scope>provided</scope> + </dependency> <dependency> <artifactId>ratis-grpc</artifactId> http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/80b28c71/ratis-hadoop-shaded/.gitignore ---------------------------------------------------------------------- diff --git a/ratis-hadoop-shaded/.gitignore b/ratis-hadoop-shaded/.gitignore new file mode 100644 index 0000000..ce50505 --- /dev/null +++ b/ratis-hadoop-shaded/.gitignore @@ -0,0 +1,2 @@ +src/main/java +dependency-reduced-pom.xml http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/80b28c71/ratis-hadoop-shaded/pom.xml ---------------------------------------------------------------------- diff --git a/ratis-hadoop-shaded/pom.xml b/ratis-hadoop-shaded/pom.xml new file mode 100644 index 0000000..d5bd980 --- /dev/null +++ b/ratis-hadoop-shaded/pom.xml @@ -0,0 +1,296 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed 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. See accompanying LICENSE file. +--> +<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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <artifactId>ratis</artifactId> + <groupId>org.apache.ratis</groupId> + <version>0.1-SNAPSHOT</version> + <relativePath>..</relativePath> + </parent> + + <artifactId>ratis-hadoop-shaded</artifactId> + <name>Ratis Hadoop Shaded</name> + <version>0.1-SNAPSHOT</version> + + <properties> + <maven.javadoc.skip>true</maven.javadoc.skip> + <!--The Default target dir--> + <classes.dir>${project.build.directory}/classes</classes.dir> + <!--The Default location for sources--> + <sources.dir>src/main/java</sources.dir> + + <!--Version of Hadoop to be shaded --> + <shaded.hadoop.version>${hadoop.version}</shaded.hadoop.version> + </properties> + + <build> + <!--I want to override these in profile so define them + with variables up here--> + <sourceDirectory>${sources.dir}</sourceDirectory> + <outputDirectory>${classes.dir}</outputDirectory> + <plugins> + <!-- Make a jar and put the sources in the jar --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-source-plugin</artifactId> + <version>${maven-source-plugin.version}</version> + </plugin> + <plugin> + <!--Make it so assembly:single does nothing in here--> + <artifactId>maven-assembly-plugin</artifactId> + <version>${maven-assembly-plugin.version}</version> + <configuration> + <skipAssembly>true</skipAssembly> + </configuration> + </plugin> + </plugins> + </build> + + <dependencies> + <dependency> + <artifactId>ratis-proto-shaded</artifactId> + <groupId>org.apache.ratis</groupId> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>com.google.protobuf</groupId> + <artifactId>protobuf-java</artifactId> + <version>${shaded.protobuf.version}</version> + </dependency> + <dependency> + <groupId>com.google.protobuf.nano</groupId> + <artifactId>protobuf-javanano</artifactId> + <version>${shaded.protobuf.version}</version> + </dependency> + + <dependency> + <groupId>org.apache.hadoop</groupId> + <artifactId>hadoop-common</artifactId> + <version>${shaded.hadoop.version}</version> + </dependency> + </dependencies> + + <profiles> + <!-- Skip the tests in this module --> + <profile> + <id>skip-shaded-tests</id> + <activation> + <property> + <name>skip-shaded-tests</name> + </property> + </activation> + <properties> + <surefire.skipFirstPart>true</surefire.skipFirstPart> + </properties> + </profile> + + <profile> + <id>skipShade</id> + <activation> + <file> + <exists>${sources.dir}</exists> + </file> + <property> + <name>!shade-hadoop</name> + </property> + </activation> + </profile> + + <profile> + <id>shade-hadoop</id> + <!-- + Shade and drop the generated java files under src/main/java. + --> + <activation> + <activeByDefault>true</activeByDefault> + </activation> + <properties> + <profile.id>shade-hadoop</profile.id> + <!--When the compile for this profile runs, make sure it makes jars that + can be related back to this shading profile. Give them a shading prefix. + --> + <jar.finalName>${profile.id}.${project.artifactId}-${project.version}</jar.finalName> + </properties> + <build> + <finalName>${jar.finalName}</finalName> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <version>2.4.3</version> + <executions> + <execution> + <phase>package</phase> + <goals> + <goal>shade</goal> + </goals> + <configuration> + <shadeSourcesContent>true</shadeSourcesContent> + <createSourcesJar>true</createSourcesJar> + <relocations> + <relocation> + <pattern>com.google.protobuf</pattern> + <shadedPattern>org.apache.ratis.shaded.com.google.protobuf</shadedPattern> + </relocation> + <relocation> + <pattern>org.apache.hadoop.ipc.protobuf</pattern> + <shadedPattern>org.apache.ratis.shaded.org.apache.hadoop.ipc.protobuf</shadedPattern> + </relocation> + </relocations> + + <filters> + <filter> + <artifact>org.apache.hadoop:hadoop-common</artifact> + <includes> + <include>org/apache/hadoop/ipc/protobuf/**</include> + </includes> + </filter> + </filters> + + <artifactSet> + <excludes> + <exclude>com.google.code.findbugs:jsr305</exclude> + <exclude>com.google.code.gson:gson</exclude> + <exclude>com.google.guava:guava</exclude> + <exclude>com.google.protobuf.nano:protobuf-javanano</exclude> + <exclude>com.google.protobuf:protobuf-java</exclude> + <exclude>com.google.re2j:re2j</exclude> + + <exclude>com.jamesmurty.utils:java-xmlbuilder</exclude> + <exclude>com.jcraft:jsch</exclude> + <exclude>com.nimbusds:nimbus-jose-jwt</exclude> + <exclude>com.sun.jersey:jersey-core</exclude> + <exclude>com.sun.jersey:jersey-json</exclude> + <exclude>com.sun.jersey:jersey-server</exclude> + <exclude>com.sun.jersey:jersey-servlet</exclude> + <exclude>com.sun.xml.bind:jaxb-impl</exclude> + <exclude>com.thoughtworks.paranamer:paranamer</exclude> + + <exclude>commons-beanutils:commons-beanutils-core</exclude> + <exclude>commons-beanutils:commons-beanutils</exclude> + <exclude>commons-cli:commons-cli</exclude> + <exclude>commons-codec:commons-codec</exclude> + <exclude>commons-collections:commons-collections</exclude> + <exclude>commons-configuration:commons-configuration</exclude> + <exclude>commons-digester:commons-digester</exclude> + <exclude>commons-io:commons-io</exclude> + <exclude>commons-lang:commons-lang</exclude> + <exclude>commons-logging:commons-logging</exclude> + <exclude>commons-net:commons-net</exclude> + + <exclude>io.netty:netty</exclude> + <exclude>javax.activation:activation</exclude> + <exclude>javax.servlet.jsp:jsp-api</exclude> + <exclude>javax.servlet:servlet-api</exclude> + <exclude>javax.ws.rs:jsr311-api</exclude> + <exclude>javax.xml.bind:jaxb-api</exclude> + <exclude>javax.xml.stream:stax-api</exclude> + <exclude>log4j:log4j</exclude> + <exclude>net.java.dev.jets3t:jets3t</exclude> + <exclude>net.jcip:jcip-annotations</exclude> + <exclude>net.minidev:json-smart</exclude> + + <exclude>org.apache.avro:avro</exclude> + <exclude>org.apache.commons:commons-compress</exclude> + <exclude>org.apache.commons:commons-math3</exclude> + <exclude>org.apache.curator:curator-client</exclude> + <exclude>org.apache.curator:curator-framework</exclude> + <exclude>org.apache.curator:curator-recipes</exclude> + <exclude>org.apache.hadoop:hadoop-annotations</exclude> + <exclude>org.apache.hadoop:hadoop-auth</exclude> + <exclude>org.apache.htrace:htrace-core4</exclude> + <exclude>org.apache.httpcomponents:httpclient</exclude> + <exclude>org.apache.httpcomponents:httpcore</exclude> + <exclude>org.apache.kerby:kerb-admin</exclude> + <exclude>org.apache.kerby:kerb-client</exclude> + <exclude>org.apache.kerby:kerb-common</exclude> + <exclude>org.apache.kerby:kerb-core</exclude> + <exclude>org.apache.kerby:kerb-crypto</exclude> + <exclude>org.apache.kerby:kerb-identity</exclude> + <exclude>org.apache.kerby:kerb-server</exclude> + <exclude>org.apache.kerby:kerb-simplekdc</exclude> + <exclude>org.apache.kerby:kerb-util</exclude> + <exclude>org.apache.kerby:kerby-asn1</exclude> + <exclude>org.apache.kerby:kerby-config</exclude> + <exclude>org.apache.kerby:kerby-pkix</exclude> + <exclude>org.apache.kerby:kerby-util</exclude> + <exclude>org.apache.zookeeper:zookeeper</exclude> + + <exclude>org.codehaus.jackson:jackson-core-asl</exclude> + <exclude>org.codehaus.jackson:jackson-jaxrs</exclude> + <exclude>org.codehaus.jackson:jackson-mapper-asl</exclude> + <exclude>org.codehaus.jackson:jackson-xc</exclude> + <exclude>org.codehaus.jettison:jettison</exclude> + <exclude>org.mortbay.jetty:jetty-sslengine</exclude> + <exclude>org.mortbay.jetty:jetty-util</exclude> + <exclude>org.mortbay.jetty:jetty</exclude> + <exclude>org.slf4j:slf4j-api</exclude> + <exclude>org.slf4j:slf4j-log4j12</exclude> + <exclude>org.tukaani:xz</exclude> + <exclude>org.xerial.snappy:snappy-java</exclude> + <exclude>xmlenc:xmlenc</exclude> + </excludes> + </artifactSet> + </configuration> + </execution> + </executions> + </plugin> + <!--Now unpack the shaded jar made above so the shaded classes + are available to subsequent modules--> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>${maven-dependency-plugin.version}</version> + <executions> + <execution> + <id>unpack</id> + <phase>package</phase> + <goals> + <goal>unpack</goal> + </goals> + <configuration> + <artifactItems> + <artifactItem> + <groupId>${project.groupId}</groupId> + <artifactId>${project.artifactId}</artifactId> + <version>${project.version}</version> + <classifier>sources</classifier> + <type>jar</type> + <overWrite>true</overWrite> + <outputDirectory>${basedir}/src/main/java + </outputDirectory> + <includes>**/*.java</includes> + </artifactItem> + </artifactItems> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-install-plugin</artifactId> + <configuration> + <skip>true</skip> + </configuration> + </plugin> + </plugins> + </build> + </profile> + </profiles> +</project> http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/80b28c71/ratis-hadoop/pom.xml ---------------------------------------------------------------------- diff --git a/ratis-hadoop/pom.xml b/ratis-hadoop/pom.xml index f75498c..2693aba 100644 --- a/ratis-hadoop/pom.xml +++ b/ratis-hadoop/pom.xml @@ -27,16 +27,17 @@ <name>Ratis Hadoop Support</name> <version>0.1-SNAPSHOT</version> - <properties> - <hadoop.version>3.0.0-alpha1</hadoop.version> - </properties> - <dependencies> <dependency> <artifactId>ratis-proto-shaded</artifactId> <groupId>org.apache.ratis</groupId> <scope>provided</scope> </dependency> + <dependency> + <artifactId>ratis-hadoop-shaded</artifactId> + <groupId>org.apache.ratis</groupId> + <scope>provided</scope> + </dependency> <dependency> <artifactId>ratis-common</artifactId> http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/80b28c71/ratis-proto-shaded/pom.xml ---------------------------------------------------------------------- diff --git a/ratis-proto-shaded/pom.xml b/ratis-proto-shaded/pom.xml index 4241e06..ea669c2 100644 --- a/ratis-proto-shaded/pom.xml +++ b/ratis-proto-shaded/pom.xml @@ -37,8 +37,6 @@ <!--Version of grpc to be shaded --> <shaded.grpc.version>1.0.1</shaded.grpc.version> - <!--Version of Hadoop to be shaded --> - <shaded.hadoop.version>3.0.0-alpha1</shaded.hadoop.version> </properties> <build> @@ -94,12 +92,6 @@ <artifactId>grpc-stub</artifactId> <version>${shaded.grpc.version}</version> </dependency> - - <dependency> - <groupId>org.apache.hadoop</groupId> - <artifactId>hadoop-common</artifactId> - <version>${shaded.hadoop.version}</version> - </dependency> </dependencies> <profiles> @@ -226,51 +218,13 @@ <pattern>io.grpc</pattern> <shadedPattern>org.apache.ratis.shaded.io.grpc</shadedPattern> </relocation> - - <relocation> - <pattern>org.apache.hadoop.ipc.protobuf</pattern> - <shadedPattern>org.apache.ratis.shaded.org.apache.hadoop.ipc.protobuf</shadedPattern> - </relocation> </relocations> - <filters> - <filter> - <artifact>org.apache.hadoop:hadoop-common</artifact> - <includes> - <include>org/apache/hadoop/ipc/protobuf/**</include> - </includes> - </filter> - </filters> - <artifactSet> <excludes> <exclude>com.google.code.findbugs:jsr305</exclude> <exclude>com.google.code.gson:gson</exclude> <exclude>com.google.guava:guava</exclude> - <exclude>com.google.re2j:re2j</exclude> - - <exclude>com.jamesmurty.utils:java-xmlbuilder</exclude> - <exclude>com.jcraft:jsch</exclude> - <exclude>com.nimbusds:nimbus-jose-jwt</exclude> - - <exclude>com.sun.jersey:jersey-core</exclude> - <exclude>com.sun.jersey:jersey-json</exclude> - <exclude>com.sun.jersey:jersey-server</exclude> - <exclude>com.sun.jersey:jersey-servlet</exclude> - <exclude>com.sun.xml.bind:jaxb-impl</exclude> - - <exclude>com.thoughtworks.paranamer:paranamer</exclude> - <exclude>commons-beanutils:commons-beanutils-core</exclude> - <exclude>commons-beanutils:commons-beanutils</exclude> - <exclude>commons-cli:commons-cli</exclude> - <exclude>commons-codec:commons-codec</exclude> - <exclude>commons-collections:commons-collections</exclude> - <exclude>commons-configuration:commons-configuration</exclude> - <exclude>commons-digester:commons-digester</exclude> - <exclude>commons-io:commons-io</exclude> - <exclude>commons-lang:commons-lang</exclude> - <exclude>commons-logging:commons-logging</exclude> - <exclude>commons-net:commons-net</exclude> <exclude>io.netty:netty-buffer</exclude> <exclude>io.netty:netty-codec-http2</exclude> @@ -280,61 +234,6 @@ <exclude>io.netty:netty-handler</exclude> <exclude>io.netty:netty-resolver</exclude> <exclude>io.netty:netty-transport</exclude> - <exclude>io.netty:netty</exclude> - - <exclude>javax.activation:activation</exclude> - <exclude>javax.servlet.jsp:jsp-api</exclude> - <exclude>javax.servlet:servlet-api</exclude> - <exclude>javax.ws.rs:jsr311-api</exclude> - <exclude>javax.xml.bind:jaxb-api</exclude> - <exclude>javax.xml.stream:stax-api</exclude> - - <exclude>log4j:log4j</exclude> - <exclude>net.java.dev.jets3t:jets3t</exclude> - <exclude>net.jcip:jcip-annotations</exclude> - <exclude>net.minidev:json-smart</exclude> - - <exclude>org.apache.avro:avro</exclude> - <exclude>org.apache.commons:commons-compress</exclude> - <exclude>org.apache.commons:commons-math3</exclude> - <exclude>org.apache.curator:curator-client</exclude> - <exclude>org.apache.curator:curator-framework</exclude> - <exclude>org.apache.curator:curator-recipes</exclude> - <exclude>org.apache.hadoop:hadoop-annotations</exclude> - <exclude>org.apache.hadoop:hadoop-auth</exclude> - <exclude>org.apache.htrace:htrace-core4</exclude> - <exclude>org.apache.httpcomponents:httpclient</exclude> - <exclude>org.apache.httpcomponents:httpcore</exclude> - <exclude>org.apache.kerby:kerb-admin</exclude> - <exclude>org.apache.kerby:kerb-client</exclude> - <exclude>org.apache.kerby:kerb-common</exclude> - <exclude>org.apache.kerby:kerb-core</exclude> - <exclude>org.apache.kerby:kerb-crypto</exclude> - <exclude>org.apache.kerby:kerb-identity</exclude> - <exclude>org.apache.kerby:kerb-server</exclude> - <exclude>org.apache.kerby:kerb-simplekdc</exclude> - <exclude>org.apache.kerby:kerb-util</exclude> - <exclude>org.apache.kerby:kerby-asn1</exclude> - <exclude>org.apache.kerby:kerby-config</exclude> - <exclude>org.apache.kerby:kerby-pkix</exclude> - <exclude>org.apache.kerby:kerby-util</exclude> - <exclude>org.apache.zookeeper:zookeeper</exclude> - - <exclude>org.codehaus.jackson:jackson-core-asl</exclude> - <exclude>org.codehaus.jackson:jackson-jaxrs</exclude> - <exclude>org.codehaus.jackson:jackson-mapper-asl</exclude> - <exclude>org.codehaus.jackson:jackson-xc</exclude> - <exclude>org.codehaus.jettison:jettison</exclude> - - <exclude>org.mortbay.jetty:jetty-sslengine</exclude> - <exclude>org.mortbay.jetty:jetty-util</exclude> - <exclude>org.mortbay.jetty:jetty</exclude> - - <exclude>org.slf4j:slf4j-api</exclude> - <exclude>org.slf4j:slf4j-log4j12</exclude> - <exclude>org.tukaani:xz</exclude> - <exclude>org.xerial.snappy:snappy-java</exclude> - <exclude>xmlenc:xmlenc</exclude> </excludes> </artifactSet> </configuration>
