You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by bu...@apache.org on 2019/06/13 19:51:56 UTC

[hbase] branch master updated: HBASE-22264 Separate out jars related to JDK 11 into a folder in /lib

This is an automated email from the ASF dual-hosted git repository.

busbey pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/master by this push:
     new 0fead7f  HBASE-22264 Separate out jars related to JDK 11 into a folder in /lib
0fead7f is described below

commit 0fead7ff1cc882ecc7aee030917b102c87573073
Author: Sakthi <sa...@gmail.com>
AuthorDate: Wed Jun 12 14:42:34 2019 -0700

    HBASE-22264 Separate out jars related to JDK 11 into a folder in /lib
    
    Signed-off-by: Sean Busbey <bu...@apache.org>
---
 bin/hbase                                          |  63 ++++
 hbase-assembly/pom.xml                             |   5 +
 .../src/main/assembly/hadoop-two-compat.xml        |  65 +++-
 .../src/main/resources/META-INF/LICENSE.vm         | 256 ++++++++++++++-
 .../src/main/resources/supplemental-models.xml     | 352 +++++++++++++++++++++
 pom.xml                                            |  18 +-
 6 files changed, 745 insertions(+), 14 deletions(-)

diff --git a/bin/hbase b/bin/hbase
index 13577ad..44bf5cd 100755
--- a/bin/hbase
+++ b/bin/hbase
@@ -442,6 +442,14 @@ add_maven_deps_to_classpath() {
   CLASSPATH=${CLASSPATH}:$(cat "${f}")
 }
 
