Repository: hbase-thirdparty Updated Branches: refs/heads/master 2f9ed2674 -> f17a8270c
Cleanup and doc; do not include protobuf because we can't do the patching in here Project: http://git-wip-us.apache.org/repos/asf/hbase-thirdparty/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase-thirdparty/commit/f17a8270 Tree: http://git-wip-us.apache.org/repos/asf/hbase-thirdparty/tree/f17a8270 Diff: http://git-wip-us.apache.org/repos/asf/hbase-thirdparty/diff/f17a8270 Branch: refs/heads/master Commit: f17a8270cb68b8063502b5ee16a1b8ec2bdf7c68 Parents: 2f9ed26 Author: Michael Stack <st...@apache.org> Authored: Thu Jun 22 23:16:42 2017 -0700 Committer: Michael Stack <st...@apache.org> Committed: Thu Jun 22 23:16:42 2017 -0700 ---------------------------------------------------------------------- README.txt | 10 +++ pom.xml | 188 ++++++++++++++++++++++++++------------------------------ 2 files changed, 97 insertions(+), 101 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase-thirdparty/blob/f17a8270/README.txt ---------------------------------------------------------------------- diff --git a/README.txt b/README.txt index 5603f6f..f025d66 100644 --- a/README.txt +++ b/README.txt @@ -1 +1,11 @@ This project contains relocated third-party libraries used by Apache HBase + +Includes protobuf-util, netty-all, gson, and guava offset so they have +an org.apache.hadoop.hbase.shaded prefix on class name. See the pom.xml +for the explicit version of each third-party lib included. + +We do not include protobuf here because we need to patch it. Patching +involves unpack of src, patch, and then re-jarring. We can do this +if only protobuf is involved. Unpack of protobuf plus the above and +then trying to compile fails because src is missing for some dependency. +See hbase-protocol-shaded/pom.xml for how it does patch of protobuf. http://git-wip-us.apache.org/repos/asf/hbase-thirdparty/blob/f17a8270/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 3c1dc58..7f71df4 100644 --- a/pom.xml +++ b/pom.xml @@ -1,9 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<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/maven-v4_0_0.xsd"> -<!-- +<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/maven-v4_0_0.xsd"> + <!-- /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -44,7 +41,7 @@ <version>1.0.0-SNAPSHOT</version> <name>Apache HBase Relocated Third-party Libraries</name> <description> - Hosts third-party, relocated (shaded) libraries. + Hosts third-party, relocated (renamed, shaded) libraries. </description> <url>http://hbase.apache.org</url> <inceptionYear>2017</inceptionYear> @@ -55,13 +52,13 @@ <distribution>repo</distribution> </license> </licenses> - <scm> <connection>scm:git:git://git.apache.org/hbase-thirdparty.git</connection> <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/hbase-thirdparty.git</developerConnection> <url>https://git-wip-us.apache.org/repos/asf?p=hbase-thirdparty.git</url> </scm> <issueManagement> + <!--File issues for this project against Apache HBase JIRA--> <system>JIRA</system> <url>http://issues.apache.org/jira/browse/HBASE</url> </issueManagement> @@ -111,7 +108,30 @@ <archive>http://mail-archives.apache.org/mod_mbox/hbase-builds/</archive> </mailingList> </mailingLists> - <developers /> <!--TODO--> + <developers/> + <!--TODO--> + <properties> + <!-- override on command line to have generated LICENSE files include + diagnostic info for verifying notice requirements --> + <license.debug.print.included>false</license.debug.print.included> + <!-- When a particular module bundles its depenendencies, should be true --> + <license.bundles.dependencies>false</license.bundles.dependencies> + <!-- modules that include a the logo in their source tree should set true --> + <license.bundles.logo>false</license.bundles.logo> + <!-- modules that include bootstrap in their source tree should set true --> + <license.bundles.bootstrap>false</license.bundles.bootstrap> + <!-- modules that include jquery in their source tree should set true --> + <license.bundles.jquery>false</license.bundles.jquery> + <maven.build.timestamp.format> + yyyy-MM-dd'T'HH:mm + </maven.build.timestamp.format> + <buildDate>${maven.build.timestamp}</buildDate> + <compileSource>1.8</compileSource> + <java.min.version>${compileSource}</java.min.version> + <maven.min.version>3.3.3</maven.min.version> + <protobuf.version>3.3.1</protobuf.version> + <rename.offset>org.apache.hadoop.hbase.shaded</rename.offset> + </properties> <build> <plugins> <plugin> @@ -121,44 +141,6 @@ </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-shade-plugin</artifactId> - <version>3.0.0</version> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>shade</goal> - </goals> - <configuration> - <shadeSourcesContent>true</shadeSourcesContent> - <relocations> - <relocation> - <pattern>io.netty</pattern> - <shadedPattern>org.apache.hadoop.hbase.shaded.io.netty</shadedPattern> - </relocation> - <relocation> - <pattern>com.google</pattern> - <shadedPattern>org.apache.hadoop.hbase.shaded.com.google</shadedPattern> - </relocation> - </relocations> - <!-- What I got when I did a mvn dependency:list for this - module. Exclude all but the com.google. - --> - <artifactSet> - <excludes> - <exclude>com.google.code.findbugs:jsr305</exclude> - <exclude>com.google.errorprone:error_prone_annotations</exclude> - <exclude>com.google.j2objc:j2objc-annotations</exclude> - <exclude>org.codehaus.mojo:animal-sniffer-annotations</exclude> - <exclude>org.codehaus.mojo:animal-sniffer-annotations</exclude> - </excludes> - </artifactSet> - </configuration> - </execution> - </executions> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-release-plugin</artifactId> <configuration> <!--You need this profile. It'll sign your artifacts. @@ -175,10 +157,6 @@ </configuration> </plugin> <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-clean-plugin</artifactId> - </plugin> - <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.9.1</version> @@ -217,7 +195,6 @@ <exclude>**/dependency-reduced-pom.xml</exclude> <exclude>**/rat.txt</exclude> <!-- exclude the shaded protobuf files --> - <exclude>**/shaded/com/google/protobuf/**</exclude> <exclude>**/src/main/patches/**</exclude> </excludes> </configuration> @@ -230,7 +207,7 @@ <dependency> <groupId>org.codehaus.mojo</groupId> <artifactId>extra-enforcer-rules</artifactId> - <version>1.0-beta-3</version> + <version>1.0-beta-6</version> </dependency> </dependencies> <!-- version set by parent --> @@ -275,37 +252,74 @@ </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> - <artifactId>findbugs-maven-plugin</artifactId> + <artifactId>buildnumber-maven-plugin</artifactId> + <version>1.4</version> <executions> <execution> - <inherited>false</inherited> + <phase>validate</phase> <goals> - <goal>findbugs</goal> + <goal>create-timestamp</goal> </goals> - <configuration> - <excludeFilterFile>${basedir}/dev-support/findbugs-exclude.xml</excludeFilterFile> - </configuration> </execution> </executions> + <configuration> + <timestampFormat>yyyy</timestampFormat> + <timestampPropertyName>build.year</timestampPropertyName> + </configuration> </plugin> <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>buildnumber-maven-plugin</artifactId> + <artifactId>maven-clean-plugin</artifactId> + <configuration> + <filesets> + <fileset> + <directory>${basedir}</directory> + <includes> + <include>dependency-reduced-pom.xml</include> + </includes> + </fileset> + </filesets> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-shade-plugin</artifactId> + <version>3.0.0</version> <executions> <execution> - <phase>validate</phase> + <phase>package</phase> <goals> - <goal>create-timestamp</goal> + <goal>shade</goal> </goals> + <configuration> + <shadeSourcesContent>true</shadeSourcesContent> + <relocations> + <relocation> + <pattern>io.netty</pattern> + <shadedPattern>${rename.offset}.io.netty</shadedPattern> + </relocation> + <relocation> + <pattern>com.google</pattern> + <shadedPattern>${rename.offset}.com.google</shadedPattern> + </relocation> + </relocations> + <artifactSet> + <excludes> + <!--Exclude protobuf itself. We get a patched version later over in hbase core--> + <exclude>com.google.protobuf:protobuf-java</exclude> + <exclude>com.google.code.findbugs:jsr305</exclude> + <exclude>com.google.errorprone:error_prone_annotations</exclude> + <exclude>com.google.j2objc:j2objc-annotations</exclude> + <exclude>org.codehaus.mojo:animal-sniffer-annotations</exclude> + <exclude>org.codehaus.mojo:animal-sniffer-annotations</exclude> + </excludes> + </artifactSet> + </configuration> </execution> </executions> - <configuration> - <timestampFormat>yyyy</timestampFormat> - <timestampPropertyName>build.year</timestampPropertyName> - </configuration> - </plugin> - </plugins> + </plugin> + </plugins> </build> + <!--These are the third-party libs we want to relocate--> <dependencies> <dependency> <groupId>com.google.code.gson</groupId> @@ -319,11 +333,6 @@ </dependency> <dependency> <groupId>com.google.protobuf</groupId> - <artifactId>protobuf-java</artifactId> - <version>${protobuf.version}</version> - </dependency> - <dependency> - <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java-util</artifactId> <version>${protobuf.version}</version> </dependency> @@ -333,29 +342,6 @@ <version>4.1.12.Final</version> </dependency> </dependencies> - <properties> - <!-- override on command line to have generated LICENSE files include - diagnostic info for verifying notice requirements --> - <license.debug.print.included>false</license.debug.print.included> - <!-- When a particular module bundles its depenendencies, should be true --> - <license.bundles.dependencies>false</license.bundles.dependencies> - <!-- modules that include a the logo in their source tree should set true --> - <license.bundles.logo>false</license.bundles.logo> - <!-- modules that include bootstrap in their source tree should set true --> - <license.bundles.bootstrap>false</license.bundles.bootstrap> - <!-- modules that include jquery in their source tree should set true --> - <license.bundles.jquery>false</license.bundles.jquery> - <tar.name>${project.build.finalName}.tar.gz</tar.name> - <maven.build.timestamp.format> - yyyy-MM-dd'T'HH:mm - </maven.build.timestamp.format> - <buildDate>${maven.build.timestamp}</buildDate> - <compileSource>1.8</compileSource> - <!-- Build dependencies --> - <maven.min.version>3.0.4</maven.min.version> - <java.min.version>${compileSource}</java.min.version> - <protobuf.version>3.3.1</protobuf.version> - </properties> <profiles> <!-- this profile should be activated for release builds --> <profile> @@ -380,17 +366,17 @@ <configuration> <rules> <enforceBytecodeVersion> - <maxJdkVersion>${compileSource}</maxJdkVersion> - <message>HBase has unsupported dependencies. + <maxJdkVersion>${compileSource}</maxJdkVersion> + <message>HBase has unsupported dependencies. HBase requires that all dependencies be compiled with version ${compileSource} or earlier of the JDK to properly build from source. You appear to be using a newer dependency. You can use either "mvn -version" or "mvn enforcer:display-info" to verify what version is active. Non-release builds can temporarily build with a newer JDK version by setting the 'compileSource' property (eg. mvn -DcompileSource=1.8 clean package). </message> - </enforceBytecodeVersion> - </rules> - </configuration> + </enforceBytecodeVersion> + </rules> + </configuration> </plugin> </plugins> </build>