Update downloads.xml for release 1.4.9
[hbase.git] / hbase-assembly / pom.xml
blobf0aa8c68e96c2f756895424bffcebf3e3f500e06
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-build-configuration</artifactId>
25     <groupId>org.apache.hbase</groupId>
26     <version>3.0.0-SNAPSHOT</version>
27     <relativePath>../hbase-build-configuration</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         <executions>
45           <execution>
46             <id>aggregate-licenses</id>
47             <goals>
48               <goal>process</goal>
49             </goals>
50             <configuration>
51               <properties>
52                 <copyright-end-year>${build.year}</copyright-end-year>
53                 <debug-print-included-work-info>${license.debug.print.included}</debug-print-included-work-info>
54                 <bundled-dependencies>${license.bundles.dependencies}</bundled-dependencies>
55                 <bundled-jquery>${license.bundles.jquery}</bundled-jquery>
56                 <bundled-logo>${license.bundles.logo}</bundled-logo>
57                 <bundled-bootstrap>${license.bundles.bootstrap}</bundled-bootstrap>
58               </properties>
59               <resourceBundles>
60                 <resourceBundle>${project.groupId}:hbase-resource-bundle:${project.version}</resourceBundle>
61               </resourceBundles>
62               <supplementalModelArtifacts>
63                 <supplementalModelArtifact>${project.groupId}:hbase-resource-bundle:${project.version}</supplementalModelArtifact>
64               </supplementalModelArtifacts>
65               <supplementalModels>
66                 <supplementalModel>supplemental-models.xml</supplementalModel>
67               </supplementalModels>
68             </configuration>
69           </execution>
70         </executions>
71       </plugin>
72       <plugin>
73         <artifactId>maven-assembly-plugin</artifactId>
74         <configuration>
75           <!--Else will use hbase-assembly as final name.-->
76           <finalName>hbase-${project.version}</finalName>
77           <skipAssembly>false</skipAssembly>
78           <appendAssemblyId>true</appendAssemblyId>
79           <tarLongFileMode>gnu</tarLongFileMode>
80           <descriptors>
81             <descriptor>${assembly.file}</descriptor>
82             <descriptor>src/main/assembly/client.xml</descriptor>
83           </descriptors>
84         </configuration>
85       </plugin>
86       <plugin>
87         <artifactId>maven-dependency-plugin</artifactId>
88         <executions>
89           <execution>
90                 <!-- generates the file that will be used by the bin/hbase script in the dev env -->
91             <id>create-hbase-generated-classpath</id>
92             <phase>test</phase>
93             <goals>
94               <goal>build-classpath</goal>
95             </goals>
96             <configuration>
97               <outputFile>${project.parent.basedir}/target/cached_classpath.txt</outputFile>
98               <excludeArtifactIds>jline,jruby-complete,hbase-shaded-client,hbase-shaded-client-byo-hadoop,hbase-shaded-mapreduce</excludeArtifactIds>
99             </configuration>
100           </execution>
102           <execution>
103             <!-- generates the file that will be used by the bin/hbase zkcli script in the dev env -->
104             <id>create-hbase-generated-classpath-jline</id>
105             <phase>test</phase>
106             <goals>
107               <goal>build-classpath</goal>
108             </goals>
109             <configuration>
110               <outputFile>${project.parent.basedir}/target/cached_classpath_jline.txt</outputFile>
111               <includeArtifactIds>jline</includeArtifactIds>
112             </configuration>
113           </execution>
115           <execution>
116             <!-- generates the file that will be used by the bin/hbase shell script in the dev env -->
117             <id>create-hbase-generated-classpath-jruby</id>
118             <phase>test</phase>
119             <goals>
120               <goal>build-classpath</goal>
121             </goals>
122             <configuration>
123               <outputFile>${project.parent.basedir}/target/cached_classpath_jruby.txt</outputFile>
124               <includeArtifactIds>jruby-complete</includeArtifactIds>
125             </configuration>
126           </execution>
128         <!--
129            Build an aggregation of our templated NOTICE file and the NOTICE files in our dependencies.
130            If MASSEMBLY-382 is fixed we could do this in the assembly
131            Currently relies on env, bash, find, and cat.
132         -->
133           <execution>
134             <!-- put all of the NOTICE files out of our dependencies -->
135             <id>unpack-dependency-notices</id>
136             <phase>prepare-package</phase>
137             <goals>
138               <goal>unpack-dependencies</goal>
139             </goals>
140             <configuration>
141               <useSubDirectoryPerArtifact>true</useSubDirectoryPerArtifact>
142               <includes>**\/NOTICE,**\/NOTICE.txt</includes>
143             </configuration>
144           </execution>
145         </executions>
146       </plugin>
147       <plugin>
148         <groupId>org.codehaus.mojo</groupId>
149         <artifactId>exec-maven-plugin</artifactId>
150         <version>${exec.maven.version}</version>
151         <executions>
152           <execution>
153             <id>concat-NOTICE-files</id>
154             <phase>package</phase>
155             <goals>
156               <goal>exec</goal>
157             </goals>
158             <configuration>
159               <executable>env</executable>
160               <arguments>
161                 <argument>bash</argument>
162                 <argument>-c</argument>
163                 <argument>cat maven-shared-archive-resources/META-INF/NOTICE \
164                   `find ${project.build.directory}/dependency -iname NOTICE -or -iname NOTICE.txt`
165                 </argument>
166               </arguments>
167               <outputFile>${project.build.directory}/NOTICE.aggregate</outputFile>
168               <workingDirectory>${project.build.directory}</workingDirectory>
169             </configuration>
170           </execution>
171         </executions>
172       </plugin>
173       <!-- /end building aggregation of NOTICE files -->
174     </plugins>
175   </build>
176   <dependencies>
177     <!-- client artifacts for downstream use -->
178     <dependency>
179       <groupId>org.apache.hbase</groupId>
180       <artifactId>hbase-shaded-client</artifactId>
181     </dependency>
182     <dependency>
183       <groupId>org.apache.hbase</groupId>
184       <artifactId>hbase-shaded-client-byo-hadoop</artifactId>
185     </dependency>
186     <dependency>
187       <groupId>org.apache.hbase</groupId>
188       <artifactId>hbase-shaded-mapreduce</artifactId>
189     </dependency>
190         <!-- Intra-project dependencies -->
191     <dependency>
192       <groupId>org.apache.hbase</groupId>
193       <artifactId>hbase-it</artifactId>
194       <type>test-jar</type>
195     </dependency>
196     <!-- Hamcrest is required by hbase-it (via junit), but as long as we're grabbing the hbase-it test-jar,
197          maven dependency resolution won't pick it up for us. -->
198     <dependency>
199       <groupId>org.hamcrest</groupId>
200       <artifactId>hamcrest-core</artifactId>
201       <!-- Overriding the scope in depMgmt -->
202       <scope>compile</scope>
203     </dependency>
204     <dependency>
205       <groupId>org.apache.hbase</groupId>
206       <artifactId>hbase-server</artifactId>
207     </dependency>
208     <dependency>
209       <groupId>org.apache.hbase</groupId>
210       <artifactId>hbase-mapreduce</artifactId>
211     </dependency>
212     <dependency>
213       <groupId>org.apache.hbase</groupId>
214       <artifactId>hbase-mapreduce</artifactId>
215       <type>test-jar</type>
216     </dependency>
217     <!-- To dump tools in hbase-procedure into cached_classpath.txt. -->
218     <dependency>
219       <groupId>org.apache.hbase</groupId>
220       <artifactId>hbase-procedure</artifactId>
221     </dependency>
222     <dependency>
223       <groupId>org.apache.hbase</groupId>
224       <artifactId>hbase-procedure</artifactId>
225       <type>test-jar</type>
226       <scope>test</scope>
227     </dependency>
228     <dependency>
229       <groupId>org.apache.hbase</groupId>
230       <artifactId>hbase-hadoop-compat</artifactId>
231       <exclusions>
232         <exclusion>
233           <groupId>com.google.guava</groupId>
234           <artifactId>guava</artifactId>
235         </exclusion>
236       </exclusions>
237     </dependency>
238     <dependency>
239       <groupId>org.apache.hbase</groupId>
240       <artifactId>${compat.module}</artifactId>
241     </dependency>
242     <dependency>
243       <groupId>org.apache.hbase</groupId>
244       <artifactId>hbase-shell</artifactId>
245     </dependency>
246     <dependency>
247       <groupId>org.apache.hbase</groupId>
248       <artifactId>hbase-thrift</artifactId>
249     </dependency>
250     <dependency>
251       <groupId>org.apache.hbase</groupId>
252       <artifactId>hbase-rest</artifactId>
253     </dependency>
254     <dependency>
255       <groupId>org.apache.hbase</groupId>
256       <artifactId>hbase-external-blockcache</artifactId>
257     </dependency>
258     <dependency>
259        <groupId>org.apache.hbase</groupId>
260        <artifactId>hbase-testing-util</artifactId>
261     </dependency>
262     <dependency>
263        <groupId>org.apache.hbase</groupId>
264        <artifactId>hbase-metrics-api</artifactId>
265     </dependency>
266     <dependency>
267        <groupId>org.apache.hbase</groupId>
268        <artifactId>hbase-metrics</artifactId>
269     </dependency>
270     <dependency>
271       <groupId>org.apache.hbase</groupId>
272       <artifactId>hbase-protocol</artifactId>
273     </dependency>
274     <dependency>
275       <groupId>org.apache.hbase</groupId>
276       <artifactId>hbase-protocol-shaded</artifactId>
277     </dependency>
278     <dependency>
279        <groupId>org.apache.hbase</groupId>
280        <artifactId>hbase-resource-bundle</artifactId>
281        <optional>true</optional>
282     </dependency>
283     <dependency>
284       <groupId>org.apache.httpcomponents</groupId>
285       <artifactId>httpclient</artifactId>
286     </dependency>
287     <dependency>
288       <groupId>org.apache.httpcomponents</groupId>
289       <artifactId>httpcore</artifactId>
290     </dependency>
291     <dependency>
292       <groupId>org.apache.hbase</groupId>
293       <artifactId>hbase-backup</artifactId>
294     </dependency>
295     <dependency>
296       <groupId>org.apache.hbase</groupId>
297       <artifactId>hbase-replication</artifactId>
298     </dependency>
299     <dependency>
300       <groupId>org.apache.hbase</groupId>
301       <artifactId>hbase-http</artifactId>
302     </dependency>
303     <dependency>
304       <groupId>org.apache.hbase</groupId>
305       <artifactId>hbase-examples</artifactId>
306     </dependency>
307     <dependency>
308       <groupId>org.apache.hbase</groupId>
309       <artifactId>hbase-zookeeper</artifactId>
310     </dependency>
311     <dependency>
312       <groupId>jline</groupId>
313       <artifactId>jline</artifactId>
314     </dependency>
315   </dependencies>
316   <profiles>
317     <profile>
318       <id>rsgroup</id>
319       <activation>
320         <property>
321             <name>!skip-rsgroup</name>
322         </property>
323       </activation>
324       <dependencies>
325         <dependency>
326           <groupId>org.apache.hbase</groupId>
327           <artifactId>hbase-rsgroup</artifactId>
328           <version>${project.version}</version>
329         </dependency>
330       </dependencies>
331     </profile>
332   </profiles>
333 </project>