Skip to content

Conversation

PDavid
Copy link
Contributor

@PDavid PDavid commented Sep 30, 2025

  • Upgraded checkstyle to 11.0.1 to handle newer Java syntax
  • Upgraded the Maven checkstyle plugin to 3.6.0
  • There were incompatibilities with the Maven skin and the newer checkstyle version so replaced Josh Elser's old patched fluido Maven skin with the newer Reflow2 Maven skin (Apache Phoenix project uses this). This brings newer Bootstrap (before we used 2.3.2, after 4.x - still not ideal because 5.x is the latest major version but it is an improvement).
  • The new skin also brings new more modern look - please see separate comment with screen shots.
  • Made sure only local resources are used by the website and the book.html - so no CDN is used - as before. We cannot load remote content as it is banned by central ASF Content Security Policy.
  • Made sure the RefGuide (book.html) still works as before.

@PDavid PDavid self-assigned this Sep 30, 2025
@PDavid
Copy link
Contributor Author

PDavid commented Sep 30, 2025

Testing

Created the site with mvn clean install -DskipTests && mvn site. Tested the site with desktop and mobile views.

Also made sure mvn surefire-report:report-only is successful. After the checkstyle upgrade (but without the Maven skin change it was failing with the following error:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-report-plugin:3.5.3:report-only (default-cli) on project hbase: An error has occurred in Surefire report generation.: Failed to create context for skin: Cannot use skin: has [1.11.1,2.0.0-M1) Doxia Sitetools prerequisite, but current is 2.0.0 -> [Help 1]

@PDavid
Copy link
Contributor Author

PDavid commented Sep 30, 2025

Screen shots

(Click on them below to open.)

Desktop site index page (big screen) Desktop site index
Mobile site index page Mobile site index
Downloads page (smaller screen) 0 0 0 0_8000_downloads html

Comment on lines -2793 to -2809
<artifactItem>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>2.3.2</version>
<type>jar</type>
<overWrite>true</overWrite>
<includes>**/css/bootstrap-responsive.min.css</includes>
</artifactItem>
<artifactItem>
<groupId>org.webjars</groupId>
<artifactId>highlightjs</artifactId>
<version>8.7</version>
<type>jar</type>
<overWrite>true</overWrite>
<includes>**/styles/github.min.css,
**/highlight.min.js,</includes>
</artifactItem>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are not required anymore as the new skin brings them from a separate jar.

<version>${maven-site.version}</version>
<configuration>
<siteDirectory>${basedir}/src/site</siteDirectory>
<customBundle>${basedir}/src/site/custom/project-info-report.properties</customBundle>
Copy link
Contributor Author

@PDavid PDavid Sep 30, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There was a warning regarding this during the build:

[WARNING] Parameter 'customBundle' is unknown for plugin 'maven-site-plugin:3.12.0:site (default-site)'

Removing this line fixed it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed this because of the mentioned warning:

[WARNING] Parameter 'customBundle' is unknown for plugin 'maven-site-plugin:3.12.0:site (default-site)'

Comment on lines -45 to -48
<!-- The ID of the Google custom search engine to use.
This one searches hbase.apache.org, issues.apache.org/browse/HBASE-*,
and user and dev mailing list archives. -->
<customSearch>000385458301414556862:sq1bb0xugjg</customSearch>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not found a solution (yet) to use this Google custom search engine with the newer skin.
Do you think it is still needed? Because most probably this can be solved somehow but may require more work / hacks.

@PDavid PDavid marked this pull request as ready for review September 30, 2025 11:03
@Apache-HBase

This comment has been minimized.

@PDavid PDavid force-pushed the HBASE-29609-checkstyle-upgrade-2 branch from 47958ba to c94d927 Compare September 30, 2025 11:43
@Apache-HBase

This comment has been minimized.

@Apache-HBase
Copy link

🎊 +1 overall

Vote Subsystem Runtime Logfile Comment
+0 🆗 reexec 0m 29s 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.
+1 💚 @author 0m 0s The patch does not contain any @author tags.
_ master Compile Tests _
+1 💚 mvninstall 3m 4s master passed
+1 💚 compile 8m 43s master passed
+1 💚 mvnsite 7m 9s master passed
+1 💚 spotless 0m 53s branch has no errors when running spotless:check.
_ Patch Compile Tests _
+1 💚 mvninstall 3m 2s the patch passed
+1 💚 compile 8m 41s the patch passed
+1 💚 javac 8m 41s the patch passed
+1 💚 blanks 0m 0s The patch has no blanks issues.
+1 💚 mvnsite 8m 24s the patch passed
+1 💚 xmllint 0m 0s No new issues.
+1 💚 hadoopcheck 11m 43s Patch does not cause any errors with Hadoop 3.3.6 3.4.1.
+1 💚 spotless 0m 44s patch has no errors when running spotless:check.
_ Other Tests _
+1 💚 asflicense 0m 12s The patch does not generate ASF License warnings.
60m 52s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7353/2/artifact/yetus-general-check/output/Dockerfile
GITHUB PR #7353
Optional Tests dupname asflicense javac codespell detsecrets xmllint hadoopcheck spotless compile mvnsite
uname Linux 9b1a80a75744 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 master / c94d927
Default Java Eclipse Adoptium-17.0.11+9
Max. process+thread count 189 (vs. ulimit of 30000)
modules C: . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7353/2/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 0m 37s Docker mode activated.
-0 ⚠️ yetus 0m 3s Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck
_ Prechecks _
_ master Compile Tests _
+1 💚 mvninstall 3m 53s master passed
+1 💚 compile 2m 14s master passed
+1 💚 javadoc 1m 59s master passed
+1 💚 shadedjars 6m 16s branch has no errors when building our shaded downstream artifacts.
_ Patch Compile Tests _
+1 💚 mvninstall 3m 11s the patch passed
+1 💚 compile 2m 14s the patch passed
+1 💚 javac 2m 14s the patch passed
+1 💚 javadoc 1m 58s the patch passed
+1 💚 shadedjars 6m 14s patch has no errors when building our shaded downstream artifacts.
_ Other Tests _
+1 💚 unit 280m 54s root in the patch passed.
316m 44s
Subsystem Report/Notes
Docker ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7353/2/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile
GITHUB PR #7353
Optional Tests javac javadoc unit shadedjars compile
uname Linux 9b8cc9ebf2db 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 master / c94d927
Default Java Eclipse Adoptium-17.0.11+9
Test Results https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7353/2/testReport/
Max. process+thread count 6861 (vs. ulimit of 30000)
modules C: . U: .
Console output https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-7353/2/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.

@stoty
Copy link
Contributor

stoty commented Oct 1, 2025

I would split the skin replacement and the checkstyle update into separate tickets and PRs if possible.
(i.e. if the new skins works with the old checkstyle)

I also suggest starting a [DISCUSS] thread about the skin update to make sure that everyone is aware of this and has a chance to comment.

@stoty
Copy link
Contributor

stoty commented Oct 1, 2025

Also, there is some information on why HBase needed the hacked theme in the old tickets.
Were you able to verify the problem areas and confirm that the new skin is free from the bugs that had to be patched ?

@PDavid
Copy link
Contributor Author

PDavid commented Oct 1, 2025

I would split the skin replacement and the checkstyle update into separate tickets and PRs if possible. (i.e. if the new skins works with the old checkstyle)

Thanks for the suggestion. Sure, actually, I was wondering about the same thing: to do these separately. However having them in the same PR proves that the new skin works with the new checkstyle version. But of course I can separate them. :)

