Skip to content

Add a real JPMS module descriptor: com.github.zrdj.java.filesearch - #23

Merged
glaudeee merged 1 commit into
mainfrom
feature/module-descriptor
Oct 18, 2026
Merged

glaudeee merged 1 commit into
mainfrom
feature/module-descriptor

Conversation

@glaudeee

Copy link
Copy Markdown
Contributor

What

Adds src/main/java/module-info.java declaring module com.github.zrdj.java.filesearch, exporting all seven packages, with no requires. Version goes to 0.5.0.

Why

Without a descriptor or Automatic-Module-Name, JPMS derives the module name java.filesearch from the jar file name, which lands in the java.* namespace the JDK reserves. It only works while the consumer starts from the classpath. Same fix as ZrdJ/java-properties#18; triggered by tibbots/bots wanting to use the zrdj libraries from JPMS modules.

Decision: .docs/project/decisions/2026-10-18-real-module-descriptor-instead-of-automatic-name.md.

Check

./dev check: 27 tests green. module-info.class is in the 0.5.0 jar.

🤖 Generated with Claude Code

Without a module-info.class or an Automatic-Module-Name entry, consumers on
the module path get the automatic name derived from the jar file name,
"java.filesearch", which lies in the java.* namespace the JDK reserves for
platform modules. It works today only because classpath starts never
resolve the name.

Add module-info.java naming the module after its root package and exporting
all seven packages, since every one of them is reachable on the classpath
today. The library has no non-test dependencies, so there is no requires
clause. The compiler plugin picks up the descriptor without further build
configuration; bump the version to 0.5.0 in pom.xml and the README, and
record the decision.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@glaudeee
glaudeee requested a review from codejanovic as a code owner October 18, 2026 16:15
@glaudeee
glaudeee merged commit 393b530 into main Oct 18, 2026
5 checks 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