| <?xml version="1.0"?> |
| <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://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.3.0</version> |
| <relativePath>../hbase-build-configuration</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> |
| <!-- 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>posix</tarLongFileMode> |
| <descriptors> |
| <descriptor>${assembly.file}</descriptor> |
| <descriptor>src/main/assembly/client.xml</descriptor> |
| </descriptors> |
| </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>jline,jruby-complete,hbase-shaded-client,hbase-shaded-client-byo-hadoop,hbase-shaded-mapreduce</excludeArtifactIds> |
| </configuration> |
| </execution> |
| |
| <execution> |
| <!-- generates the file that will be used by the bin/hbase zkcli script in the dev env --> |
| <id>create-hbase-generated-classpath-jline</id> |
| <phase>test</phase> |
| <goals> |
| <goal>build-classpath</goal> |
| </goals> |
| <configuration> |
| <outputFile>${project.parent.basedir}/target/cached_classpath_jline.txt</outputFile> |
| <includeArtifactIds>jline</includeArtifactIds> |
| </configuration> |
| </execution> |
| |
| <execution> |
| <!-- generates the file that will be used by the bin/hbase shell script in the dev env --> |
| <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> |
| <excludeTypes>pom</excludeTypes> |
| <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> |
| <!-- client artifacts for downstream use --> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-shaded-client</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-shaded-client-byo-hadoop</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-shaded-mapreduce</artifactId> |
| </dependency> |
| <!-- Intra-project dependencies --> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-it</artifactId> |
| <type>test-jar</type> |
| </dependency> |
| <!-- Hamcrest is required by hbase-it (via junit), but as long as we're grabbing the hbase-it test-jar, |
| maven dependency resolution won't pick it up for us. --> |
| <dependency> |
| <groupId>org.hamcrest</groupId> |
| <artifactId>hamcrest-core</artifactId> |
| <!-- Overriding the scope in depMgmt --> |
| <scope>compile</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-server</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-mapreduce</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-mapreduce</artifactId> |
| <type>test-jar</type> |
| </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> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-shell</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-thrift</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-rest</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-external-blockcache</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-testing-util</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-metrics-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-metrics</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-protocol</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-protocol-shaded</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-resource-bundle</artifactId> |
| <optional>true</optional> |
| </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-replication</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-http</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-examples</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-zookeeper</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.hbase</groupId> |
| <artifactId>hbase-hbtop</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>jline</groupId> |
| <artifactId>jline</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>com.sun.xml.ws</groupId> |
| <artifactId>jaxws-ri</artifactId> |
| <type>pom</type> |
| </dependency> |
| <!-- |
| Include the log framework here. |
| For other sub modules, we only declare slf4j-api as a compile dependency, |
| so here we must pull in the real logging framework to actually log to log4j. |
| --> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jcl-over-slf4j</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>jul-to-slf4j</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| </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> |
| </dependency> |
| </dependencies> |
| </profile> |
| </profiles> |
| </project> |