Skip to content

[3.0] btrace-dtrace shadowJar ships an empty jar (stale org/openjdk include filter) #892

Description

@jbachorik

Summary

The btrace-dtrace shadowJar include filter still matches the pre-migration org/openjdk/btrace/dtrace/** path, but the classes are now io.btrace.dtrace.*. The filter matches nothing, so the shaded jar contains zero of its own classes. The build stays green, and the empty jar ships.

Surfaced during the pre-release compiler/boot/dtrace review.

Ground truth (verified)

btrace-dtrace/build.gradle:59include 'org/openjdk/btrace/dtrace/**/*'; actual package is io/btrace/dtrace/.

Masked because nothing currently consumes the dtrace jar: there is no project(':btrace-dtrace') dependency anywhere, and the distribution copies only the Solaris .so. The Java side is effectively orphaned.

Fix

  • Update the include filter to io/btrace/dtrace/**/*, and/or
  • Decide whether btrace-dtrace's Java side is still in scope for 3.0 at all. If it is dead code, remove it (and the empty jar) rather than shipping it; if it is intended to ship, wire a real consumer and add a smoke check that the jar is non-empty.

Note: the dtrace build also references the removed javah tool and compiles a mock API into main — worth resolving as part of the same decision.

Severity: MAJOR (ships a broken/empty artifact) but low blast radius (orphaned). Owner: build team.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions