Skip to content

AMBARI-26642: Modernize Java dependencies and build tooling baseline - #4189

Merged
JiaLiangC merged 12 commits into
apache:trunkfrom
JiaLiangC:AMBARI-26642
Sep 3, 2026
Merged

AMBARI-26642: Modernize Java dependencies and build tooling baseline#4189
JiaLiangC merged 12 commits into
apache:trunkfrom
JiaLiangC:AMBARI-26642

Conversation

@JiaLiangC

Copy link
Copy Markdown
Contributor

Issue: AMBARI-26642

What changes were proposed in this pull request?

Modernize Ambari's JDK 17 dependency and build baseline while retaining compatibility boundaries that require dedicated migrations.

  • Align shared framework BOMs and Maven plugin management, and enforce Maven 3.9 with JDK 17.
  • Migrate Commons Lang 2 usage to Commons Lang 3 and Javax JAXB/Mail usage to Jakarta APIs.
  • Standardize server logging on SLF4J 2 with Logback and remove Reload4j from the server runtime graph.
  • Refresh maintained security, database-driver, test, and utility dependencies with focused compatibility changes.
  • Add CycloneDX SBOM generation, monthly grouped Dependabot updates, and dependency maintenance guidance.

Swagger/OpenAPI, PowerMock removal, HttpClient 5, and H2 2.x remain deferred because they require separate API, testability, or persistence-contract changes.

How was this patch tested?

All validation was executed in the ambari-26642-build container with JDK 17.0.20.1 and Maven 3.9.11.

  • Maven validation passed for all 17 reactor modules.
  • The 43 affected Server test classes passed: 708 tests run, 0 failures, 0 errors, and 15 skipped.
  • Ambari Server and Funtest main/test compilation passed, including Server Checkstyle with 0 violations.
  • Root packaging and aggregate CycloneDX SBOM generation passed.
  • Apache RAT remains blocked by 200 pre-existing files on trunk; neither new governance file appears in that failure set.
mvn -B -DskipTests -DskipPythonTests -DskipAdminWebTests=true -DskipUiBuild=true validate
mvn -B -f ambari-server/pom.xml -Dtest="<43 affected test classes>" -DskipPythonTests -DskipAdminWebTests=true -DskipUiBuild=true -Drat.skip -Dcheckstyle.skip test
mvn -B -am -pl ambari-server,ambari-funtest -DskipTests -DskipPythonTests -DskipFunctionalTests=true -DskipAdminWebTests=true -DskipUiBuild=true -Drat.skip test -rf :ambari-server
mvn -B -Psbom -DskipTests -DskipPythonTests -DskipAdminWebTests=true -DskipUiBuild=true -Drat.skip org.cyclonedx:cyclonedx-maven-plugin:2.9.1:makeAggregateBom
mvn -B -N -DskipTests -DskipPythonTests -Dcheckstyle.skip -Drat.skip package

The CycloneDX 1.6 aggregate SBOM contains 419 components.
The server runtime dependency tree contains SLF4J 2.0.18 and Logback 1.5.38 without Reload4j.

Please review Ambari Contributing Guide before opening a pull request.

@JiaLiangC
JiaLiangC merged commit 39112e4 into apache:trunk Sep 3, 2026
1 check passed
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.

2 participants