Pull in guava 22.0 by using the shaded version up in new hbase-thirdparty project. In poms, exclude guava everywhere except on hadoop-common. Do this so we minimize transitive includes. hadoop-common is needed because hadoop Configuration uses guava doing preconditions. Everywhere we used guava, instead use shaded so fix a load of imports. Stopwatch API changed as did hashing and toStringHelper which is now in MoreObjects class. Otherwise, minimal changes to come up on 22.0
304 lines
11 KiB
XML
304 lines
11 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</artifactId>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<version>2.0.0-alpha-2-SNAPSHOT</version>
|
|
<relativePath>..</relativePath>
|
|
</parent>
|
|
<artifactId>hbase-assembly</artifactId>
|
|
<name>Apache HBase - Assembly</name>
|
|
<description>
|
|
Module that does project assembly and that is all that it does.
|
|
</description>
|
|
<packaging>pom</packaging>
|
|
<properties>
|
|
<license.bundles.dependencies>true</license.bundles.dependencies>
|
|
</properties>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-enforcer-plugin</artifactId>
|
|
<executions>
|
|
<!-- hbase-spark is ok in the assembly -->
|
|
<execution>
|
|
<id>banned-hbase-spark</id>
|
|
<goals>
|
|
<goal>enforce</goal>
|
|
</goals>
|
|
<configuration>
|
|
<skip>true</skip>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</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>
|
|
<plugin>
|
|
<artifactId>maven-assembly-plugin</artifactId>
|
|
<configuration>
|
|
<!--Else will use hbase-assembly as final name.-->
|
|
<finalName>hbase-${project.version}</finalName>
|
|
<skipAssembly>false</skipAssembly>
|
|
<appendAssemblyId>true</appendAssemblyId>
|
|
<tarLongFileMode>gnu</tarLongFileMode>
|
|
<descriptors>
|
|
<descriptor>${assembly.file}</descriptor>
|
|
</descriptors>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-site-plugin</artifactId>
|
|
<configuration>
|
|
<skip>true</skip>
|
|
</configuration>
|
|
</plugin>
|
|
<plugin>
|
|
<artifactId>maven-dependency-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<!-- generates the file that will be used by the bin/hbase script in the dev env -->
|
|
<id>create-hbase-generated-classpath</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>build-classpath</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputFile>${project.parent.basedir}/target/cached_classpath.txt</outputFile>
|
|
<excludeArtifactIds>jruby-complete</excludeArtifactIds>
|
|
</configuration>
|
|
</execution>
|
|
|
|
<execution>
|
|
<!-- Generates a file containing jruby jar.
|
|
In dev environment, bin/hbase will read the file and add the jar into classpath when jruby is needed
|
|
-->
|
|
<id>create-hbase-generated-classpath-jruby</id>
|
|
<phase>test</phase>
|
|
<goals>
|
|
<goal>build-classpath</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputFile>${project.parent.basedir}/target/cached_classpath_jruby.txt</outputFile>
|
|
<includeArtifactIds>jruby-complete</includeArtifactIds>
|
|
</configuration>
|
|
</execution>
|
|
|
|
<!--
|
|
Build an aggregation of our templated NOTICE file and the NOTICE files in our dependencies.
|
|
If MASSEMBLY-382 is fixed we could do this in the assembly
|
|
Currently relies on env, bash, find, and cat.
|
|
-->
|
|
<execution>
|
|
<!-- put all of the NOTICE files out of our dependencies -->
|
|
<id>unpack-dependency-notices</id>
|
|
<phase>prepare-package</phase>
|
|
<goals>
|
|
<goal>unpack-dependencies</goal>
|
|
</goals>
|
|
<configuration>
|
|
<useSubDirectoryPerArtifact>true</useSubDirectoryPerArtifact>
|
|
<includes>**\/NOTICE,**\/NOTICE.txt</includes>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.codehaus.mojo</groupId>
|
|
<artifactId>exec-maven-plugin</artifactId>
|
|
<version>${exec.maven.version}</version>
|
|
<executions>
|
|
<execution>
|
|
<id>concat-NOTICE-files</id>
|
|
<phase>package</phase>
|
|
<goals>
|
|
<goal>exec</goal>
|
|
</goals>
|
|
<configuration>
|
|
<executable>env</executable>
|
|
<arguments>
|
|
<argument>bash</argument>
|
|
<argument>-c</argument>
|
|
<argument>cat maven-shared-archive-resources/META-INF/NOTICE \
|
|
`find ${project.build.directory}/dependency -iname NOTICE -or -iname NOTICE.txt`
|
|
</argument>
|
|
</arguments>
|
|
<outputFile>${project.build.directory}/NOTICE.aggregate</outputFile>
|
|
<workingDirectory>${project.build.directory}</workingDirectory>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<!-- /end building aggregation of NOTICE files -->
|
|
</plugins>
|
|
</build>
|
|
<dependencies>
|
|
<!-- Intra-project dependencies -->
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-it</artifactId>
|
|
<type>test-jar</type>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-server</artifactId>
|
|
</dependency>
|
|
<!-- To dump tools in hbase-procedure into cached_classpath.txt. -->
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-procedure</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-procedure</artifactId>
|
|
<type>test-jar</type>
|
|
<scope>test</scope>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-hadoop-compat</artifactId>
|
|
<exclusions>
|
|
<exclusion>
|
|
<groupId>com.google.guava</groupId>
|
|
<artifactId>guava</artifactId>
|
|
</exclusion>
|
|
</exclusions>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>${compat.module}</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-shell</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-thrift</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-rest</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-external-blockcache</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-testing-util</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-metrics-api</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-metrics</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-resource-bundle</artifactId>
|
|
<version>${project.version}</version>
|
|
<optional>true</optional>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-spark</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.httpcomponents</groupId>
|
|
<artifactId>httpclient</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.httpcomponents</groupId>
|
|
<artifactId>httpcore</artifactId>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-spark-it</artifactId>
|
|
<version>${project.version}</version>
|
|
<type>test-jar</type>
|
|
</dependency>
|
|
</dependencies>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>rsgroup</id>
|
|
<activation>
|
|
<property>
|
|
<name>!skip-rsgroup</name>
|
|
</property>
|
|
</activation>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>org.apache.hbase</groupId>
|
|
<artifactId>hbase-rsgroup</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|