I also suggest starting a [DISCUSS] thread about the skin update to make sure that everyone is aware of this and has a chance to comment.

Good idea, I'll do that.

Also, there is some information on why HBase needed the hacked theme in the old tickets. Were you able to verify the problem areas and confirm that the new skin is free from the bugs that had to be patched ?

I checked the commits on the 1.4 branch of the fork which were made in 2019, since a lot of time passed, even the original Maven fluido skin is now at 2.1.0 version and I did not found any issues with the new skin I thought the original problems might not be present anymore. But I'll look into this to be sure.

@PDavid
Copy link
Contributor Author

PDavid commented Oct 1, 2025

Closing this PR as I'll raise two separate PR-s for the checkstyle upgrade and the skin replacement.

@PDavid PDavid closed this Oct 1, 2025
@PDavid
Copy link
Contributor Author

PDavid commented Oct 1, 2025

OK, in the meantime I found out that I already started a [DISCUSS] thread about the skin update:
https://lists.apache.org/thread/21rob15d19ngbx6rvy8d4nmt5klgpoft

I'll post a new message there.

Also it seems HBase master does not uses Josh Elser's old patched skin because Duo changed it back to the official Maven-Fluido skin here: https://github.com/apache/hbase/pull/5993/files , just the comment about Josh's skin was left there.

I opened #7355 for the skin update.

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.

3 participants