Port the `multirelease` file from APT to Markdown with the following changes:
A significant change is that large parts of the explanation about JEP-238
("forward compatibility problem") have been removed for the following reasons:
* We assume that multi-releases is now known well enough.
* The explanation used an obsolete example (Maven running on Java 6).
* The section was showing how to NOT use multi-releases (using reflection),
which may be more a distraction than a help for the purpose of this page.
Removed most of the patterns for building a multi-releases project with Maven 3,
because many of them were referencing external web sites which are not available
anymore, or with content not obviously about multi-releases.
In particular, removed the following references:
* Reference to Animal Sniffer plugin, which is replaced by the `--release` option.
* Page http://word-bits.flurg.com/multrelease-jars/ is not available anymore (404).
* Page http://in.relation.to/2017/02/13/building-multi-release-jars-with-maven/ is blocked (security).
* Page http://www.russgold.net/sw/2018/04/easier-than-it-looks/ refers to above-cited blocked page.
Replaced "Maven module" by "Maven subproject" term for avoiding confusion with JPMS modules.
Removed the "all IDEs can only have one JDK per Maven Project, whereas with multi release you want to specify it per source folder."
This is not exactly true. We do not necessarily want different JDK, only different values for the `--release` option.
Added a section about multi-releases JAR projects with Maven 4.
You have found a bug or you have an idea for a cool new feature? Contributing code is a great way to give something back to the open source community. Before you dig right into the code, there are a few guidelines that we need contributors to follow so that we can have a chance of keeping on top of things.
Building requires Maven 4. Executing the tests on Windows requires the developer mode. This is enabled with Settings > Update & Security > For Developers.
We accept Pull Requests via GitHub. The developer mailing list is the main channel of communication for contributors. There are some guidelines which will make applying PRs easier for us:
git diff --check before committing.mvn -Prun-its verify to assure nothing else was accidentally broken.If you plan to contribute on a regular basis, please consider filing a contributor license agreement.