519 lines
31 KiB
XML
519 lines
31 KiB
XML
<?xml version="1.0"?>
|
|
<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">
|
|
<!--
|
|
/**
|
|
* 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.
|
|
*/
|
|
-->
|
|
<modelVersion>4.0.0</modelVersion>
|
|
<parent>
|
|
<artifactId>hbase-build-configuration</artifactId>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<version>2.1.0-SNAPSHOT</version>
|
|
<relativePath>../hbase-build-configuration</relativePath>
|
|
</parent>
|
|
<artifactId>hbase-shaded</artifactId>
|
|
<name>Apache HBase - Shaded</name>
|
|
<description>Module of HBase with most deps shaded.</description>
|
|
<packaging>pom</packaging>
|
|
<properties>
|
|
<!-- Don't make a test-jar -->
|
|
<maven.test.skip>true</maven.test.skip>
|
|
<!-- Don't make a source-jar -->
|
|
<source.skip>true</source.skip>
|
|
<license.bundles.dependencies>true</license.bundles.dependencies>
|
|
<shaded.prefix>org.apache.hadoop.hbase.shaded</shaded.prefix>
|
|
</properties>
|
|
<modules>
|
|
<module>hbase-shaded-client</module>
|
|
<module>hbase-shaded-mapreduce</module>
|
|
<module>hbase-shaded-check-invariants</module>
|
|
</modules>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-resource-bundle</artifactId>
|
|
<version>${project.version}</version>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<!-- log4j has to be non-optional for Hadoop 2 atleast -->
|
|
<dependency>
|
|
<groupId>log4j</groupId>
|
|
<artifactId>log4j</artifactId>
|
|
</dependency>
|
|
<!-- put the log implementations to optional -->
|
|
<dependency>
|
|
<groupId>org.slf4j</groupId>
|
|
<artifactId>slf4j-log4j12</artifactId>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
</dependencies>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<!--Make it so assembly:single does nothing in here-->
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<configuration>
|
|
<skipAssembly>true</skipAssembly>
|
|
</configuration>
|
|
</plugin>
|
|
<!-- licensing info from our dependencies -->
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-remote-resources-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>aggregate-licenses</id>
|
|
<goals>
|
|
<goal>process</goal>
|
|
</goals>
|
|
<configuration>
|
|
<properties>
|
|
<copyright-end-year>${build.year}</copyright-end-year>
|
|
<debug-print-included-work-info>${license.debug.print.included}</debug-print-included-work-info>
|
|
<bundled-dependencies>${license.bundles.dependencies}</bundled-dependencies>
|
|
<bundled-jquery>${license.bundles.jquery}</bundled-jquery>
|
|
<bundled-logo>${license.bundles.logo}</bundled-logo>
|
|
<bundled-bootstrap>${license.bundles.bootstrap}</bundled-bootstrap>
|
|
</properties>
|
|
<resourceBundles>
|
|
<resourceBundle>${project.groupId}:hbase-resource-bundle:${project.version}</resourceBundle>
|
|
</resourceBundles>
|
|
<supplementalModelArtifacts>
|
|
<supplementalModelArtifact>${project.groupId}:hbase-resource-bundle:${project.version}</supplementalModelArtifact>
|
|
</supplementalModelArtifacts>
|
|
<supplementalModels>
|
|
<supplementalModel>supplemental-models.xml</supplementalModel>
|
|
</supplementalModels>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<!--Make it so assembly:single does nothing in here-->
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<configuration>
|
|
<skipAssembly>true</skipAssembly>
|
|
</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>
|
|
<createSourcesJar>false</createSourcesJar>
|
|
<shadedArtifactAttached>false</shadedArtifactAttached>
|
|
<promoteTransitiveDependencies>true</promoteTransitiveDependencies>
|
|
<shadeTestJar>false</shadeTestJar>
|
|
<artifactSet>
|
|
<excludes>
|
|
<exclude>org.apache.hbase:hbase-resource-bundle</exclude>
|
|
<exclude>org.slf4j:*</exclude>
|
|
<exclude>com.google.code.findbugs:*</exclude>
|
|
<exclude>com.github.stephenc.findbugs:*</exclude>
|
|
<exclude>org.apache.htrace:*</exclude>
|
|
<exclude>org.apache.yetus:*</exclude>
|
|
<exclude>log4j:*</exclude>
|
|
<exclude>commons-logging:*</exclude>
|
|
</excludes>
|
|
</artifactSet>
|
|
<relocations>
|
|
<!-- top level com not including sun-->
|
|
<relocation>
|
|
<pattern>com.cedarsoftware</pattern>
|
|
<shadedPattern>${shaded.prefix}.com.cedarsoftware</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>com.codahale</pattern>
|
|
<shadedPattern>${shaded.prefix}.com.codahale</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>com.ctc</pattern>
|
|
<shadedPattern>${shaded.prefix}.com.ctc</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>com.dropwizard</pattern>
|
|
<shadedPattern>${shaded.prefix}.com.dropwizard</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>com.fasterxml</pattern>
|
|
<shadedPattern>${shaded.prefix}.com.fasterxml</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>com.google</pattern>
|
|
<shadedPattern>${shaded.prefix}.com.google</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>com.jamesmurty</pattern>
|
|
<shadedPattern>${shaded.prefix}.com.jamesmurty</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>com.jcraft</pattern>
|
|
<shadedPattern>${shaded.prefix}.com.jcraft</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>com.lmax</pattern>
|
|
<shadedPattern>${shaded.prefix}.com.lmax</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>com.microsoft</pattern>
|
|
<shadedPattern>${shaded.prefix}.com.microsoft</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>com.nimbusds</pattern>
|
|
<shadedPattern>${shaded.prefix}.com.nimbusds</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>com.squareup</pattern>
|
|
<shadedPattern>${shaded.prefix}.com.squareup</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>com.thoughtworks</pattern>
|
|
<shadedPattern>${shaded.prefix}.com.thoughtworks</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>com.zaxxer</pattern>
|
|
<shadedPattern>${shaded.prefix}.com.zaxxer</shadedPattern>
|
|
</relocation>
|
|
|
|
|
|
<!-- netty family -->
|
|
<relocation>
|
|
<pattern>org.jboss.netty</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.jboss.netty</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>io.netty</pattern>
|
|
<shadedPattern>${shaded.prefix}.io.netty</shadedPattern>
|
|
</relocation>
|
|
|
|
<!-- top level okio -->
|
|
<relocation>
|
|
<pattern>okio</pattern>
|
|
<shadedPattern>${shaded.prefix}.okio</shadedPattern>
|
|
</relocation>
|
|
|
|
<!-- top level org -->
|
|
<relocation>
|
|
<pattern>org.codehaus</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.codehaus</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.eclipse</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.eclipse</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.ehcache</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.ehcache</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.jcodings</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.jcodings</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.joni</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.joni</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.mortbay</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.mortbay</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.nustaq</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.nustaq</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.terracotta</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.terracotta</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.tukaani</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.tukaani</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.xerial</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.xerial</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.znerd</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.znerd</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.aopalliance</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.aopalliance</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.fusesource</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.fusesource</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.iq80</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.iq80</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.jamon</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.jamon</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.jets3t</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.jets3t</shadedPattern>
|
|
</relocation>
|
|
<!-- poorly named add-on package from jets3t dependency. TODO can we just exclude these? -->
|
|
<relocation>
|
|
<pattern>contribs.mx</pattern>
|
|
<shadedPattern>${shaded.prefix}.contribs.mx</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.objectweb</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.objectweb</shadedPattern>
|
|
</relocation>
|
|
|
|
|
|
<!-- org.apache relocations not in org.apache.hadoop or org.apache.commons -->
|
|
<relocation>
|
|
<pattern>org.apache.avro</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.avro</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.curator</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.curator</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.directory</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.directory</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.http</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.http</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.jasper</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.jasper</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.jute</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.jute</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.kerby</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.kerby</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.taglibs</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.taglibs</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.zookeeper</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.zookeeper</shadedPattern>
|
|
</relocation>
|
|
|
|
<!-- org.apache.commons not including logging -->
|
|
<relocation>
|
|
<pattern>org.apache.commons.beanutils</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.beanutils</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.cli</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.cli</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.collections</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.collections</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.configuration</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.configuration</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.crypto</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.crypto</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.csv</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.csv</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.daemon</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.daemon</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.io</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.io</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.math</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.math</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.math3</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.math3</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.net</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.net</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.lang</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.lang</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.lang3</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.lang3</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.el</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.el</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.httpclient</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.httpclient</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.compress</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.compress</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.digester</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.digester</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.apache.commons.codec</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.apache.commons.codec</shadedPattern>
|
|
</relocation>
|
|
|
|
<!-- top level net-->
|
|
<relocation>
|
|
<pattern>net</pattern>
|
|
<shadedPattern>${shaded.prefix}.net</shadedPattern>
|
|
</relocation>
|
|
|
|
<!-- junit -->
|
|
<relocation>
|
|
<pattern>junit</pattern>
|
|
<shadedPattern>${shaded.prefix}.junit</shadedPattern>
|
|
</relocation>
|
|
<relocation>
|
|
<pattern>org.junit</pattern>
|
|
<shadedPattern>${shaded.prefix}.org.junit</shadedPattern>
|
|
</relocation>
|
|
|
|
|
|
</relocations>
|
|
<transformers>
|
|
<!-- Need to filter out some extraneous license files.
|
|
Don't use the ApacheLicenseRT because it just removes all
|
|
META-INF/LICENSE(.txt)? files, including ours. -->
|
|
<transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
|
|
<resources>
|
|
<resource>LICENSE.txt</resource>
|
|
<resource>ASL2.0</resource>
|
|
<resource>LICENSE-junit.txt</resource>
|
|
<!-- also this unneeded doc -->
|
|
<resource>overview.html</resource>
|
|
</resources>
|
|
</transformer>
|
|
<!-- Where notices exist, just concat them -->
|
|
<transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
|
|
<addHeader>false</addHeader>
|
|
<projectName>${project.name}</projectName>
|
|
</transformer>
|
|
</transformers>
|
|
<filters>
|
|
<filter>
|
|
<!-- this is a signed osgi bundle -->
|
|
<artifact>org.eclipse.jetty.orbit:javax.servlet.jsp.jstl</artifact>
|
|
<excludes>
|
|
<exclude>META-INF/ECLIPSEF.SF</exclude>
|
|
<exclude>META-INF/ECLIPSEF.RSA</exclude>
|
|
</excludes>
|
|
</filter>
|
|
<filter>
|
|
<!-- server side webapps that we don't need -->
|
|
<artifact>org.apache.hbase:hbase-server</artifact>
|
|
<excludes>
|
|
<exclude>hbase-webapps/*</exclude>
|
|
<exclude>hbase-webapps/**/*</exclude>
|
|
</excludes>
|
|
</filter>
|
|
<filter>
|
|
<!-- server side webapps that we don't need -->
|
|
<artifact>org.apache.hadoop:hadoop-yarn-common</artifact>
|
|
<excludes>
|
|
<exclude>webapps/*</exclude>
|
|
<exclude>webapps/**/*</exclude>
|
|
</excludes>
|
|
</filter>
|
|
<filter>
|
|
<artifact>*:*</artifact>
|
|
<excludes>
|
|
<!-- proto source files aren't needed -->
|
|
<exclude>*.proto</exclude>
|
|
<exclude>**/*.proto</exclude>
|
|
<!-- We already concat NOTICE, safe to drop individual ones -->
|
|
<exclude>LICENSE</exclude>
|
|
<exclude>NOTICE</exclude>
|
|
</excludes>
|
|
</filter>
|
|
<filter>
|
|
<!-- skip french localization -->
|
|
<artifact>org.apache.commons:commons-math3</artifact>
|
|
<excludes>
|
|
<exclude>assets/org/apache/commons/math3/**/*</exclude>
|
|
</excludes>
|
|
</filter>
|
|
<filter>
|
|
<!-- appears to be the result of a conflict in hadoop artifacts -->
|
|
<artifact>org.apache.hadoop:*</artifact>
|
|
<excludes>
|
|
<exclude>mapred-default.xml.orig</exclude>
|
|
</excludes>
|
|
</filter>
|
|
<!-- unnecessary files that mess up our invariants check -->
|
|
<filter>
|
|
<artifact>org.eclipse.jetty:*</artifact>
|
|
<excludes>
|
|
<exclude>about.html</exclude>
|
|
<exclude>jetty-dir.css</exclude>
|
|
</excludes>
|
|
</filter>
|
|
<filter>
|
|
<artifact>org.apache.kerby:*</artifact>
|
|
<excludes>
|
|
<exclude>krb5-template.conf</exclude>
|
|
<exclude>krb5_udp-template.conf</exclude>
|
|
<exclude>ccache.txt</exclude>
|
|
<exclude>keytab.txt</exclude>
|
|
</excludes>
|
|
</filter>
|
|
</filters>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
</project>
|