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