+add_jdk11_deps_to_classpath() {
+  for f in ${HBASE_HOME}/lib/jdk11/*; do
+    if [ -f "${f}" ]; then
+      CLASSPATH="${CLASSPATH}:${f}"
+    fi
+  done
+}
+
 #Add the development env class path stuff
 if $in_dev_env; then
   add_maven_deps_to_classpath "cached_classpath.txt"
@@ -652,6 +660,61 @@ else
   CLASS=$COMMAND
 fi
 
+# Add lib/jdk11 jars to the classpath
+
+if [ "${DEBUG}" = "true" ]; then
+  echo "Deciding on addition of lib/jdk11 jars to the classpath"
+fi
+
+addJDK11Jars=false
+
+if [ "${HBASE_JDK11}" != "" ]; then
+  # Use the passed Environment Variable HBASE_JDK11
+  if [ "${HBASE_JDK11}" = "include" ]; then
+    addJDK11Jars=true
+    if [ "${DEBUG}" = "true" ]; then
+      echo "HBASE_JDK11 set as 'include' hence adding JDK11 jars to classpath."
+    fi
+  elif [ "${HBASE_JDK11}" = "exclude" ]; then
+    if [ "${DEBUG}" = "true" ]; then
+      echo "HBASE_JDK11 set as 'exclude' hence skipping JDK11 jars to classpath."
+    fi
+  else
+    echo "[HBASE_JDK11] contains unsupported value(s) - ${HBASE_JDK11}. Ignoring passed value."
+    echo "[HBASE_JDK11] supported values: [include, exclude]."
+  fi
+else
+  # Use JDK detection
+  JAVA=$JAVA_HOME/bin/java
+
+  version=$($JAVA -version 2>&1 | awk -F '"' '/version/ {print $2}')
+  # '-' check is for cases such as "13-ea"
+  version_number=$(echo "$version" | cut -d'.' -f1 | cut -d'-' -f1)
+
+  if [ "${DEBUG}" = "true" ]; then
+    echo "HBASE_JDK11 not set hence using JDK detection."
+    echo "Extracted JDK version - ${version}, version_number - ${version_number}"
+  fi
+
+  if [[ "$version_number" -ge "11" ]]; then
+    if [ "${DEBUG}" = "true" ]; then
+      echo "Version ${version} is greater-than/equal to 11 hence adding JDK11 jars to classpath."
+    fi
+    addJDK11Jars=true
+  elif [ "${DEBUG}" = "true" ]; then
+      echo "Version ${version} is lesser than 11 hence skipping JDK11 jars from classpath."
+  fi
+fi
+
+if [ "${addJDK11Jars}" = "true" ]; then
+  add_jdk11_deps_to_classpath
+  if [ "${DEBUG}" = "true" ]; then
+      echo "Added JDK11 jars to classpath."
+    fi
+elif [ "${DEBUG}" = "true" ]; then
+  echo "JDK11 jars skipped from classpath."
+fi
+
 # Have JVM dump heap if we run out of memory.  Files will be 'launch directory'
 # and are named like the following: java_pid21612.hprof. Apparently it doesn't
 # 'cost' to have this flag enabled. Its a 1.6 flag only. See:
diff --git a/hbase-assembly/pom.xml b/hbase-assembly/pom.xml
index f9602e2..61ea15f 100644
--- a/hbase-assembly/pom.xml
+++ b/hbase-assembly/pom.xml
@@ -313,6 +313,11 @@
       <groupId>jline</groupId>
       <artifactId>jline</artifactId>
     </dependency>
+    <dependency>
+      <groupId>com.sun.xml.ws</groupId>
+      <artifactId>jaxws-ri</artifactId>
+      <type>pom</type>
+    </dependency>
   </dependencies>
   <profiles>
     <profile>
diff --git a/hbase-assembly/src/main/assembly/hadoop-two-compat.xml b/hbase-assembly/src/main/assembly/hadoop-two-compat.xml
index 05e2fc9..794cab5 100644
--- a/hbase-assembly/src/main/assembly/hadoop-two-compat.xml
+++ b/hbase-assembly/src/main/assembly/hadoop-two-compat.xml
@@ -67,7 +67,34 @@
           <dependencySet>
             <excludes>
             <!-- Exclude J2EE libraries that get pulled in when building on JDK11 -->
-              <exclude>com.sun.xml.ws:jaxws-ri</exclude>
+              <exclude>com.sun.activation:javax.activation</exclude>
+              <!-- The following artifacts are transitive dependencies of com.sun.xml.ws:jaxws-ri:pom
+                   They are needed to be included in lib/jdk11 to be added to classpath during
+                   Java 11 runtime hence excluding from main lib.
+              -->
+              <exclude>com.sun.xml.ws:*</exclude>
+              <exclude>org.glassfish.jaxb:*</exclude>
+              <exclude>com.sun.istack:istack-commons-runtime</exclude>
+              <exclude>org.glassfish.gmbal:gmbal-api-only</exclude>
+              <exclude>org.glassfish.external:management-api</exclude>
+              <exclude>org.jvnet.staxex:stax-ex</exclude>
+              <exclude>com.sun.xml.stream.buffer:streambuffer</exclude>
+              <exclude>org.jvnet.mimepull:mimepull</exclude>
+              <exclude>com.sun.xml.fastinfoset:FastInfoset</exclude>
+              <exclude>org.glassfish.ha:ha-api</exclude>
+              <exclude>com.sun.xml.messaging.saaj:saaj-impl</exclude>
+              <exclude>com.fasterxml.woodstox:woodstox-core</exclude>
+              <exclude>org.codehaus.woodstox:stax2-api</exclude>
+              <exclude>com.sun.xml.bind:jaxb-xjc</exclude>
+              <exclude>com.sun.xml.bind:jaxb-jxc</exclude>
+              <exclude>javax.mail:mail</exclude>
+              <exclude>javax.persistence:javax.persistence-api</exclude>
+              <exclude>org.eclipse.persistence:*</exclude>
+              <exclude>org.glassfish:javax.json</exclude>
+              <exclude>commonj.sdo:commonj.sdo</exclude>
+              <exclude>javax.xml.ws:jaxws-api</exclude>
+              <exclude>javax.xml.soap:javax.xml.soap-api</exclude>
+              <exclude>javax.jws:javax.jws-api</exclude>
             <!-- Exclude libraries that we put in their own dirs under lib/ -->
               <exclude>org.jruby:jruby-complete</exclude>
               <exclude>com.sun.jersey:*</exclude>
@@ -190,6 +217,40 @@
         <include>jline:jline</include>
       </includes>
     </dependencySet>
-  </dependencySets>
+   <dependencySet>
+     <outputDirectory>lib/jdk11</outputDirectory>
+     <useTransitiveDependencies>true</useTransitiveDependencies>
+     <includes>
+         <include>com.sun.activation:javax.activation</include>
+       <!-- The following artifacts are transitive dependencies of com.sun.xml.ws:jaxws-ri:pom
+            They are needed to be included in lib/jdk11 to be added to classpath during
+            Java 11 runtime
+       -->
+       <include>com.sun.xml.ws:*</include>
+       <include>org.glassfish.jaxb:*</include>
+       <include>com.sun.istack:istack-commons-runtime</include>
+       <include>org.glassfish.gmbal:gmbal-api-only</include>
+       <include>org.glassfish.external:management-api</include>
+       <include>org.jvnet.staxex:stax-ex</include>
+       <include>com.sun.xml.stream.buffer:streambuffer</include>
+       <include>org.jvnet.mimepull:mimepull</include>
+       <include>com.sun.xml.fastinfoset:FastInfoset</include>
+       <include>org.glassfish.ha:ha-api</include>
+       <include>com.sun.xml.messaging.saaj:saaj-impl</include>
+       <include>com.fasterxml.woodstox:woodstox-core</include>
+       <include>org.codehaus.woodstox:stax2-api</include>
+       <include>com.sun.xml.bind:jaxb-xjc</include>
+       <include>com.sun.xml.bind:jaxb-jxc</include>
+       <include>javax.mail:mail</include>
+       <include>javax.persistence:javax.persistence-api</include>
+       <include>org.eclipse.persistence:*</include>
+       <include>org.glassfish:javax.json</include>
+       <include>commonj.sdo:commonj.sdo</include>
+       <include>javax.xml.ws:jaxws-api</include>
+       <include>javax.xml.soap:javax.xml.soap-api</include>
+       <include>javax.jws:javax.jws-api</include>
+    </includes>
+  </dependencySet>
+</dependencySets>
 
 </assembly>
diff --git a/hbase-resource-bundle/src/main/resources/META-INF/LICENSE.vm b/hbase-resource-bundle/src/main/resources/META-INF/LICENSE.vm
index 0b1ad13..a7101fb 100644
--- a/hbase-resource-bundle/src/main/resources/META-INF/LICENSE.vm
+++ b/hbase-resource-bundle/src/main/resources/META-INF/LICENSE.vm
@@ -1325,8 +1325,9 @@ You can redistribute it and/or modify it under either the terms of the
 #set($bsd3 = [])
 ## gather up CPL 1.0 works
 #set($cpl = [])
-## gather up EPL 1.0 works
-#set($epl = [])
+## gather up EPL licensed works
+#set($epl_1_0 = [])
+#set($epl_2_0 = [])
 ## track commons-math
 #set($commons-math = false)
 ## track if we need jruby additionals.
@@ -1441,8 +1442,12 @@ ${dep.scm.url}
 #if(${dep.licenses[0].name.equals("Common Public License Version 1.0")})
 #set($aggregated = $cpl.add($dep))
 #end
-#if(${dep.licenses[0].name.equals("Eclipse Public License 1.0")})
-#set($aggregated = $epl.add($dep))
+#if( ${dep.licenses[0].name.contains("Eclipse Public License")} )
+#if( ${dep.licenses[0].name.contains("1.0")} )
+#set($aggregated = $epl_1_0.add($dep))
+#elseif( ${dep.licenses[0].name.contains("2.0")} )
+#set($aggregated = $epl_2_0.add($dep))
+#end
 #end
 #if(!${aggregated})
 --
@@ -2360,12 +2365,12 @@ Common Public License - v 1.0
   more than one year after the cause of action arose. Each party waives
  its rights to a jury trial in any resulting litigation.
 #end
-#if(!(${epl.isEmpty()}))
+#if(!(${epl_1_0.isEmpty()}))
 ====
 ## print all the EPL 1.0 licensed works
 This product includes the following works licensed under the Eclipse Public License 1.0:
 
-#foreach($dep in $epl)
+#foreach($dep in $epl_1_0)
 #if( $dep.licenses[0].comments && !$dep.licenses[0].comments.empty )
   * ${dep.name}, ${dep.licenses[0].comments}
 #else
@@ -2615,6 +2620,245 @@ This product includes the following works licensed under the Eclipse Public Lice
   Agreement more than one year after the cause of action arose. Each
   party waives its rights to a jury trial in any resulting litigation.
 #end
+#if(!(${epl_2_0.isEmpty()}))
+====
+## print all the EPL 2.0 licensed works
+This product includes the following works licensed under the Eclipse Public License 2.0:
+
+#foreach($dep in $epl_2_0)
+#if( $dep.licenses[0].comments && !$dep.licenses[0].comments.empty )
+  * ${dep.name}, ${dep.licenses[0].comments}
+#else
+  * ${dep.name}
+#end
+#end
+
+  Eclipse Public License - v 2.0
+
+  THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (“AGREEMENT”).
+  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
+  AGREEMENT.
+
+  1. DEFINITIONS
+
+  “Contribution” means:
+
+    a) in the case of the initial Contributor, the initial content Distributed under this Agreement,
+       and
+    b) in the case of each subsequent Contributor:
+        i) changes to the Program, and
+        ii) additions to the Program;
+    where such changes and/or additions to the Program originate from and are Distributed by that
+    particular Contributor. A Contribution “originates” from a Contributor if it was added to the
+    Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions
+    do not include changes or additions to the Program that are not Modified Works.
+
+  “Contributor” means any person or entity that Distributes the Program.
+
+  “Licensed Patents” mean patent claims licensable by a Contributor which are necessarily infringed
+  by the use or sale of its Contribution alone or when combined with the Program.
+
+  “Program” means the Contributions Distributed in accordance with this Agreement.
+
+  “Recipient” means anyone who receives the Program under this Agreement or any Secondary License
+  (as applicable), including Contributors.
+
+  “Derivative Works” shall mean any work, whether in Source Code or other form, that is based on
+  (or derived from) the Program and for which the editorial revisions, annotations, elaborations, or
+  other modifications represent, as a whole, an original work of authorship.
+
+  “Modified Works” shall mean any work in Source Code or other form that results from an addition
+  to, deletion from, or modification of the contents of the Program, including, for purposes of
+  clarity any new file in Source Code form that contains any contents of the Program. Modified Works
+  shall not include works that contain only declarations, interfaces, types, classes, structures, or
+  files of the Program solely in each case in order to link to, bind by name, or subclass the
+  Program or Modified Works thereof.
+
+  “Distribute” means the acts of a) distributing or b) making available in any manner that enables
+  the transfer of a copy.
+
+  “Source Code” means the form of a Program preferred for making modifications, including but not
+  limited to software source code, documentation source, and configuration files.
+
+  “Secondary License” means either the GNU General Public License, Version 2.0, or any later
+  versions of that license, including any exceptions or additional permissions as identified by the
+  initial Contributor.
+
+  2. GRANT OF RIGHTS
+
+      a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a
+      non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare Derivative
+      Works of, publicly display, publicly perform, Distribute and sublicense the Contribution of
+      such Contributor, if any, and such Derivative Works.
+
+      b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a
+      non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use,
+      sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if
+      any, in Source Code or other form. This patent license shall apply to the combination of the
+      Contribution and the Program if, at the time the Contribution is added by the Contributor,
+      such addition of the Contribution causes such combination to be covered by the Licensed
+      Patents. The patent license shall not apply to any other combinations which include the
+      Contribution. No hardware per se is licensed hereunder.
+
+      c) Recipient understands that although each Contributor grants the licenses to its
+      Contributions set forth herein, no assurances are provided by any Contributor that the Program
+      does not infringe the patent or other intellectual property rights of any other entity. Each
+      Contributor disclaims any liability to Recipient for claims brought by any other entity based
+      on infringement of intellectual property rights or otherwise. As a condition to exercising the
+      rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to
+      secure any other intellectual property rights needed, if any. For example, if a third party
+      patent license is required to allow Recipient to Distribute the Program, it is Recipient's
+      responsibility to acquire that license before distributing the Program.
+
+      d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its
+      Contribution, if any, to grant the copyright license set forth in this Agreement.
+
+      e) Notwithstanding the terms of any Secondary License, no Contributor makes additional grants
+      to any Recipient (other than those set forth in this Agreement) as a result of such
+      Recipient's receipt of the Program under the terms of a Secondary License (if permitted under
+      the terms of Section 3).
+
+  3. REQUIREMENTS
+
+  3.1 If a Contributor Distributes the Program in any form, then:
+
+      a) the Program must also be made available as Source Code, in accordance with section 3.2, and
+      the Contributor must accompany the Program with a statement that the Source Code for the
+      Program is available under this Agreement, and informs Recipients how to obtain it in a
+      reasonable manner on or through a medium customarily used for software exchange; and
+
+      b) the Contributor may Distribute the Program under a license different than this Agreement,
+      provided that such license:
+          i) effectively disclaims on behalf of all other Contributors all warranties and
+          conditions, express and implied, including warranties or conditions of title and
+          non-infringement, and implied warranties or conditions of merchantability and fitness for
+          a particular purpose;
+
+          ii) effectively excludes on behalf of all other Contributors all liability for damages,
+          including direct, indirect, special, incidental and consequential damages, such as lost
+          profits;
+
+          iii) does not attempt to limit or alter the recipients' rights in the Source Code under
+          section 3.2; and
+
+          iv) requires any subsequent distribution of the Program by any party to be under a license
+          that satisfies the requirements of this section 3.
+
+  3.2 When the Program is Distributed as Source Code:
+
+      a) it must be made available under this Agreement, or if the Program (i) is combined with
+      other material in a separate file or files made available under a Secondary License, and (ii)
+      the initial Contributor attached to the Source Code the notice described in Exhibit A of this
+      Agreement, then the Program may be made available under the terms of such Secondary Licenses,
+      and
+
+      b) a copy of this Agreement must be included with each copy of the Program.
+
+  3.3 Contributors may not remove or alter any copyright, patent, trademark, attribution notices,
+  disclaimers of warranty, or limitations of liability (‘notices’) contained within the Program from
+  any copy of the Program which they Distribute, provided that Contributors may add their own
+  appropriate notices.
+
+  4. COMMERCIAL DISTRIBUTION
+
+  Commercial distributors of software may accept certain responsibilities with respect to end users,
+  business partners and the like. While this license is intended to facilitate the commercial use of
+  the Program, the Contributor who includes the Program in a commercial product offering should do
+  so in a manner which does not create potential liability for other Contributors. Therefore, if a
+  Contributor includes the Program in a commercial product offering, such Contributor
+  (“Commercial Contributor”) hereby agrees to defend and indemnify every other Contributor
+  (“Indemnified Contributor”) against any losses, damages and costs (collectively “Losses”) arising
+  from claims, lawsuits and other legal actions brought by a third party against the Indemnified
+  Contributor to the extent caused by the acts or omissions of such Commercial Contributor in
+  connection with its distribution of the Program in a commercial product offering. The obligations
+  in this section do not apply to any claims or Losses relating to any actual or alleged
+  intellectual property infringement. In order to qualify, an Indemnified Contributor must:
+  a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the
+  Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense
+  and any related settlement negotiations. The Indemnified Contributor may participate in any such
+  claim at its own expense.
+
+  For example, a Contributor might include the Program in a commercial product offering, Product X.
+  That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes
+  performance claims, or offers warranties related to Product X, those performance claims and
+  warranties are such Commercial Contributor's responsibility alone. Under this section, the
+  Commercial Contributor would have to defend claims against the other Contributors related to
+  those performance claims and warranties, and if a court requires any other Contributor to pay any
+  damages as a result, the Commercial Contributor must pay those damages.
+
+  5. NO WARRANTY
+
+  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW,
+  THE PROGRAM IS PROVIDED ON AN “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
+  EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE,
+  NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
+  responsible for determining the appropriateness of using and distributing the Program and assumes
+  all risks associated with its exercise of rights under this Agreement, including but not limited
+  to the risks and costs of program errors, compliance with applicable laws, damage to or loss of
+  data, programs or equipment, and unavailability or interruption of operations.
+
+  6. DISCLAIMER OF LIABILITY
+
+  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW,
+  NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
+  PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF
+  THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF
+  SUCH DAMAGES.
+
+  7. GENERAL
+
+  If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not
+  affect the validity or enforceability of the remainder of the terms of this Agreement, and without
+  further action by the parties hereto, such provision shall be reformed to the minimum extent
+  necessary to make such provision valid and enforceable.
+
+  If Recipient institutes patent litigation against any entity (including a cross-claim or
+  counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program
+  with other software or hardware) infringes such Recipient's patent(s), then such Recipient's
+  rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
+
+  All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the
+  material terms or conditions of this Agreement and does not cure such failure in a reasonable
+  period of time after becoming aware of such noncompliance. If all Recipient's rights under this
+  Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as
+  reasonably practicable. However, Recipient's obligations under this Agreement and any licenses
+  granted by Recipient relating to the Program shall continue and survive.
+
+  Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid
+  inconsistency the Agreement is copyrighted and may only be modified in the following manner. The
+  Agreement Steward reserves the right to publish new versions (including revisions) of this
+  Agreement from time to time. No one other than the Agreement Steward has the right to modify this
+  Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may
+  assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each
+  new version of the Agreement will be given a distinguishing version number. The Program (including
+  Contributions) may always be Distributed subject to the version of the Agreement under which it
+  was received. In addition, after a new version of the Agreement is published, Contributor may
+  elect to Distribute the Program (including its Contributions) under the new version.
+
+  Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or
+  licenses to the intellectual property of any Contributor under this Agreement, whether expressly,
+  by implication, estoppel or otherwise. All rights in the Program not expressly granted under this
+  Agreement are reserved. Nothing in this Agreement is intended to be enforceable by any entity that
+  is not a Contributor or Recipient. No third-party beneficiary rights are created under this
+  Agreement.
+
+  Exhibit A – Form of Secondary Licenses Notice
+
+  “This Source Code may also be made available under the following Secondary Licenses when the
+  conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied:
+  {name license(s), version(s), and exceptions or additional permissions here}.”
+
+      Simply including a copy of this Agreement, including this Exhibit A is not sufficient to license
+      the Source Code under Secondary Licenses.
+
+      If it is not possible or desirable to put the notice in a particular file, then You may include
+      the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would
+      be likely to look for such a notice.
+
+      You may add additional accurate notices of copyright ownership.
+#end
 ## We put the JRuby incorporated works bits here, since we first reference JRuby in the EPL section.
 #if($jruby)
 #jruby_license()
diff --git a/hbase-resource-bundle/src/main/resources/supplemental-models.xml b/hbase-resource-bundle/src/main/resources/supplemental-models.xml
index 7eeed27..3cee800 100644
--- a/hbase-resource-bundle/src/main/resources/supplemental-models.xml
+++ b/hbase-resource-bundle/src/main/resources/supplemental-models.xml
@@ -1925,4 +1925,356 @@ Copyright (c) 2007-2017 The JRuby project
       </licenses>
     </project>
   </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-xjc</artifactId>
+      <version>2.3.1</version>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://oss.oracle.com/licenses/CDDL+GPL-1.1l</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.bind</groupId>
+      <artifactId>jaxb-jxc</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://oss.oracle.com/licenses/CDDL+GPL-1.1</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.glassfish.external</groupId>
+      <artifactId>management-api</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://oss.oracle.com/licenses/CDDL+GPL-1.1</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.glassfish.gmbal</groupId>
+      <artifactId>gmbal-api-only</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://oss.oracle.com/licenses/CDDL+GPL-1.1</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.messaging.saaj</groupId>
+      <artifactId>saaj-impl</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://oss.oracle.com/licenses/CDDL+GPL-1.1</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.ws</groupId>
+      <artifactId>jaxws-eclipselink-plugin</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://oss.oracle.com/licenses/CDDL+GPL-1.1</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.ws</groupId>
+      <artifactId>jaxws-ri</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://oss.oracle.com/licenses/CDDL+GPL-1.1</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.ws</groupId>
+      <artifactId>jaxws-rt</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://oss.oracle.com/licenses/CDDL+GPL-1.1</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.ws</groupId>
+      <artifactId>jaxws-tools</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://oss.oracle.com/licenses/CDDL+GPL-1.1</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.ws</groupId>
+      <artifactId>release-documentation</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://oss.oracle.com/licenses/CDDL+GPL-1.1</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.ws</groupId>
+      <artifactId>samples</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://oss.oracle.com/licenses/CDDL+GPL-1.1</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.ws</groupId>
+      <artifactId>sdo-eclipselink-plugin</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://oss.oracle.com/licenses/CDDL+GPL-1.1</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>com.sun.xml.ws</groupId>
+      <artifactId>sdo-eclipselink-plugin</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://oss.oracle.com/licenses/CDDL+GPL-1.1</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.jws</groupId>
+      <artifactId>javax.jws-api</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://glassfish.dev.java.net/nonav/public/CDDL+GPL.html</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.mail</groupId>
+      <artifactId>mail</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>http://www.sun.com/cddl</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml.soap</groupId>
+      <artifactId>javax.xml.soap-api</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://github.com/javaee/javax.xml.soap/blob/master/LICENSE</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.xml.ws</groupId>
+      <artifactId>jaxws-api</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>https://github.com/javaee/jax-ws-spec/blob/master/LICENSE.md</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.glassfish.jaxb</groupId>
+      <artifactId>jaxb-runtime</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>http://glassfish.java.net/public/CDDL+GPL_1_1.html</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.glassfish.jaxb</groupId>
+      <artifactId>txw2</artifactId>
+      <licenses>
+        <license>
+          <name>CDDL 1.1</name>
+          <url>http://glassfish.java.net/public/CDDL+GPL_1_1.html</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>commonj.sdo</groupId>
+      <artifactId>commonj.sdo</artifactId>
+      <licenses>
+        <license>
+          <name>Eclipse Public License 1.0</name>
+          <url>http://www.eclipse.org/legal/epl-v10.html</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>javax.persistence</groupId>
+      <artifactId>javax.persistence-api</artifactId>
+      <licenses>
+        <license>
+          <name>Eclipse Public License 1.0</name>
+          <url>http://www.eclipse.org/legal/epl-v10.html</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.eclipse.persistence</groupId>
+      <artifactId>commonj.sdo</artifactId>
+      <licenses>
+        <license>
+          <name>Eclipse Public License 1.0</name>
+          <url>http://www.eclipse.org/legal/epl-v10.html</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.eclipse.persistence</groupId>
+      <artifactId>org.eclipse.persistence.asm</artifactId>
+      <licenses>
+        <license>
+          <name>Eclipse Public License 1.0</name>
+          <url>http://www.eclipse.org/legal/epl-v10.html</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.eclipse.persistence</groupId>
+      <artifactId>org.eclipse.persistence.core</artifactId>
+      <licenses>
+        <license>
+          <name>Eclipse Public License 1.0</name>
+          <url>http://www.eclipse.org/legal/epl-v10.html</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.eclipse.persistence</groupId>
+      <artifactId>org.eclipse.persistence.moxy</artifactId>
+      <licenses>
+        <license>
+          <name>Eclipse Public License 1.0</name>
+          <url>http://www.eclipse.org/legal/epl-v10.html</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.eclipse.persistence</groupId>
+      <artifactId>org.eclipse.persistence.sdo</artifactId>
+      <licenses>
+        <license>
+          <name>Eclipse Public License 1.0</name>
+          <url>http://www.eclipse.org/legal/epl-v10.html</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
+  <supplement>
+    <project>
+      <groupId>org.glassfish.ha</groupId>
+      <artifactId>ha-api</artifactId>
+      <licenses>
+        <license>
+          <name>Eclipse Public License 2.0</name>
+          <url>https://www.eclipse.org/legal/epl-v20.html</url>
+          <distribution>repo</distribution>
+        </license>
+      </licenses>
+    </project>
+  </supplement>
 </supplementalDataModels>
diff --git a/pom.xml b/pom.xml
index 38b7775..0a7f1f6 100755
--- a/pom.xml
+++ b/pom.xml
@@ -2235,6 +2235,18 @@
         <artifactId>hbase-shaded-protobuf</artifactId>
         <version>${hbase-thirdparty.version}</version>
       </dependency>
+      <dependency>
+        <groupId>com.sun.xml.ws</groupId>
+          <artifactId>jaxws-ri</artifactId>
+        <version>2.3.1</version>
+        <type>pom</type>
+        <exclusions>
+          <exclusion>
+            <groupId>javax.activation</groupId>
+            <artifactId>javax.activation-api</artifactId>
+          </exclusion>
+        </exclusions>
+      </dependency>
     </dependencies>
   </dependencyManagement>
   <dependencies>
@@ -2323,12 +2335,6 @@
       </activation>
       <dependencyManagement>
         <dependencies>
-          <dependency>
-            <groupId>com.sun.xml.ws</groupId>
-            <artifactId>jaxws-ri</artifactId>
-            <version>2.3.1</version>
-            <type>pom</type>
-          </dependency>
         </dependencies>
       </dependencyManagement>
     </profile>