Amend HBASE-26691 Replacing log4j with reload4j for branch-2.x
[hbase.git] / hbase-assembly / src / main / assembly / hadoop-two-compat.xml
blob88aa9dc6cbbd27faddf6996abb32d9455d179066
1 <?xml version="1.0"?>
2 <assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1 http://maven.apache.org/xsd/assembly-1.1.1.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 -->
23   <!--This 'all' id is not appended to the produced bundle because we do this: http://maven.apache.org/plugins/maven-assembly-plugin/faq.html#required-classifiers -->
24   <id>bin</id>
25   <formats>
26     <format>tar.gz</format>
27   </formats>
28   <componentDescriptors>
29       <componentDescriptor>src/main/assembly/components.xml</componentDescriptor>
30   </componentDescriptors>
31   <moduleSets>
32     <moduleSet>
33       <useAllReactorProjects>true</useAllReactorProjects>
34       <includes>
35         <!-- Keep this list sorted by name -->
36         <include>org.apache.hbase:hbase-annotations</include>
37         <include>org.apache.hbase:hbase-asyncfs</include>
38         <include>org.apache.hbase:hbase-client</include>
39         <include>org.apache.hbase:hbase-common</include>
40         <include>org.apache.hbase:hbase-endpoint</include>
41         <include>org.apache.hbase:hbase-examples</include>
42         <include>org.apache.hbase:hbase-external-blockcache</include>
43         <include>org.apache.hbase:hbase-hadoop-compat</include>
44         <include>org.apache.hbase:hbase-hadoop2-compat</include>
45         <include>org.apache.hbase:hbase-http</include>
46         <include>org.apache.hbase:hbase-it</include>
47         <include>org.apache.hbase:hbase-logging</include>
48         <include>org.apache.hbase:hbase-mapreduce</include>
49         <include>org.apache.hbase:hbase-metrics</include>
50         <include>org.apache.hbase:hbase-metrics-api</include>
51         <include>org.apache.hbase:hbase-procedure</include>
52         <include>org.apache.hbase:hbase-protocol</include>
53         <include>org.apache.hbase:hbase-protocol-shaded</include>
54         <include>org.apache.hbase:hbase-replication</include>
55         <include>org.apache.hbase:hbase-rest</include>
56         <include>org.apache.hbase:hbase-rsgroup</include>
57         <include>org.apache.hbase:hbase-server</include>
58         <include>org.apache.hbase:hbase-shell</include>
59         <include>org.apache.hbase:hbase-testing-util</include>
60         <include>org.apache.hbase:hbase-thrift</include>
61         <include>org.apache.hbase:hbase-zookeeper</include>
62       </includes>
63       <!-- Binaries for the dependencies also go in the hbase-jars directory -->
64       <binaries>
65         <outputDirectory>lib</outputDirectory>
66         <unpack>false</unpack>
67         <dependencySets>
68           <dependencySet>
69             <excludes>
70             <!-- Exclude J2EE libraries that get pulled in when building on JDK11 -->
71               <exclude>com.sun.activation:javax.activation</exclude>
72               <!--
73                 The following artifacts are transitive dependencies of com.sun.xml.ws:jaxws-ri:pom
74                 They are needed to be included in lib/jdk11 to be added to classpath during
75                 Java 11 runtime hence excluding from main lib.
76               -->
77               <exclude>com.sun.istack:istack-commons-runtime</exclude>
78               <exclude>com.sun.xml.bind:jaxb-jxc</exclude>
79               <exclude>com.sun.xml.bind:jaxb-xjc</exclude>
80               <exclude>com.sun.xml.fastinfoset:FastInfoset</exclude>
81               <exclude>com.sun.xml.messaging.saaj:saaj-impl</exclude>
82               <exclude>com.sun.xml.stream.buffer:streambuffer</exclude>
83               <exclude>com.sun.xml.ws:*</exclude>
84               <exclude>jakarta.activation:jakarta.activation-api</exclude>
85               <exclude>jakarta.annotation:jakarta.annotation-api</exclude>
86               <exclude>jakarta.jws:jakarta.jws-api</exclude>
87               <exclude>jakarta.mail:jakarta.mail-api</exclude>
88               <exclude>jakarta.persistence:jakarta.persistence-api</exclude>
89               <exclude>jakarta.xml.bind:jakarta.xml.bind-api</exclude>
90               <exclude>jakarta.xml.soap:jakarta.xml.soap-api</exclude>
91               <exclude>jakarta.xml.ws:jakarta.xml.ws-api</exclude>
92               <exclude>org.eclipse.persistence:*</exclude>
93               <exclude>org.glassfish.external:management-api</exclude>
94               <exclude>org.glassfish.gmbal:gmbal</exclude>
95               <exclude>org.glassfish.ha:ha-api</exclude>
96               <exclude>org.glassfish.jaxb:*</exclude>
97               <exclude>org.glassfish.pfl:*</exclude>
98               <exclude>org.jvnet.mimepull:mimepull</exclude>
99               <exclude>org.jvnet.staxex:stax-ex</exclude>
100               <!-- Exclude libraries that we put in their own dirs under lib/ -->
101               <exclude>com.github.stephenc.findbugs:findbugs-annotations</exclude>
102               <exclude>com.sun.jersey.contribs:*</exclude>
103               <exclude>com.sun.jersey:*</exclude>
104               <exclude>commons-logging:commons-logging</exclude>
105               <exclude>jline:jline</exclude>
106               <exclude>log4j:log4j</exclude>
107               <exclude>ch.qos.reload4j:reload4j</exclude>
108               <exclude>org.apache.hbase:hbase-shaded-client-byo-hadoop</exclude>
109               <exclude>org.apache.hbase:hbase-shaded-client</exclude>
110               <exclude>org.apache.hbase:hbase-shaded-mapreduce</exclude>
111               <exclude>org.apache.htrace:htrace-core4</exclude>
112               <exclude>org.apache.htrace:htrace-core</exclude>
113               <exclude>org.apache.yetus:audience-annotations</exclude>
114               <exclude>org.jruby:jruby-complete</exclude>
115               <exclude>org.slf4j:slf4j-api</exclude>
116               <exclude>org.slf4j:slf4j-log4j12</exclude>
117               <exclude>org.slf4j:slf4j-reload4j</exclude>
118             </excludes>
119           </dependencySet>
120         </dependencySets>
121       </binaries>
122     </moduleSet>
123     <!-- Include shaded clients in their own directory -->
124     <moduleSet>
125       <useAllReactorProjects>true</useAllReactorProjects>
126       <includes>
127         <include>org.apache.hbase:hbase-shaded-client</include>
128         <include>org.apache.hbase:hbase-shaded-mapreduce</include>
129         <include>org.apache.hbase:hbase-shaded-client-byo-hadoop</include>
130       </includes>
131       <binaries>
132         <outputDirectory>lib/shaded-clients</outputDirectory>
133         <unpack>false</unpack>
134         <dependencySets>
135           <dependencySet>
136             <includes>
137         <include>org.apache.hbase:hbase-shaded-client</include>
138         <include>org.apache.hbase:hbase-shaded-mapreduce</include>
139         <include>org.apache.hbase:hbase-shaded-client-byo-hadoop</include>
140             </includes>
141           </dependencySet>
142         </dependencySets>
143       </binaries>
144     </moduleSet>
145   </moduleSets>
146   <!-- Include the generated LICENSE and NOTICE files -->
147   <files>
148     <file>
149       <source>${project.build.directory}/maven-shared-archive-resources/META-INF/LICENSE</source>
150       <outputDirectory>.</outputDirectory>
151       <destName>LICENSE.txt</destName>
152       <lineEnding>unix</lineEnding>
153     </file>
154     <file>
155       <source>${project.build.directory}/NOTICE.aggregate</source>
156       <outputDirectory>.</outputDirectory>
157       <destName>NOTICE.txt</destName>
158       <lineEnding>unix</lineEnding>
159     </file>
160     <file>
161       <source>${basedir}/src/main/resources/META-INF/LEGAL</source>
162       <outputDirectory>.</outputDirectory>
163       <destName>LEGAL</destName>
164       <lineEnding>unix</lineEnding>
165     </file>
166   </files>
168   <dependencySets>
169     <!-- Add jruby-complete to hbase_home/lib/ruby.
170          Update JRUBY_PACKAGED_WITH_HBASE in bin/hbase and hbase.cmd if you would like to update outputDirectory below -->
171     <dependencySet>
172       <outputDirectory>lib/ruby</outputDirectory>
173       <includes>
174         <include>org.jruby:jruby-complete</include>
175       </includes>
176     </dependencySet>
177     <!-- Include third party dependencies the shaded clients expose in the lib directory
178       -->
179     <dependencySet>
180       <outputDirectory>lib/client-facing-thirdparty</outputDirectory>
181       <useTransitiveDependencies>true</useTransitiveDependencies>
182       <!-- Unfortunately, we have to whitelist these because Maven
183            currently doesn't use the dependency-reduced-pom after
184            the shaded module has done its thing. That means if we
185            did this as "transitives of the shaded modules" we'd
186            get a duplication of all the jars we already have in our
187            shaded artifacts. See MNG-5899.
189            Check that things match by listing files and making
190            sure the runtime scoped things are all present in the
191            tarball. e.g.:
193            for module in hbase-shaded-mapreduce hbase-shaded-client; do
194              mvn dependency:list -f hbase-shaded/${module}/dependency-reduced-pom.xml
195            done | \
196            grep -E "runtime|compile" | \
197            grep -v -E "junit|(optional)" | \
198            cut -d ' ' -f 3- | \
199            sort -u
201            TODO we should check this in nightly
203            Alternatively, we could
204            stop waiting for Maven to fix this and build the client
205            tarball in a different build.
206         -->
207       <includes>
208         <include>com.github.stephenc.findbugs:findbugs-annotations</include>
209         <include>commons-logging:commons-logging</include>
210         <include>ch.qos.reload4j:reload4j</include>
211         <include>org.apache.htrace:htrace-core4</include>
212         <include>org.apache.htrace:htrace-core</include>
213         <include>org.apache.yetus:audience-annotations</include>
214         <include>org.slf4j:slf4j-api</include>
215         <include>org.slf4j:slf4j-reload4j</include>
216       </includes>
217     </dependencySet>
218     <dependencySet>
219       <outputDirectory>lib/zkcli</outputDirectory>
220       <includes>
221         <include>jline:jline</include>
222       </includes>
223     </dependencySet>
224     <dependencySet>
225       <outputDirectory>lib/jdk11</outputDirectory>
226       <useTransitiveDependencies>true</useTransitiveDependencies>
227       <includes>
228         <include>com.sun.activation:javax.activation</include>
229         <!--
230           The following artifacts are transitive dependencies of com.sun.xml.ws:jaxws-ri:pom
231           They are needed to be included in lib/jdk11 to be added to classpath during
232           Java 11 runtime
233         -->
234         <include>com.sun.istack:istack-commons-runtime</include>
235         <include>com.sun.xml.bind:jaxb-jxc</include>
236         <include>com.sun.xml.bind:jaxb-xjc</include>
237         <include>com.sun.xml.fastinfoset:FastInfoset</include>
238         <include>com.sun.xml.messaging.saaj:saaj-impl</include>
239         <include>com.sun.xml.stream.buffer:streambuffer</include>
240         <include>com.sun.xml.ws:*</include>
241         <include>jakarta.activation:jakarta.activation-api</include>
242         <include>jakarta.annotation:jakarta.annotation-api</include>
243         <include>jakarta.jws:jakarta.jws-api</include>
244         <include>jakarta.mail:jakarta.mail-api</include>
245         <include>jakarta.persistence:jakarta.persistence-api</include>
246         <include>jakarta.xml.bind:jakarta.xml.bind-api</include>
247         <include>jakarta.xml.soap:jakarta.xml.soap-api</include>
248         <include>jakarta.xml.ws:jakarta.xml.ws-api</include>
249         <include>org.eclipse.persistence:*</include>
250         <include>org.glassfish.external:management-api</include>
251         <include>org.glassfish.gmbal:gmbal</include>
252         <include>org.glassfish.ha:ha-api</include>
253         <include>org.glassfish.jaxb:*</include>
254         <include>org.glassfish.pfl:*</include>
255         <include>org.jvnet.mimepull:mimepull</include>
256         <include>org.jvnet.staxex:stax-ex</include>
257     </includes>
258   </dependencySet>
259 </dependencySets>
261 </assembly>