HBASE-17271 Fixed test runs in hbase-thrift
[hbase.git] / hbase-assembly / pom.xml
blob19bf5f04c01fde23c230de4b188f3d2f81babe6d
1 <?xml version="1.0"?>
2 <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">
3   <!--
4     /**
5      * Licensed to the Apache Software Foundation (ASF) under one
6      * or more contributor license agreements.  See the NOTICE file
7      * distributed with this work for additional information
8      * regarding copyright ownership.  The ASF licenses this file
9      * to you under the Apache License, Version 2.0 (the
10      * "License"); you may not use this file except in compliance
11      * with the License.  You may obtain a copy of the License at
12      *
13      *     http://www.apache.org/licenses/LICENSE-2.0
14      *
15      * Unless required by applicable law or agreed to in writing, software
16      * distributed under the License is distributed on an "AS IS" BASIS,
17      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18      * See the License for the specific language governing permissions and
19      * limitations under the License.
20      */
21     -->
22   <modelVersion>4.0.0</modelVersion>
23   <parent>
24     <artifactId>hbase</artifactId>
25     <groupId>org.apache.hbase</groupId>
26     <version>2.0.0-SNAPSHOT</version>
27     <relativePath>..</relativePath>
28   </parent>
29   <artifactId>hbase-assembly</artifactId>
30   <name>Apache HBase - Assembly</name>
31   <description>
32         Module that does project assembly and that is all that it does.
33     </description>
34   <packaging>pom</packaging>
35   <properties>
36     <license.bundles.dependencies>true</license.bundles.dependencies>
37   </properties>
38   <build>
39     <plugins>
40       <!-- licensing info from our dependencies -->
41       <plugin>
42         <groupId>org.apache.maven.plugins</groupId>
43         <artifactId>maven-remote-resources-plugin</artifactId>
44         <version>1.5</version>
45         <executions>
46           <execution>
47             <id>default</id>
48             <configuration>
49               <properties>
50                 <copyright-end-year>${build.year}</copyright-end-year>
51                 <debug-print-included-work-info>${license.debug.print.included}</debug-print-included-work-info>
52                 <bundled-dependencies>${license.bundles.dependencies}</bundled-dependencies>
53                 <bundled-jquery>${license.bundles.jquery}</bundled-jquery>
54                 <bundled-logo>${license.bundles.logo}</bundled-logo>
55                 <bundled-bootstrap>${license.bundles.bootstrap}</bundled-bootstrap>
56               </properties>
57               <resourceBundles>
58                 <resourceBundle>${project.groupId}:hbase-resource-bundle:${project.version}</resourceBundle>
59               </resourceBundles>
60               <supplementalModelArtifacts>
61                 <supplementalModelArtifact>${project.groupId}:hbase-resource-bundle:${project.version}</supplementalModelArtifact>
62               </supplementalModelArtifacts>
63               <supplementalModels>
64                 <supplementalModel>supplemental-models.xml</supplementalModel>
65               </supplementalModels>
66             </configuration>
67           </execution>
68         </executions>
69       </plugin>
70       <plugin>
71         <artifactId>maven-assembly-plugin</artifactId>
72         <version>${maven.assembly.version}</version>
73         <configuration>
74           <!--Else will use hbase-assembly as final name.-->
75           <finalName>hbase-${project.version}</finalName>
76           <skipAssembly>false</skipAssembly>
77           <appendAssemblyId>true</appendAssemblyId>
78           <tarLongFileMode>gnu</tarLongFileMode>
79           <descriptors>
80             <descriptor>${assembly.file}</descriptor>
81           </descriptors>
82         </configuration>
83       </plugin>
84         <plugin>
85           <groupId>org.apache.maven.plugins</groupId>
86           <artifactId>maven-site-plugin</artifactId>
87           <configuration>
88             <skip>true</skip>
89           </configuration>
90         </plugin>
91       <plugin>
92         <artifactId>maven-dependency-plugin</artifactId>
93         <executions>
94           <execution>
95                 <!-- generates the file that will be used by the bin/hbase script in the dev env -->
96             <id>create-hbase-generated-classpath</id>
97             <phase>test</phase>
98             <goals>
99               <goal>build-classpath</goal>
100             </goals>
101             <configuration>
102               <outputFile>${project.parent.basedir}/target/cached_classpath.txt</outputFile>
103             </configuration>
104           </execution>
105         <!--
106            Build an aggregation of our templated NOTICE file and the NOTICE files in our dependencies.
107            If MASSEMBLY-382 is fixed we could do this in the assembly
108            Currently relies on env, bash, find, and cat.
109         -->
110           <execution>
111             <!-- put all of the NOTICE files out of our dependencies -->
112             <id>unpack-dependency-notices</id>
113             <phase>prepare-package</phase>
114             <goals>
115               <goal>unpack-dependencies</goal>
116             </goals>
117             <configuration>
118               <useSubDirectoryPerArtifact>true</useSubDirectoryPerArtifact>
119               <includes>**\/NOTICE,**\/NOTICE.txt</includes>
120             </configuration>
121           </execution>
122         </executions>
123       </plugin>
124       <plugin>
125         <groupId>org.codehaus.mojo</groupId>
126         <artifactId>exec-maven-plugin</artifactId>
127         <version>1.4.0</version>
128         <executions>
129           <execution>
130             <id>concat-NOTICE-files</id>
131             <phase>package</phase>
132             <goals>
133               <goal>exec</goal>
134             </goals>
135             <configuration>
136               <executable>env</executable>
137               <arguments>
138                 <argument>bash</argument>
139                 <argument>-c</argument>
140                 <argument>cat maven-shared-archive-resources/META-INF/NOTICE \
141                   `find ${project.build.directory}/dependency -iname NOTICE -or -iname NOTICE.txt`
142                 </argument>
143               </arguments>
144               <outputFile>${project.build.directory}/NOTICE.aggregate</outputFile>
145               <workingDirectory>${project.build.directory}</workingDirectory>
146             </configuration>
147           </execution>
148         </executions>
149       </plugin>
150       <!-- /end building aggregation of NOTICE files -->
151     </plugins>
152   </build>
153   <dependencies>
154         <!-- Intra-project dependencies -->
155     <dependency>
156       <groupId>org.apache.hbase</groupId>
157       <artifactId>hbase-it</artifactId>
158       <type>test-jar</type>
159     </dependency>
160     <dependency>
161       <groupId>org.apache.hbase</groupId>
162       <artifactId>hbase-server</artifactId>
163     </dependency>
164     <!-- To dump tools in hbase-procedure into cached_classpath.txt. -->
165     <dependency>
166       <groupId>org.apache.hbase</groupId>
167       <artifactId>hbase-procedure</artifactId>
168     </dependency>
169     <dependency>
170       <groupId>org.apache.hbase</groupId>
171       <artifactId>hbase-procedure</artifactId>
172       <type>test-jar</type>
173       <scope>test</scope>
174     </dependency>
175     <dependency>
176         <groupId>org.apache.hbase</groupId>
177         <artifactId>hbase-hadoop-compat</artifactId>
178     </dependency>
179     <dependency>
180         <groupId>org.apache.hbase</groupId>
181         <artifactId>${compat.module}</artifactId>
182         <version>${project.version}</version>
183     </dependency>
184     <dependency>
185        <groupId>org.apache.hbase</groupId>
186        <artifactId>hbase-shell</artifactId>
187        <version>${project.version}</version>
188     </dependency>
189     <dependency>
190       <groupId>org.apache.hbase</groupId>
191       <artifactId>hbase-thrift</artifactId>
192       <version>${project.version}</version>
193     </dependency>
194     <dependency>
195       <groupId>org.apache.hbase</groupId>
196       <artifactId>hbase-rest</artifactId>
197       <version>${project.version}</version>
198     </dependency>
199     <dependency>
200       <groupId>org.apache.hbase</groupId>
201       <artifactId>hbase-external-blockcache</artifactId>
202       <version>${project.version}</version>
203     </dependency>
204     <dependency>
205        <groupId>org.apache.hbase</groupId>
206        <artifactId>hbase-testing-util</artifactId>
207        <version>${project.version}</version>
208     </dependency>
209     <dependency>
210        <groupId>org.apache.hbase</groupId>
211        <artifactId>hbase-metrics-api</artifactId>
212        <version>${project.version}</version>
213     </dependency>
214     <dependency>
215        <groupId>org.apache.hbase</groupId>
216        <artifactId>hbase-metrics</artifactId>
217        <version>${project.version}</version>
218     </dependency>
219     <dependency>
220        <groupId>org.apache.hbase</groupId>
221        <artifactId>hbase-resource-bundle</artifactId>
222        <version>${project.version}</version>
223        <optional>true</optional>
224     </dependency>
225     <dependency>
226       <groupId>org.apache.hbase</groupId>
227       <artifactId>hbase-spark</artifactId>
228       <version>${project.version}</version>
229     </dependency>
230   </dependencies>
232   <profiles>
233     <profile>
234       <id>rsgroup</id>
235       <activation>
236         <property>
237             <name>!skip-rsgroup</name>
238         </property>
239       </activation>
240       <dependencies>
241         <dependency>
242           <groupId>org.apache.hbase</groupId>
243           <artifactId>hbase-rsgroup</artifactId>
244           <version>${project.version}</version>
245         </dependency>
246       </dependencies>
247     </profile>
248   </profiles>
249 </project>