From b083dae56a1698d7622b5fc76083bae6133bc4b7 Mon Sep 17 00:00:00 2001 From: Josh Elser Date: Mon, 8 Jan 2018 19:56:13 -0500 Subject: [PATCH] HBASE-19735 Create a client-tarball assembly Implement the client-tarball as a separate maven module to work around the maven dependencies getting pulled in. --- hbase-client-assembly/pom.xml | 262 +++++++++++++++++++++ .../src/main/assembly/client-components.xml | 130 ++++++++++ hbase-client-assembly/src/main/assembly/client.xml | 123 ++++++++++ .../src/main/resources/META-INF/LEGAL | 5 + pom.xml | 11 + 5 files changed, 531 insertions(+) create mode 100644 hbase-client-assembly/pom.xml create mode 100644 hbase-client-assembly/src/main/assembly/client-components.xml create mode 100644 hbase-client-assembly/src/main/assembly/client.xml create mode 100644 hbase-client-assembly/src/main/resources/META-INF/LEGAL diff --git a/hbase-client-assembly/pom.xml b/hbase-client-assembly/pom.xml new file mode 100644 index 0000000000..be7f4be85c --- /dev/null +++ b/hbase-client-assembly/pom.xml @@ -0,0 +1,262 @@ + + + + 4.0.0 + + hbase-build-configuration + org.apache.hbase + 2.0.0-beta-1 + ../hbase-build-configuration + + hbase-client-assembly + Apache HBase - Client Assembly + + Module that does project assembly for "client-only" installations + + pom + + true + + + + + + org.apache.maven.plugins + maven-remote-resources-plugin + + + aggregate-licenses + + process + + + + ${build.year} + ${license.debug.print.included} + ${license.bundles.dependencies} + ${license.bundles.jquery} + ${license.bundles.logo} + ${license.bundles.bootstrap} + + + ${project.groupId}:hbase-resource-bundle:${project.version} + + + ${project.groupId}:hbase-resource-bundle:${project.version} + + + supplemental-models.xml + + + + + + + maven-assembly-plugin + + false + false + gnu + + hbase-client-${project.version}-bin + + src/main/assembly/client.xml + + + + + org.apache.maven.plugins + maven-site-plugin + + true + + + + maven-dependency-plugin + + + + create-hbase-generated-classpath + test + + build-classpath + + + ${project.parent.basedir}/target/cached_classpath.txt + jruby-complete + + + + + + create-hbase-generated-classpath-jruby + test + + build-classpath + + + ${project.parent.basedir}/target/cached_classpath_jruby.txt + jruby-complete + + + + + + + unpack-dependency-notices + prepare-package + + unpack-dependencies + + + true + **\/NOTICE,**\/NOTICE.txt + + + + + + org.codehaus.mojo + exec-maven-plugin + ${exec.maven.version} + + + concat-NOTICE-files + package + + exec + + + env + + bash + -c + cat maven-shared-archive-resources/META-INF/NOTICE \ + `find ${project.build.directory}/dependency -iname NOTICE -or -iname NOTICE.txt` + + + ${project.build.directory}/NOTICE.aggregate + ${project.build.directory} + + + + + + + + + + + org.apache.hbase + hbase-server + + + org.apache.hbase + hbase-http + + + org.apache.hbase + hbase-replication + + + + + org.apache.hbase + hbase-mapreduce + + + + org.apache.hbase + hbase-procedure + + + org.apache.hbase + hbase-procedure + test-jar + test + + + org.apache.hbase + hbase-hadoop-compat + + + com.google.guava + guava + + + + + org.apache.hbase + ${compat.module} + + + org.apache.hbase + hbase-shell + + + org.apache.hbase + hbase-metrics-api + + + org.apache.hbase + hbase-metrics + + + org.apache.hbase + hbase-protocol + + + org.apache.hbase + hbase-protocol-shaded + + + org.apache.hbase + hbase-resource-bundle + true + + + org.apache.httpcomponents + httpclient + + + org.apache.httpcomponents + httpcore + + + org.apache.hbase + hbase-zookeeper + + + org.apache.hbase + hbase-shaded-client + + + org.apache.hbase + hbase-shaded-mapreduce + + + diff --git a/hbase-client-assembly/src/main/assembly/client-components.xml b/hbase-client-assembly/src/main/assembly/client-components.xml new file mode 100644 index 0000000000..374ad74468 --- /dev/null +++ b/hbase-client-assembly/src/main/assembly/client-components.xml @@ -0,0 +1,130 @@ + + + + + + + + + ${project.basedir}/../target/site + docs + + + + ${project.basedir}/.. + . + + CHANGES.txt + README.txt + + 0644 + + + + ${project.basedir}/../conf + conf + 0644 + 0755 + + + + + ${project.basedir}/../bin + bin + + get-active-master.rb + hbase + hbase-common.sh + hbase-config.sh + hbase-jruby + hirb.rb + + + 0755 + 0755 + + + + ${project.basedir}/../bin + bin + + hbase.cmd + hbase-config.cmd + + + + + ${project.basedir}/../hbase-shell/src/main/ruby + lib/ruby + 0644 + 0755 + + + + ${project.basedir}/../hbase-server/target/native + lib/native + 0755 + 0755 + + *.so + *.dylib + + + + + ${project.basedir}/../hbase-server/target/ + lib + + ${server.test.jar} + + 0644 + + + ${project.basedir}/../hbase-annotations/target/ + lib + + ${annotations.test.jar} + + 0644 + + + ${project.basedir}/../hbase-common/target/ + lib + + ${common.test.jar} + + 0644 + + + ${project.basedir}/../hbase-mapreduce/target/ + lib + + ${mapreduce.test.jar} + + 0644 + + + diff --git a/hbase-client-assembly/src/main/assembly/client.xml b/hbase-client-assembly/src/main/assembly/client.xml new file mode 100644 index 0000000000..3f4e2ca2e7 --- /dev/null +++ b/hbase-client-assembly/src/main/assembly/client.xml @@ -0,0 +1,123 @@ + + + + + + client-bin + + tar.gz + + + src/main/assembly/client-components.xml + + + + true + + + org.apache.hbase:hbase-annotations + org.apache.hbase:hbase-client + org.apache.hbase:hbase-common + org.apache.hbase:hbase-hadoop-compat + org.apache.hbase:hbase-hadoop2-compat + org.apache.hbase:hbase-mapreduce + org.apache.hbase:hbase-metrics + org.apache.hbase:hbase-metrics-api + org.apache.hbase:hbase-procedure + org.apache.hbase:hbase-protocol + org.apache.hbase:hbase-protocol-shaded + org.apache.hbase:hbase-server + org.apache.hbase:hbase-shell + org.apache.hbase:hbase-zookeeper + + + + lib + false + + + + + org.jruby:jruby-complete + com.sun.jersey:* + com.sun.jersey.contribs:* + + + + + + + true + + org.apache.hbase:hbase-shaded-client + org.apache.hbase:hbase-shaded-mapreduce + + + + shaded-lib + false + + + + + org.apache.hbase:hbase-shaded-client + org.apache.hbase:hbase-shaded-mapreduce + + false + + + + + + + + + ${project.build.directory}/maven-shared-archive-resources/META-INF/LICENSE + . + LICENSE.txt + unix + + + ${project.build.directory}/NOTICE.aggregate + . + NOTICE.txt + unix + + + ${basedir}/src/main/resources/META-INF/LEGAL + . + LEGAL + unix + + + + + + + lib/ruby + + org.jruby:jruby-complete + + + + + diff --git a/hbase-client-assembly/src/main/resources/META-INF/LEGAL b/hbase-client-assembly/src/main/resources/META-INF/LEGAL new file mode 100644 index 0000000000..9ac7f5a78b --- /dev/null +++ b/hbase-client-assembly/src/main/resources/META-INF/LEGAL @@ -0,0 +1,5 @@ +In Ruby's source distribution, this would describe a number of C source files +that have different licenses than Ruby itself. None of those apply to JRuby, +so we have this file here as a placeholder. + +For details of licensing of this collective work, see LICENSE diff --git a/pom.xml b/pom.xml index bf8d06ec2f..3224708457 100755 --- a/pom.xml +++ b/pom.xml @@ -90,6 +90,7 @@ hbase-metrics-api hbase-metrics hbase-zookeeper + hbase-client-assembly @@ -1684,6 +1685,16 @@ test-jar test + + org.apache.hbase + hbase-shaded-client + ${project.version} + + + org.apache.hbase + hbase-shaded-mapreduce + ${project.version} + com.github.stephenc.findbugs -- 2.15.1