Support JPMS
- Dominant language
- Kotlin
- Stars
- 100
- Forks
- 6
- PR merge metrics
- No merged PRs in 30d
Description
Just taking a quick look at this repository, it seems like
- there is no support for JPMS at all
- the project builds with Java 8, disallowing an explicit `module-info`
This can be solved by either:
- providing an `Automatic-Module-Name` in the manifest (easy 'quick fix', and good if we cannot maintain a module-info if new changes break it)
- utilizing a multi-release JAR to fully support JPMS and integrate fully
- providing a source directory containing a `module-info.java` to maintain, e.g. at `src/main/java9`
- configuring build with multi release with Gradle
- utilizing [Moditect](https://github.com/moditect/moditect) (likely unnecessary in this case)
Contributor guide
Research direction
Start by inspecting the Gradle build and the JAR manifest, then compare the proposed Automatic-Module-Name, src/main/java9/module-info.java, and Moditect approaches. Check how Java 8 compatibility is currently enforced. Done means the project has an agreed JPMS support strategy that preserves the required Java 8 build compatibility.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, kotlin
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100