Skip to content

PHOENIX-7944 (addendum) Move bcprov-jdk18on unused-declared ignore into phoenix-core pom#2554

Merged
lokiore merged 1 commit into
apache:5.3from
lokiore:PHOENIX-7944-5.3-addendum
Jun 29, 2026
Merged

PHOENIX-7944 (addendum) Move bcprov-jdk18on unused-declared ignore into phoenix-core pom#2554
lokiore merged 1 commit into
apache:5.3from
lokiore:PHOENIX-7944-5.3-addendum

Conversation

@lokiore

@lokiore lokiore commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Addendum to PHOENIX-7944

The original PHOENIX-7944 fix (#2552) added the bouncycastle ignore entries to the root pom's maven-dependency-plugin configuration (under <build><pluginManagement>). The 5.3.2RC2 release built from that fix still failed on the 2.6.0 HBase profile at the phoenix-core analyze-only (enforce-dependencies) step:

[WARNING] Unused declared dependencies found:
[WARNING]    org.bouncycastle:bcprov-jdk18on:jar:1.79:test
[ERROR] Failed to execute goal ...maven-dependency-plugin:3.1.1:analyze-only (enforce-dependencies) on project phoenix-core: Dependency problems found

Root cause

phoenix-core/pom.xml re-declares maven-dependency-plugin under <build><plugins> with its own non-empty <ignoredUnusedDeclaredDependencies> list. A non-empty child element overrides (does not merge with) the inherited pluginManagement list, so the parent-level bcprov-jdk18on entry never applied to phoenix-core.

The companion bcprov-jdk15on used-undeclared ignore kept working only because phoenix-core's <ignoredUsedUndeclaredDependencies/> is empty/self-closing — so that parent entry passed through. That asymmetry is exactly why RC2 showed only the one remaining error.

Fix

Add org.bouncycastle:bcprov-jdk18on directly to phoenix-core's child <ignoredUnusedDeclaredDependencies> list, next to the existing slf4j/log4j entries. The parent-pom bcprov-jdk15on entry stays (still required); the now-redundant parent bcprov-jdk18on entry is harmless.

Verification

Ran the exact release check locally on this branch under the failing profile:

mvn -Dhbase.profile=2.6.0 -pl phoenix-core \
    dependency:3.1.1:analyze-only@enforce-dependencies
...
[INFO] --- dependency:3.1.1:analyze-only (enforce-dependencies) @ phoenix-core ---
[INFO] No dependency problems found
[INFO] BUILD SUCCESS

Also audited all modules: only phoenix-core both declares bcprov-jdk18on and overrides the ignore list. phoenix-core-client has no plugin <configuration> (inherits the parent list); phoenix-core-server uses <ignoreNonCompile>true</ignoreNonCompile>. Both are unaffected.

🤖 Generated with Claude Code

…to phoenix-core pom

The original fix added the ignore entries to the root pom's
maven-dependency-plugin config (under pluginManagement). However
phoenix-core/pom.xml re-declares the plugin under build/plugins with its
own non-empty <ignoredUnusedDeclaredDependencies> list, which overrides
(does not merge with) the parent's list. As a result the parent-level
bcprov-jdk18on entry never applied to phoenix-core, and the 2.6.0 profile
release still failed at analyze-only with:
  Unused declared: org.bouncycastle:bcprov-jdk18on:jar:1.79:test

The companion bcprov-jdk15on used-undeclared ignore kept working because
phoenix-core's <ignoredUsedUndeclaredDependencies/> is empty, so the
parent entry passed through.

Add the bcprov-jdk18on entry directly to phoenix-core's child list so the
ignore actually applies. Verified locally with
  mvn -Dhbase.profile=2.6.0 -pl phoenix-core \
      dependency:analyze-only@enforce-dependencies
-> No dependency problems found / BUILD SUCCESS.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@virajjasani virajjasani left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

+1

@lokiore lokiore merged commit 71eb4d7 into apache:5.3 Jun 29, 2026
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