HBASE-21074 JDK7 builds need to be done with TLSv1.2.
[hbase.git] / hbase-shaded / pom.xml
blob29ecc1e4fe97c250a963e09b54a06b420cfff8df
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-shaded</artifactId>
30     <name>Apache HBase - Shaded</name>
31     <description>Module of HBase with most deps shaded.</description>
32     <packaging>pom</packaging>
33     <properties>
34       <!-- Don't make a test-jar -->
35       <maven.test.skip>true</maven.test.skip>
36       <!-- Don't make a source-jar -->
37       <source.skip>true</source.skip>
38       <license.bundles.dependencies>true</license.bundles.dependencies>
39       <shaded.prefix>org.apache.hadoop.hbase.shaded</shaded.prefix>
40     </properties>
41     <modules>
42         <module>hbase-shaded-client-byo-hadoop</module>
43         <module>hbase-shaded-client</module>
44         <module>hbase-shaded-mapreduce</module>
45         <module>hbase-shaded-check-invariants</module>
46         <module>hbase-shaded-with-hadoop-check-invariants</module>
47     </modules>
48     <dependencies>
49       <dependency>
50          <groupId>org.apache.hbase</groupId>
51          <artifactId>hbase-resource-bundle</artifactId>
52          <version>${project.version}</version>
53          <optional>true</optional>
54       </dependency>
55       <!-- log4j has to be non-optional for Hadoop 2 atleast -->
56       <dependency>
57         <groupId>log4j</groupId>
58         <artifactId>log4j</artifactId>
59       </dependency>
60       <!-- put the log implementations to optional -->
61       <dependency>
62         <groupId>org.slf4j</groupId>
63         <artifactId>slf4j-log4j12</artifactId>
64         <optional>true</optional>
65       </dependency>
66     </dependencies>
67     <build>
68         <plugins>
69             <plugin>
70                 <!--Make it so assembly:single does nothing in here-->
71                 <artifactId>maven-assembly-plugin</artifactId>
72                 <configuration>
73                     <skipAssembly>true</skipAssembly>
74                 </configuration>
75             </plugin>
76             <!-- licensing info from our dependencies -->
77             <plugin>
78               <groupId>org.apache.maven.plugins</groupId>
79               <artifactId>maven-remote-resources-plugin</artifactId>
80               <executions>
81                 <execution>
82                   <id>aggregate-licenses</id>
83                   <goals>
84                     <goal>process</goal>
85                   </goals>
86                   <configuration>
87                     <properties>
88                       <copyright-end-year>${build.year}</copyright-end-year>
89                       <debug-print-included-work-info>${license.debug.print.included}</debug-print-included-work-info>
90                       <bundled-dependencies>${license.bundles.dependencies}</bundled-dependencies>
91                       <bundled-jquery>${license.bundles.jquery}</bundled-jquery>
92                       <bundled-logo>${license.bundles.logo}</bundled-logo>
93                       <bundled-bootstrap>${license.bundles.bootstrap}</bundled-bootstrap>
94                     </properties>
95                     <resourceBundles>
96                       <resourceBundle>${project.groupId}:hbase-resource-bundle:${project.version}</resourceBundle>
97                     </resourceBundles>
98                     <supplementalModelArtifacts>
99                       <supplementalModelArtifact>${project.groupId}:hbase-resource-bundle:${project.version}</supplementalModelArtifact>
100                     </supplementalModelArtifacts>
101                     <supplementalModels>
102                       <supplementalModel>supplemental-models.xml</supplementalModel>
103                     </supplementalModels>
104                   </configuration>
105                 </execution>
106               </executions>
107             </plugin>
108         </plugins>
109         <pluginManagement>
110             <plugins>
111                 <plugin>
112                     <!--Make it so assembly:single does nothing in here-->
113                     <artifactId>maven-assembly-plugin</artifactId>
114                     <configuration>
115                         <skipAssembly>true</skipAssembly>
116                     </configuration>
117                 </plugin>
118                 <plugin>
119                     <groupId>org.apache.maven.plugins</groupId>
120                     <artifactId>maven-shade-plugin</artifactId>
121                     <executions>
122                         <execution>
123                             <id>aggregate-into-a-jar-with-relocated-third-parties</id>
124                             <phase>package</phase>
125                             <goals>
126                                 <goal>shade</goal>
127                             </goals>
128                             <configuration>
129                                 <createSourcesJar>false</createSourcesJar>
130                                 <shadedArtifactAttached>false</shadedArtifactAttached>
131                                 <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
132                                 <shadeTestJar>false</shadeTestJar>
133                                 <artifactSet>
134                                     <excludes>
135                                         <!-- default to excluding Hadoop, have module that want
136                                              to include it redefine the exclude list -->
137                                         <exclude>org.apache.hadoop:*</exclude>
138                                         <!-- the rest of this needs to be kept in sync with any
139                                              hadoop-including module -->
140                                         <exclude>org.apache.hbase:hbase-resource-bundle</exclude>
141                                         <exclude>org.slf4j:*</exclude>
142                                         <exclude>com.google.code.findbugs:*</exclude>
143                                         <exclude>com.github.stephenc.findbugs:*</exclude>
144                                         <exclude>org.apache.htrace:*</exclude>
145                                         <exclude>org.apache.yetus:*</exclude>
146                                         <exclude>log4j:*</exclude>
147                                         <exclude>commons-logging:*</exclude>
148                                     </excludes>
149                                 </artifactSet>
150                                 <relocations>
151                                     <!-- top level com not including sun-->
152                                     <relocation>
153                                         <pattern>com.cedarsoftware</pattern>
154                                         <shadedPattern>${shaded.prefix}.com.cedarsoftware</shadedPattern>
155                                     </relocation>
156                                     <relocation>
157                                         <pattern>com.codahale</pattern>
158                                         <shadedPattern>${shaded.prefix}.com.codahale</shadedPattern>
159                                     </relocation>
160                                     <relocation>
161                                         <pattern>com.ctc</pattern>
162                                         <shadedPattern>${shaded.prefix}.com.ctc</shadedPattern>
163                                     </relocation>
164                                     <relocation>
165                                         <pattern>com.dropwizard</pattern>
166                                         <shadedPattern>${shaded.prefix}.com.dropwizard</shadedPattern>
167                                     </relocation>
168                                     <relocation>
169                                         <pattern>com.fasterxml</pattern>
170                                         <shadedPattern>${shaded.prefix}.com.fasterxml</shadedPattern>
171                                     </relocation>
172                                     <relocation>
173                                         <pattern>com.google</pattern>
174                                         <shadedPattern>${shaded.prefix}.com.google</shadedPattern>
175                                     </relocation>
176                                     <relocation>
177                                         <pattern>com.jamesmurty</pattern>
178                                         <shadedPattern>${shaded.prefix}.com.jamesmurty</shadedPattern>
179                                     </relocation>
180                                     <relocation>
181                                         <pattern>com.jcraft</pattern>
182                                         <shadedPattern>${shaded.prefix}.com.jcraft</shadedPattern>
183                                     </relocation>
184                                     <relocation>
185                                         <pattern>com.lmax</pattern>
186                                         <shadedPattern>${shaded.prefix}.com.lmax</shadedPattern>
187                                     </relocation>
188                                     <relocation>
189                                         <pattern>com.microsoft</pattern>
190                                         <shadedPattern>${shaded.prefix}.com.microsoft</shadedPattern>
191                                     </relocation>
192                                     <relocation>
193                                         <pattern>com.nimbusds</pattern>
194                                         <shadedPattern>${shaded.prefix}.com.nimbusds</shadedPattern>
195                                     </relocation>
196                                     <relocation>
197                                         <pattern>com.squareup</pattern>
198                                         <shadedPattern>${shaded.prefix}.com.squareup</shadedPattern>
199                                     </relocation>
200                                     <relocation>
201                                         <pattern>com.thoughtworks</pattern>
202                                         <shadedPattern>${shaded.prefix}.com.thoughtworks</shadedPattern>
203                                     </relocation>
204                                     <relocation>
205                                         <pattern>com.zaxxer</pattern>
206                                         <shadedPattern>${shaded.prefix}.com.zaxxer</shadedPattern>
207                                     </relocation>
210                                     <!-- netty family -->
211                                     <relocation>
212                                         <pattern>org.jboss.netty</pattern>
213                                         <shadedPattern>${shaded.prefix}.org.jboss.netty</shadedPattern>
214                                     </relocation>
215                                     <relocation>
216                                         <pattern>io.netty</pattern>
217                                         <shadedPattern>${shaded.prefix}.io.netty</shadedPattern>
218                                     </relocation>
220                                     <!-- top level okio -->
221                                     <relocation>
222                                         <pattern>okio</pattern>
223                                         <shadedPattern>${shaded.prefix}.okio</shadedPattern>
224                                     </relocation>
226                                     <!-- top level org -->
227                                     <relocation>
228                                         <pattern>org.codehaus</pattern>
229                                         <shadedPattern>${shaded.prefix}.org.codehaus</shadedPattern>
230                                     </relocation>
231                                     <relocation>
232                                         <pattern>org.eclipse</pattern>
233                                         <shadedPattern>${shaded.prefix}.org.eclipse</shadedPattern>
234                                     </relocation>
235                                     <relocation>
236                                         <pattern>org.ehcache</pattern>
237                                         <shadedPattern>${shaded.prefix}.org.ehcache</shadedPattern>
238                                     </relocation>
239                                     <relocation>
240                                         <pattern>org.jcodings</pattern>
241                                         <shadedPattern>${shaded.prefix}.org.jcodings</shadedPattern>
242                                     </relocation>
243                                     <relocation>
244                                         <pattern>org.joni</pattern>
245                                         <shadedPattern>${shaded.prefix}.org.joni</shadedPattern>
246                                     </relocation>
247                                     <relocation>
248                                         <pattern>org.mortbay</pattern>
249                                         <shadedPattern>${shaded.prefix}.org.mortbay</shadedPattern>
250                                     </relocation>
251                                     <relocation>
252                                         <pattern>org.nustaq</pattern>
253                                         <shadedPattern>${shaded.prefix}.org.nustaq</shadedPattern>
254                                     </relocation>
255                                     <relocation>
256                                         <pattern>org.terracotta</pattern>
257                                         <shadedPattern>${shaded.prefix}.org.terracotta</shadedPattern>
258                                     </relocation>
259                                     <relocation>
260                                         <pattern>org.tukaani</pattern>
261                                         <shadedPattern>${shaded.prefix}.org.tukaani</shadedPattern>
262                                     </relocation>
263                                     <relocation>
264                                         <pattern>org.xerial</pattern>
265                                         <shadedPattern>${shaded.prefix}.org.xerial</shadedPattern>
266                                     </relocation>
267                                     <relocation>
268                                         <pattern>org.znerd</pattern>
269                                         <shadedPattern>${shaded.prefix}.org.znerd</shadedPattern>
270                                     </relocation>
271                                     <relocation>
272                                         <pattern>org.aopalliance</pattern>
273                                         <shadedPattern>${shaded.prefix}.org.aopalliance</shadedPattern>
274                                     </relocation>
275                                     <relocation>
276                                         <pattern>org.fusesource</pattern>
277                                         <shadedPattern>${shaded.prefix}.org.fusesource</shadedPattern>
278                                     </relocation>
279                                     <relocation>
280                                         <pattern>org.iq80</pattern>
281                                         <shadedPattern>${shaded.prefix}.org.iq80</shadedPattern>
282                                     </relocation>
283                                     <relocation>
284                                         <pattern>org.jamon</pattern>
285                                         <shadedPattern>${shaded.prefix}.org.jamon</shadedPattern>
286                                     </relocation>
287                                     <relocation>
288                                         <pattern>org.jets3t</pattern>
289                                         <shadedPattern>${shaded.prefix}.org.jets3t</shadedPattern>
290                                     </relocation>
291                                     <!-- poorly named add-on package from jets3t dependency. TODO can we just exclude these? -->
292                                     <relocation>
293                                         <pattern>contribs.mx</pattern>
294                                         <shadedPattern>${shaded.prefix}.contribs.mx</shadedPattern>
295                                     </relocation>
296                                     <relocation>
297                                         <pattern>org.objectweb</pattern>
298                                         <shadedPattern>${shaded.prefix}.org.objectweb</shadedPattern>
299                                     </relocation>
302                                     <!-- org.apache relocations not in org.apache.hadoop or org.apache.commons -->
303                                     <relocation>
304                                         <pattern>org.apache.avro</pattern>
305                                         <shadedPattern>${shaded.prefix}.org.apache.avro</shadedPattern>
306                                     </relocation>
307                                     <relocation>
308                                         <pattern>org.apache.curator</pattern>
309                                         <shadedPattern>${shaded.prefix}.org.apache.curator</shadedPattern>
310                                     </relocation>
311                                     <relocation>
312                                         <pattern>org.apache.directory</pattern>
313                                         <shadedPattern>${shaded.prefix}.org.apache.directory</shadedPattern>
314                                     </relocation>
315                                     <relocation>
316                                         <pattern>org.apache.http</pattern>
317                                         <shadedPattern>${shaded.prefix}.org.apache.http</shadedPattern>
318                                     </relocation>
319                                     <relocation>
320                                         <pattern>org.apache.jasper</pattern>
321                                         <shadedPattern>${shaded.prefix}.org.apache.jasper</shadedPattern>
322                                     </relocation>
323                                     <relocation>
324                                         <pattern>org.apache.jute</pattern>
325                                         <shadedPattern>${shaded.prefix}.org.apache.jute</shadedPattern>
326                                     </relocation>
327                                     <relocation>
328                                         <pattern>org.apache.kerby</pattern>
329                                         <shadedPattern>${shaded.prefix}.org.apache.kerby</shadedPattern>
330                                     </relocation>
331                                     <relocation>
332                                         <pattern>org.apache.taglibs</pattern>
333                                         <shadedPattern>${shaded.prefix}.org.apache.taglibs</shadedPattern>
334                                     </relocation>
335                                     <relocation>
336                                         <pattern>org.apache.zookeeper</pattern>
337                                         <shadedPattern>${shaded.prefix}.org.apache.zookeeper</shadedPattern>
338                                     </relocation>
340                                     <!-- org.apache.commons not including logging -->
341                                     <relocation>
342                                         <pattern>org.apache.commons.beanutils</pattern>
343                                         <shadedPattern>${shaded.prefix}.org.apache.commons.beanutils</shadedPattern>
344                                     </relocation>
345                                     <relocation>
346                                         <pattern>org.apache.commons.cli</pattern>
347                                         <shadedPattern>${shaded.prefix}.org.apache.commons.cli</shadedPattern>
348                                     </relocation>
349                                     <relocation>
350                                         <pattern>org.apache.commons.collections</pattern>
351                                         <shadedPattern>${shaded.prefix}.org.apache.commons.collections</shadedPattern>
352                                     </relocation>
353                                     <relocation>
354                                         <pattern>org.apache.commons.configuration</pattern>
355                                         <shadedPattern>${shaded.prefix}.org.apache.commons.configuration</shadedPattern>
356                                     </relocation>
357                                     <relocation>
358                                         <pattern>org.apache.commons.crypto</pattern>
359                                         <shadedPattern>${shaded.prefix}.org.apache.commons.crypto</shadedPattern>
360                                     </relocation>
361                                     <relocation>
362                                         <pattern>org.apache.commons.csv</pattern>
363                                         <shadedPattern>${shaded.prefix}.org.apache.commons.csv</shadedPattern>
364                                     </relocation>
365                                     <relocation>
366                                         <pattern>org.apache.commons.daemon</pattern>
367                                         <shadedPattern>${shaded.prefix}.org.apache.commons.daemon</shadedPattern>
368                                     </relocation>
369                                     <relocation>
370                                         <pattern>org.apache.commons.io</pattern>
371                                         <shadedPattern>${shaded.prefix}.org.apache.commons.io</shadedPattern>
372                                     </relocation>
373                                     <relocation>
374                                         <pattern>org.apache.commons.math</pattern>
375                                         <shadedPattern>${shaded.prefix}.org.apache.commons.math</shadedPattern>
376                                     </relocation>
377                                     <relocation>
378                                         <pattern>org.apache.commons.math3</pattern>
379                                         <shadedPattern>${shaded.prefix}.org.apache.commons.math3</shadedPattern>
380                                     </relocation>
381                                     <relocation>
382                                         <pattern>org.apache.commons.net</pattern>
383                                         <shadedPattern>${shaded.prefix}.org.apache.commons.net</shadedPattern>
384                                     </relocation>
385                                     <relocation>
386                                         <pattern>org.apache.commons.lang</pattern>
387                                         <shadedPattern>${shaded.prefix}.org.apache.commons.lang</shadedPattern>
388                                     </relocation>
389                                     <relocation>
390                                         <pattern>org.apache.commons.lang3</pattern>
391                                         <shadedPattern>${shaded.prefix}.org.apache.commons.lang3</shadedPattern>
392                                     </relocation>
393                                     <relocation>
394                                         <pattern>org.apache.commons.el</pattern>
395                                         <shadedPattern>${shaded.prefix}.org.apache.commons.el</shadedPattern>
396                                     </relocation>
397                                     <relocation>
398                                         <pattern>org.apache.commons.httpclient</pattern>
399                                         <shadedPattern>${shaded.prefix}.org.apache.commons.httpclient</shadedPattern>
400                                     </relocation>
401                                     <relocation>
402                                         <pattern>org.apache.commons.compress</pattern>
403                                         <shadedPattern>${shaded.prefix}.org.apache.commons.compress</shadedPattern>
404                                     </relocation>
405                                     <relocation>
406                                         <pattern>org.apache.commons.digester</pattern>
407                                         <shadedPattern>${shaded.prefix}.org.apache.commons.digester</shadedPattern>
408                                     </relocation>
409                                     <relocation>
410                                         <pattern>org.apache.commons.codec</pattern>
411                                         <shadedPattern>${shaded.prefix}.org.apache.commons.codec</shadedPattern>
412                                     </relocation>
414                                     <!-- top level net-->
415                                     <relocation>
416                                         <pattern>net</pattern>
417                                         <shadedPattern>${shaded.prefix}.net</shadedPattern>
418                                     </relocation>
420                                     <!-- junit -->
421                                     <relocation>
422                                         <pattern>junit</pattern>
423                                         <shadedPattern>${shaded.prefix}.junit</shadedPattern>
424                                     </relocation>
425                                     <relocation>
426                                         <pattern>org.junit</pattern>
427                                         <shadedPattern>${shaded.prefix}.org.junit</shadedPattern>
428                                     </relocation>
429                                 </relocations>
430                                 <transformers>
431                                   <!-- Need to filter out some extraneous license files.
432                                        Don't use the ApacheLicenseRT because it just removes all
433                                        META-INF/LICENSE(.txt)? files, including ours. -->
434                                   <transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
435                                     <resources>
436                                       <resource>LICENSE.txt</resource>
437                                       <resource>ASL2.0</resource>
438                                       <resource>LICENSE-junit.txt</resource>
439                                       <!-- also this unneeded doc -->
440                                       <resource>overview.html</resource>
441                                     </resources>
442                                   </transformer>
443                                   <!-- Where notices exist, just concat them -->
444                                   <transformer implementation="org.apache.maven.plugins.shade.resource.ApacheNoticeResourceTransformer">
445                                     <addHeader>false</addHeader>
446                                     <projectName>${project.name}</projectName>
447                                   </transformer>
448                                 </transformers>
449                                 <filters>
450                                   <filter>
451                                     <!-- this is a signed osgi bundle -->
452                                     <artifact>org.eclipse.jetty.orbit:javax.servlet.jsp.jstl</artifact>
453                                     <excludes>
454                                       <exclude>META-INF/ECLIPSEF.SF</exclude>
455                                       <exclude>META-INF/ECLIPSEF.RSA</exclude>
456                                     </excludes>
457                                   </filter>
458                                   <filter>
459                                     <!-- Duplication of classes that ship in commons-collections 2.x and 3.x
460                                          If we stop bundling a relevant commons-collections artifact we'll
461                                          need to revisit. See: https://s.apache.org/e09o
462                                     -->
463                                     <artifact>commons-beanutils:commons-beanutils-core</artifact>
464                                     <excludes>
465                                       <exclude>org/apache/commons/collections/*.class</exclude>
466                                     </excludes>
467                                   </filter>
468                                   <filter>
469                                     <!-- server side webapps that we don't need -->
470                                     <artifact>org.apache.hbase:hbase-server</artifact>
471                                     <excludes>
472                                       <exclude>hbase-webapps/*</exclude>
473                                       <exclude>hbase-webapps/**/*</exclude>
474                                       <exclude>**/*_jsp.class</exclude>
475                                     </excludes>
476                                   </filter>
477                                   <filter>
478                                     <!-- server side webapps that we don't need -->
479                                     <artifact>org.apache.hadoop:hadoop-yarn-common</artifact>
480                                     <excludes>
481                                       <exclude>webapps/*</exclude>
482                                       <exclude>webapps/**/*</exclude>
483                                     </excludes>
484                                   </filter>
485                                   <filter>
486                                     <artifact>*:*</artifact>
487                                     <excludes>
488                                       <!-- proto source files aren't needed -->
489                                       <exclude>*.proto</exclude>
490                                       <exclude>**/*.proto</exclude>
491                                       <!-- We already concat NOTICE, safe to drop individual ones -->
492                                       <exclude>LICENSE</exclude>
493                                       <exclude>NOTICE</exclude>
494                                     </excludes>
495                                   </filter>
496                                   <filter>
497                                     <!-- skip french localization -->
498                                     <artifact>org.apache.commons:commons-math3</artifact>
499                                     <excludes>
500                                       <exclude>assets/org/apache/commons/math3/**/*</exclude>
501                                     </excludes>
502                                   </filter>
503                                   <filter>
504                                     <!-- appears to be the result of a conflict in hadoop artifacts -->
505                                     <artifact>org.apache.hadoop:*</artifact>
506                                     <excludes>
507                                       <exclude>mapred-default.xml.orig</exclude>
508                                     </excludes>
509                                   </filter>
510                                   <!-- unnecessary files that mess up our invariants check -->
511                                   <filter>
512                                     <artifact>org.eclipse.jetty:*</artifact>
513                                     <excludes>
514                                       <exclude>about.html</exclude>
515                                       <exclude>jetty-dir.css</exclude>
516                                     </excludes>
517                                   </filter>
518                                   <filter>
519                                     <artifact>org.apache.kerby:*</artifact>
520                                     <excludes>
521                                       <exclude>krb5-template.conf</exclude>
522                                       <exclude>krb5_udp-template.conf</exclude>
523                                       <exclude>ccache.txt</exclude>
524                                       <exclude>keytab.txt</exclude>
525                                     </excludes>
526                                   </filter>
527                                 </filters>
528                             </configuration>
529                         </execution>
530                     </executions>
531                 </plugin>
532             </plugins>
533         </pluginManagement>
534     </build>
535 </project>