The java-spiffe modules contain split packages which break the Java Modules (JPMS)
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 46
- Forks
- 28
- PR merge metrics
- No merged PRs in 30d
Description
The Java Platform Module System (JPMS) introduced in Java 9 does not allow for split-packages. That is the same package in multiple JARs.
As a matter of fact java-spiffe has some split packages though, this breaks libraries that want to write modules depending on java-spiffe.
At least one of the offending packages leads to a compilation error: the unnamed module reads package io.spiffe.workloadapi.internal from both grpc.netty.macos.aarch64 and java.spiffe.core
Ideally the split package is removed by e.g. moving io.spiffe.workloadapi.internal in grpc.netty.macos.aarch64 to io.spiffe.workloadapi.grpc.netty.macosa.arch64.internal or similar.
Even better would be to define a proper java module for java-spiffe e.g. write a module-info.java file. This would also prevent future introduction of split packages.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Inspect the grpc.netty.macos.aarch64 and java.spiffe.core modules, focusing on the shared io.spiffe.workloadapi.internal package and the proposed module-info.java. Reproduce the JPMS compilation error for a dependent module, then verify that the chosen package or module structure no longer creates split packages and compiles successfully.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100