This is an automated email from the ASF dual-hosted git repository.
nihaljain pushed a commit to branch branch-2.6
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-2.6 by this push:
new 0abd32507dd HBASE-27802 Manage static javascript resources
programatically (#7020)
0abd32507dd is described below
commit 0abd32507dd3e4610c3c72e2a4c94a0735f4dd16
Author: Dávid Paksy <[email protected]>
AuthorDate: Tue May 27 12:42:45 2025 +0200
HBASE-27802 Manage static javascript resources programatically (#7020)
* HBASE-27802 Manage static javascript resources programatically (#6864)
Signed-off-by: Nick Dimiduk <[email protected]>
Signed-off-by: Nihal Jain <[email protected]>
(cherry picked from commit 2f9d9fcd906c30abf30da1b5a78eae948e901e30)
* HBASE-27802 Fix not working popovers on UI
Popovers were not working on the UI and the following JS error was logged
to browser console:
```
Uncaught TypeError: i.createPopper is not a function
```
This is because popper.js was not available on the page for Bootstrap.
Solution: We use bootstrap.bundle.min.js instead which includes both
popper.js and Bootstrap.
---------
Signed-off-by: Nick Dimiduk <[email protected]>
Signed-off-by: Nihal Jain <[email protected]>
---
hbase-rest/pom.xml | 4 +-
.../main/resources/hbase-webapps/rest/footer.jsp | 2 +-
hbase-server/pom.xml | 104 +++++++++++++++++++++
.../hbase/tmpl/master/MasterStatusTmpl.jamon | 2 +-
.../hbase/tmpl/master/RegionVisualizerTmpl.jamon | 6 +-
.../hbase/tmpl/regionserver/RSStatusTmpl.jamon | 2 +-
.../hadoop/hbase/tmpl/tool/CanaryStatusTmpl.jamon | 2 +-
.../resources/hbase-webapps/master/scripts.jsp | 2 +-
.../hbase-webapps/regionserver/footer.jsp | 2 +-
.../hbase-webapps/static/css/bootstrap.min.css | 6 --
.../hbase-webapps/static/js/bootstrap.min.js | 7 --
.../hbase-webapps/static/js/jquery.min.js | 2 -
.../static/js/jquery.tablesorter.min.js | 4 -
.../static/js/parser-date-iso8601.min.js | 4 -
.../static/js/[email protected] | 7 --
.../static/js/[email protected] | 2 -
.../hbase-webapps/static/js/[email protected] | 2 -
hbase-thrift/pom.xml | 4 +-
.../main/resources/hbase-webapps/thrift/footer.jsp | 2 +-
pom.xml | 8 ++
20 files changed, 126 insertions(+), 48 deletions(-)
diff --git a/hbase-rest/pom.xml b/hbase-rest/pom.xml
index f5d07da0577..7bd7b188cc3 100644
--- a/hbase-rest/pom.xml
+++ b/hbase-rest/pom.xml
@@ -280,7 +280,7 @@
<skipAssembly>true</skipAssembly>
</configuration>
</plugin>
- <!-- Copy the static web resources (JS, CSS, images, etc.) from
hbase-server sources -->
+ <!-- Copy the static web resources (JS, CSS, images, etc.) from
hbase-server -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
@@ -296,7 +296,7 @@
<overwrite>true</overwrite>
<resources>
<resource>
-
<directory>../hbase-server/src/main/resources/hbase-webapps/static</directory>
+
<directory>../hbase-server/target/hbase-webapps/static</directory>
</resource>
</resources>
</configuration>
diff --git a/hbase-rest/src/main/resources/hbase-webapps/rest/footer.jsp
b/hbase-rest/src/main/resources/hbase-webapps/rest/footer.jsp
index 55d8fec7524..2e11fe6ad52 100644
--- a/hbase-rest/src/main/resources/hbase-webapps/rest/footer.jsp
+++ b/hbase-rest/src/main/resources/hbase-webapps/rest/footer.jsp
@@ -19,7 +19,7 @@
--%>
<script src="/static/js/jquery.min.js" type="text/javascript"></script>
- <script src="/static/js/bootstrap.min.js" type="text/javascript"></script>
+ <script src="/static/js/bootstrap.bundle.min.js"
type="text/javascript"></script>
<script src="/static/js/tab.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
diff --git a/hbase-server/pom.xml b/hbase-server/pom.xml
index e303ec1ada6..307264a63f6 100644
--- a/hbase-server/pom.xml
+++ b/hbase-server/pom.xml
@@ -893,7 +893,9 @@
<build>
<plugins>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
+ <version>${maven.dependency.version}</version>
<executions>
<execution>
<id>create-mrapp-generated-classpath</id>
@@ -909,6 +911,108 @@
<outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>
</configuration>
</execution>
+ <execution>
+ <id>unpack-ui-resources-js</id>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <phase>process-resources</phase>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.webjars</groupId>
+ <artifactId>bootstrap</artifactId>
+ <version>${bootstrap.version}</version>
+ <type>jar</type>
+ <overWrite>true</overWrite>
+ <includes>**/js/bootstrap.bundle.min.js</includes>
+ <fileMappers>
+ <fileMapper
implementation="org.codehaus.plexus.components.io.filemappers.FlattenFileMapper"/>
+ </fileMappers>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.webjars</groupId>
+ <artifactId>jquery</artifactId>
+ <version>${jquery.version}</version>
+ <type>jar</type>
+ <overWrite>true</overWrite>
+ <includes>**/jquery.min.js</includes>
+ <fileMappers>
+ <fileMapper
implementation="org.codehaus.plexus.components.io.filemappers.FlattenFileMapper"/>
+ </fileMappers>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.webjars</groupId>
+ <artifactId>tablesorter</artifactId>
+ <version>${tablesorter.version}</version>
+ <type>jar</type>
+ <overWrite>true</overWrite>
+ <includes>**/jquery.tablesorter.min.js,
+ **/parsers/parser-date-iso8601.min.js</includes>
+ <fileMappers>
+ <fileMapper
implementation="org.codehaus.plexus.components.io.filemappers.FlattenFileMapper"/>
+ </fileMappers>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.webjars</groupId>
+ <artifactId>vega</artifactId>
+ <version>${vega.version}</version>
+ <type>jar</type>
+ <overWrite>true</overWrite>
+ <includes>**/vega.min.js</includes>
+ <fileMappers>
+ <fileMapper
implementation="org.codehaus.plexus.components.io.filemappers.FlattenFileMapper"/>
+ </fileMappers>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.webjars</groupId>
+ <artifactId>vega-embed</artifactId>
+ <version>${vega-embed.version}</version>
+ <type>jar</type>
+ <overWrite>true</overWrite>
+ <includes>**/vega-embed.min.js</includes>
+ <fileMappers>
+ <fileMapper
implementation="org.codehaus.plexus.components.io.filemappers.FlattenFileMapper"/>
+ </fileMappers>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.webjars</groupId>
+ <artifactId>vega-lite</artifactId>
+ <version>${vega-lite.version}</version>
+ <type>jar</type>
+ <overWrite>true</overWrite>
+ <includes>**/vega-lite.min.js</includes>
+ <fileMappers>
+ <fileMapper
implementation="org.codehaus.plexus.components.io.filemappers.FlattenFileMapper"/>
+ </fileMappers>
+ </artifactItem>
+ </artifactItems>
+
<outputDirectory>${project.build.directory}/hbase-webapps/static/js</outputDirectory>
+ </configuration>
+ </execution>
+ <execution>
+ <id>unpack-ui-resources-css</id>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <phase>process-resources</phase>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.webjars</groupId>
+ <artifactId>bootstrap</artifactId>
+ <version>${bootstrap.version}</version>
+ <type>jar</type>
+ <overWrite>true</overWrite>
+ <includes>**/css/bootstrap.min.css</includes>
+ <fileMappers>
+ <fileMapper
implementation="org.codehaus.plexus.components.io.filemappers.FlattenFileMapper"/>
+ </fileMappers>
+ </artifactItem>
+ </artifactItems>
+
<outputDirectory>${project.build.directory}/hbase-webapps/static/css</outputDirectory>
+ </configuration>
+ </execution>
</executions>
</plugin>
</plugins>
diff --git
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
index 722f32ca3b8..d1b3f8719d2 100644
---
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
+++
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
@@ -442,7 +442,7 @@ AssignmentManager assignmentManager =
master.getAssignmentManager();
<script src="/static/js/jquery.min.js" type="text/javascript"></script>
<script src="/static/js/jquery.tablesorter.min.js"
type="text/javascript"></script>
<script src="/static/js/parser-date-iso8601.min.js"
type="text/javascript"></script>
- <script src="/static/js/bootstrap.min.js" type="text/javascript"></script>
+ <script src="/static/js/bootstrap.bundle.min.js"
type="text/javascript"></script>
<script src="/static/js/tab.js" type="text/javascript"></script>
<script src="/static/js/jqSpager.js" type="text/javascript"></script>
<script>
diff --git
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionVisualizerTmpl.jamon
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionVisualizerTmpl.jamon
index 0b7b0c081ca..9a98cfefed7 100644
---
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionVisualizerTmpl.jamon
+++
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionVisualizerTmpl.jamon
@@ -17,9 +17,9 @@ See the License for the specific language governing
permissions and
limitations under the License.
</%doc>
- <script type="text/javascript"
src="/static/js/[email protected]"></script>
- <script type="text/javascript"
src="/static/js/[email protected]"></script>
- <script type="text/javascript"
src="/static/js/[email protected]"></script>
+ <script type="text/javascript" src="/static/js/vega.min.js"></script>
+ <script type="text/javascript" src="/static/js/vega-lite.min.js"></script>
+ <script type="text/javascript" src="/static/js/vega-embed.min.js"></script>
<div id="vis" style="width:80%;"></div>
<script type="text/javascript">
diff --git
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
index 5e05355d1d3..4b8047b9e44 100644
---
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
+++
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
@@ -256,7 +256,7 @@ org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;
</div>
<script src="/static/js/jquery.min.js" type="text/javascript"></script>
<script src="/static/js/jquery.tablesorter.min.js"
type="text/javascript"></script>
-<script src="/static/js/bootstrap.min.js" type="text/javascript"></script>
+<script src="/static/js/bootstrap.bundle.min.js"
type="text/javascript"></script>
<script src="/static/js/tab.js" type="text/javascript"></script>
<script>
$(document).ready(function()
diff --git
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/tool/CanaryStatusTmpl.jamon
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/tool/CanaryStatusTmpl.jamon
index 8d1c5746467..031f3445518 100644
---
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/tool/CanaryStatusTmpl.jamon
+++
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/tool/CanaryStatusTmpl.jamon
@@ -136,7 +136,7 @@ org.apache.hadoop.hbase.util.JvmVersion;
</div> <!-- /container -->
<script src="/static/js/jquery.min.js" type="text/javascript"></script>
- <script src="/static/js/bootstrap.min.js" type="text/javascript"></script>
+ <script src="/static/js/bootstrap.bundle.min.js"
type="text/javascript"></script>
<script src="/static/js/tab.js" type="text/javascript"></script>
</body>
</html>
diff --git a/hbase-server/src/main/resources/hbase-webapps/master/scripts.jsp
b/hbase-server/src/main/resources/hbase-webapps/master/scripts.jsp
index 1e9031f77eb..d987621a119 100644
--- a/hbase-server/src/main/resources/hbase-webapps/master/scripts.jsp
+++ b/hbase-server/src/main/resources/hbase-webapps/master/scripts.jsp
@@ -18,7 +18,7 @@
*/
--%>
<script src="/static/js/jquery.min.js" type="text/javascript"></script>
- <script src="/static/js/bootstrap.min.js" type="text/javascript"></script>
+ <script src="/static/js/bootstrap.bundle.min.js"
type="text/javascript"></script>
<script src="/static/js/tab.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
diff --git
a/hbase-server/src/main/resources/hbase-webapps/regionserver/footer.jsp
b/hbase-server/src/main/resources/hbase-webapps/regionserver/footer.jsp
index 6a0ac444e3b..02a36e9c23f 100644
--- a/hbase-server/src/main/resources/hbase-webapps/regionserver/footer.jsp
+++ b/hbase-server/src/main/resources/hbase-webapps/regionserver/footer.jsp
@@ -18,7 +18,7 @@
*/
--%>
<script src="/static/js/jquery.min.js" type="text/javascript"></script>
- <script src="/static/js/bootstrap.min.js" type="text/javascript"></script>
+ <script src="/static/js/bootstrap.bundle.min.js"
type="text/javascript"></script>
<script src="/static/js/tab.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
diff --git
a/hbase-server/src/main/resources/hbase-webapps/static/css/bootstrap.min.css
b/hbase-server/src/main/resources/hbase-webapps/static/css/bootstrap.min.css
deleted file mode 100644
index 46dc7faa2e9..00000000000
--- a/hbase-server/src/main/resources/hbase-webapps/static/css/bootstrap.min.css
+++ /dev/null
@@ -1,6 +0,0 @@
-@charset "UTF-8";/*!
- * Bootstrap v5.3.3 (https://getbootstrap.com/)
- * Copyright 2011-2024 The Bootstrap Authors
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
-
*/:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--
[...]
-/*# sourceMappingURL=bootstrap.min.css.map */
diff --git
a/hbase-server/src/main/resources/hbase-webapps/static/js/bootstrap.min.js
b/hbase-server/src/main/resources/hbase-webapps/static/js/bootstrap.min.js
deleted file mode 100644
index d705b8dac58..00000000000
--- a/hbase-server/src/main/resources/hbase-webapps/static/js/bootstrap.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Bootstrap v5.3.3 (https://getbootstrap.com/)
- * Copyright 2011-2024 The Bootstrap Authors
(https://github.com/twbs/bootstrap/graphs/contributors)
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof
module?module.exports=e():"function"==typeof
define&&define.amd?define(e):(t="undefined"!=typeof
globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use
strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const
s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't
allow more than one instance per element. Bound instance:
${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e). [...]
-//# sourceMappingURL=bootstrap.bundle.min.js.map
diff --git
a/hbase-server/src/main/resources/hbase-webapps/static/js/jquery.min.js
b/hbase-server/src/main/resources/hbase-webapps/static/js/jquery.min.js
deleted file mode 100644
index b0614034ad3..00000000000
--- a/hbase-server/src/main/resources/hbase-webapps/static/js/jquery.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! jQuery v3.5.1 | (c) JS Foundation and other contributors |
jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof
module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw
new Error("jQuery requires a window with a document");return
t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use
strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return
t.flat.call(e)}:function(e){return
t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=
[...]
diff --git
a/hbase-server/src/main/resources/hbase-webapps/static/js/jquery.tablesorter.min.js
b/hbase-server/src/main/resources/hbase-webapps/static/js/jquery.tablesorter.min.js
deleted file mode 100644
index 427e3288225..00000000000
---
a/hbase-server/src/main/resources/hbase-webapps/static/js/jquery.tablesorter.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-(function(factory){if (typeof define === 'function' &&
define.amd){define(['jquery'], factory);} else if (typeof module === 'object'
&& typeof module.exports === 'object'){module.exports =
factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
-
-/*! tablesorter (FORK) - updated 2020-03-03 (v2.31.3)*/
-!function(e){"function"==typeof
define&&define.amd?define(["jquery"],e):"object"==typeof
module&&"object"==typeof
module.exports?module.exports=e(require("jquery")):e(jQuery)}(function(e){return
function(R){"use strict";var
T=R.tablesorter={version:"2.31.3",parsers:[],widgets:[],defaults:{theme:"default",widthFixed:!1,showProcessing:!1,headerTemplate:"{content}",onRenderTemplate:null,onRenderHeader:null,cancelSelection:!0,tabIndex:!0,dateFormat:"mmddyyyy",sortMultiSortKey:"shiftKey",sort
[...]
diff --git
a/hbase-server/src/main/resources/hbase-webapps/static/js/parser-date-iso8601.min.js
b/hbase-server/src/main/resources/hbase-webapps/static/js/parser-date-iso8601.min.js
deleted file mode 100644
index fe116cb92d2..00000000000
---
a/hbase-server/src/main/resources/hbase-webapps/static/js/parser-date-iso8601.min.js
+++ /dev/null
@@ -1,4 +0,0 @@
-(function(factory){if (typeof define === 'function' &&
define.amd){define(['jquery'], factory);} else if (typeof module === 'object'
&& typeof module.exports === 'object'){module.exports =
factory(require('jquery'));} else {factory(jQuery);}}(function(jQuery){
-
-/*! Parser: ISO-8601 date - updated 10/26/2014 (v2.18.0) */
-!function(e){"use strict";var
s=/^([0-9]{4})(-([0-9]{2})(-([0-9]{2})(T([0-9]{2}):([0-9]{2})(:([0-9]{2})(\.([0-9]+))?)?(Z|(([-+])([0-9]{2}):([0-9]{2})))?)?)?)?$/;e.tablesorter.addParser({id:"iso8601date",is:function(e){return!!e&&e.match(s)},format:function(e){var
t=e?e.match(s):e;if(t){var r=new Date(t[1],0,1);return
t[3]&&r.setMonth(t[3]-1),t[5]&&r.setDate(t[5]),t[7]&&r.setHours(t[7]),t[8]&&r.setMinutes(t[8]),t[10]&&r.setSeconds(t[10]),t[12]&&r.setMilliseconds(1e3*Number("0."+t[12])),r.
[...]
diff --git
a/hbase-server/src/main/resources/hbase-webapps/static/js/[email protected]
b/hbase-server/src/main/resources/hbase-webapps/static/js/[email protected]
deleted file mode 100644
index 8ae62235ac4..00000000000
---
a/hbase-server/src/main/resources/hbase-webapps/static/js/[email protected]
+++ /dev/null
@@ -1,7 +0,0 @@
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof
module?module.exports=t(require("vega"),require("vega-lite")):"function"==typeof
define&&define.amd?define(["vega","vega-lite"],t):(e="undefined"!=typeof
globalThis?globalThis:e||self).vegaEmbed=t(e.vega,e.vegaLite)}(this,(function(e,t){"use
strict";function n(e){var t=Object.create(null);return
e&&Object.keys(e).forEach((function(n){if("default"!==n){var
r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r: [...]
-/*!
- * https://github.com/Starcounter-Jack/JSON-Patch
- * (c) 2017-2021 Joachim Wester
- * MIT license
- */function S(e,t){void 0===t&&(t=!1);var
n=$.get(e.object);C(n.value,e.object,e.patches,"",t),e.patches.length&&A(n.value,e.patches);var
r=e.patches;return
r.length>0&&(e.patches=[],e.callback&&e.callback(r)),r}function
C(e,t,n,r,i){if(t!==e){"function"==typeof t.toJSON&&(t=t.toJSON());for(var
o=c(t),a=c(e),s=!1,d=a.length-1;d>=0;d--){var u=e[g=a[d]];if(!l(t,g)||void
0===t[g]&&void
0!==u&&!1===Array.isArray(t))Array.isArray(e)===Array.isArray(t)?(i&&n.push({op:"test",path:r+"/"+p(g)
[...]
-//# sourceMappingURL=vega-embed.min.js.map
diff --git
a/hbase-server/src/main/resources/hbase-webapps/static/js/[email protected]
b/hbase-server/src/main/resources/hbase-webapps/static/js/[email protected]
deleted file mode 100644
index 31b00323e15..00000000000
---
a/hbase-server/src/main/resources/hbase-webapps/static/js/[email protected]
+++ /dev/null
@@ -1,2 +0,0 @@
-!function(e,t){"object"==typeof exports&&"undefined"!=typeof
module?t(exports,require("vega")):"function"==typeof
define&&define.amd?define(["exports","vega"],t):t((e="undefined"!=typeof
globalThis?globalThis:e||self).vegaLite={},e.vega)}(this,(function(e,t){"use
strict";var n="5.23.0";function i(e){return J(e,"or")}function r(e){return
J(e,"and")}function o(e){return J(e,"not")}function
a(e,t){if(o(e))a(e.not,t);else if(r(e))for(const n of e.and)a(n,t);else
if(i(e))for(const n of e.or)a [...]
-//# sourceMappingURL=vega-lite.min.js.map
diff --git
a/hbase-server/src/main/resources/hbase-webapps/static/js/[email protected]
b/hbase-server/src/main/resources/hbase-webapps/static/js/[email protected]
deleted file mode 100644
index d776440000d..00000000000
--- a/hbase-server/src/main/resources/hbase-webapps/static/js/[email protected]
+++ /dev/null
@@ -1,2 +0,0 @@
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof
module?e(exports):"function"==typeof
define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof
globalThis?globalThis:t||self).vega={})}(this,(function(t){"use
strict";function e(t,e,n){return t.fields=e||[],t.fname=n,t}function
n(t){return null==t?null:t.fname}function r(t){return
null==t?null:t.fields}function i(t){return 1===t.length?o(t[0]):a(t)}const
o=t=>function(e){return e[t]},a=t=>{const e=t.length;return functi [...]
-//# sourceMappingURL=vega.min.js.map
diff --git a/hbase-thrift/pom.xml b/hbase-thrift/pom.xml
index 1db636fe201..ac9eda4d443 100644
--- a/hbase-thrift/pom.xml
+++ b/hbase-thrift/pom.xml
@@ -198,7 +198,7 @@
<skipAssembly>true</skipAssembly>
</configuration>
</plugin>
- <!-- Copy the static web resources (JS, CSS, images, etc.) from
hbase-server sources -->
+ <!-- Copy the static web resources (JS, CSS, images, etc.) from
hbase-server -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
@@ -214,7 +214,7 @@
<overwrite>true</overwrite>
<resources>
<resource>
-
<directory>../hbase-server/src/main/resources/hbase-webapps/static</directory>
+
<directory>../hbase-server/target/hbase-webapps/static</directory>
</resource>
</resources>
</configuration>
diff --git a/hbase-thrift/src/main/resources/hbase-webapps/thrift/footer.jsp
b/hbase-thrift/src/main/resources/hbase-webapps/thrift/footer.jsp
index 6a0ac444e3b..02a36e9c23f 100644
--- a/hbase-thrift/src/main/resources/hbase-webapps/thrift/footer.jsp
+++ b/hbase-thrift/src/main/resources/hbase-webapps/thrift/footer.jsp
@@ -18,7 +18,7 @@
*/
--%>
<script src="/static/js/jquery.min.js" type="text/javascript"></script>
- <script src="/static/js/bootstrap.min.js" type="text/javascript"></script>
+ <script src="/static/js/bootstrap.bundle.min.js"
type="text/javascript"></script>
<script src="/static/js/tab.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
diff --git a/pom.xml b/pom.xml
index 316806fcbc3..7f1d7013220 100644
--- a/pom.xml
+++ b/pom.xml
@@ -648,6 +648,7 @@
<maven.eclipse.version>2.10</maven.eclipse.version>
<maven.gpg.version>3.0.1</maven.gpg.version>
<maven.javadoc.version>3.4.0</maven.javadoc.version>
+ <maven.dependency.version>3.8.1</maven.dependency.version>
<maven.warbucks.version>1.1.0</maven.warbucks.version>
<maven.project.info.report.version>3.1.2</maven.project.info.report.version>
<maven-owasp-plugin.version>12.1.0</maven-owasp-plugin.version>
@@ -779,6 +780,13 @@
<!-- Still need this to ignore some errors when building javadoc-->
<doclint>none</doclint>
<javax.activation.version>1.2.0</javax.activation.version>
+ <!-- Web UI dependencies -->
+ <bootstrap.version>5.3.3</bootstrap.version>
+ <jquery.version>3.7.1</jquery.version>
+ <tablesorter.version>2.32.0</tablesorter.version>
+ <vega.version>5.32.0</vega.version>
+ <vega-embed.version>6.29.0</vega-embed.version>
+ <vega-lite.version>5.23.0</vega-lite.version>
</properties>
<!-- Sorted by groups of dependencies then groupId and artifactId -->
<dependencyManagement>