Skip to content

Conversation

@PDavid
Copy link
Contributor

@PDavid PDavid commented May 23, 2025

As is

Currently, the static JavaScript, CSS resources need to be manually managed. That is, if any of these has to be updated, we will be required to download them from web and place them under the appropriate path. This can be cumbersome.

After

To be able to manage them with minimal manual effort we could manage them as part of build.

Approach

This solution is very similar to how we manage the websitestatic resources in our build: #6668

Download and extract the UI resources as webjars using the maven-dependency-plugin in our build. It will only copy the required files to the hbase-server/target/hbase-webapps/static directory.

The REST and Thrift projects copies the static JavaScript, CSS resources from hbase-server - as before.

This way the no new dependency is packaged into the application, only the required JS, CSS files are copied and packaged.

Upgrading in the future

From now on upgrading the static JavaScript, CSS resources means to:

Upgrades

Also upgraded the following static resources to current latest version:

  • jquery: 3.5.1 -> 3.7.1
  • tablesorter: 2.31.3 -> 2.32.0

PDavid added 2 commits May 22, 2025 17:28
…e#6864)

Signed-off-by: Nick Dimiduk <[email protected]>
Signed-off-by: Nihal Jain <[email protected]>
(cherry picked from commit 2f9d9fc)
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.
@PDavid
Copy link
Contributor Author

PDavid commented May 23, 2025

This is a backport of #6864 to branch-2.6. This PR already includes the addendum fix (#7018).

I cherry-picked the master commit and resolved the conflicts. The reason this patch was not applying clearly is that on master we have the website and the reference guide (asciidoc) building code but on other branches we don't.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 0s Docker mode activated.
-1 ❌ docker 0m 15s Docker failed to build run-specific yetus/hbase:tp-31261}.
Subsystem Report/Notes
GITHUB PR #7020
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7020/1/console
versions git=2.17.1
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 49s Docker mode activated.
_ Prechecks _
+1 💚 dupname 0m 0s No case conflicting files found.
+0 🆗 codespell 0m 0s codespell was not available.
+0 🆗 detsecrets 0m 0s detect-secrets was not available.
+0 🆗 jshint 0m 0s jshint was not available.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ branch-2.6 Compile Tests _
+0 🆗 mvndep 0m 16s Maven dependency ordering for branch
+1 💚 mvninstall 3m 6s branch-2.6 passed
+1 💚 compile 5m 58s branch-2.6 passed
+1 💚 spotless 0m 47s branch has no errors when running spotless:check.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 19s Maven dependency ordering for patch
+1 💚 mvninstall 2m 59s the patch passed
+1 💚 compile 5m 48s the patch passed
+1 💚 javac 5m 48s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 xmllint 0m 0s No new issues.
+1 💚 hadoopcheck 16m 31s Patch does not cause any errors with Hadoop 2.10.2 or 3.3.6 3.4.0.
+1 💚 spotless 0m 43s patch has no errors when running spotless:check.
_ Other Tests _
+1 💚 asflicense 0m 39s The patch does not generate ASF License warnings.
39m 49s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7020/1/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #7020
Optional Tests dupname asflicense javac codespell detsecrets xmllint hadoopcheck spotless compile jshint
uname Linux c401017f633d 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision branch-2.6 / 7606d4b
Default Java Eclipse Adoptium-11.0.23+9
Max. process+thread count 79 (vs. ulimit of 30000)
modules C: hbase-server hbase-thrift hbase-rest . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7020/1/console
versions git=2.34.1 maven=3.9.8 xmllint=20913
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache-HBase
Copy link

💔 -1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 1m 27s Docker mode activated.
-0 ⚠️ yetus 0m 6s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ branch-2.6 Compile Tests _
+0 🆗 mvndep 0m 26s Maven dependency ordering for branch
+1 💚 mvninstall 4m 50s branch-2.6 passed
+1 💚 compile 3m 28s branch-2.6 passed
+1 💚 javadoc 4m 21s branch-2.6 passed
+1 💚 shadedjars 9m 7s branch has no errors when building our shaded downstream artifacts.
_ Patch Compile Tests _
+0 🆗 mvndep 0m 20s Maven dependency ordering for patch
+1 💚 mvninstall 4m 36s the patch passed
+1 💚 compile 3m 16s the patch passed
+1 💚 javac 3m 16s the patch passed
+1 💚 javadoc 4m 54s the patch passed
+1 💚 shadedjars 15m 6s patch has no errors when building our shaded downstream artifacts.
_ Other Tests _
-1 ❌ unit 42m 58s /patch-unit-root.txt root in the patch failed.
99m 48s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7020/1/artifact/yetus-jdk11-hadoop3-check/output/Dockerfile
GITHUB PR #7020
Optional Tests javac javadoc unit shadedjars compile
uname Linux ed0f99a93f5a 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality dev-support/hbase-personality.sh
git revision branch-2.6 / 7606d4b
Default Java Eclipse Adoptium-11.0.23+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7020/1/testReport/
Max. process+thread count 1419 (vs. ulimit of 30000)
modules C: hbase-server hbase-thrift hbase-rest . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7020/1/console
versions git=2.34.1 maven=3.9.8
Powered by Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@PDavid
Copy link
Contributor Author

PDavid commented May 25, 2025

Some tests failed in the PR build but to me those seem unrelated.

@PDavid
Copy link
Contributor Author

PDavid commented May 25, 2025

I tested this backported patch the same way as I described here: #6864 (comment)

@PDavid PDavid marked this pull request as ready for review May 25, 2025 06:40
@NihalJain NihalJain merged commit 0abd325 into apache:branch-2.6 May 27, 2025
1 check failed
@PDavid PDavid deleted the HBASE-27802-js-programatically-branch-2.6 branch May 27, 2025 13:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants