checkstyle / checkstyle/checkstyle

Java 9 Multi-release JARs

Open
#5,367 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
9.6k
Forks
4.2k
Avg merge
22h 23m
Merged PRs (30d)
232

Description

https://www.javaworld.com/article/3184029/java-language/java-9s-other-new-enhancements-part-4-multi-release-jar-files.html

https://blog.jetbrains.com/idea/2017/10/creating-multi-release-jar-files-in-intellij-idea/

> a library developer can release a single JAR file that:
> If you’re running it on Java 9, uses Java 9 features and functionality
> If you’re running it on a version before Java 9, you get the pre-Java-9 implementation

When we become Java 9 compliant, we should look into using multi-release JARs.
Duplicating the same code between 2 different Java languages in the future can not only allow users to downgrade our utility without problems until they are ready to commit to the new version, it will also allow us to run our Java checks on old and new Java languages at the same time.

Most likely any duplicated code would have to be moved to utility classes.

This must wait on https://github.com/checkstyle/checkstyle/issues/5102 being completed first.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.