Hi Russell, interesting approach.

The difference between library developers and application developers becomes more and more clear and this concept might be useful for library builders. We should probably have a separate page for all the available solutions and menion the pro's and cons.

Just a few remarks: why are you using property enabled profiles instead of -Pmulti-release? Be aware that you can also create test-jars, which should NOT have the multi-release flag set in the MANIFEST.

It will mean that you should provide a new version every every half year, unless you already add all those versions right now ;)

What I'm missing is a clear explanation how unit testing works. IIUC you build the whole project with a specific JDK version and that's how the matching unittests are executed. So you should run the build X times, once for every multirelease version.

thanks,
Robert


On Tue, 03 Apr 2018 21:42:39 +0200, Russell Gold <[email protected]> wrote:

I have just developed a new and easier way for building MR Jars <https://github.com/meterware/multirelease-parent>, while waiting for the capability to be built into Maven.

This approach is not only simple to set up (just use the designated parent POM, if you can), it lets you unit test for any supported JDK. For example:

jdk7 && mvn -Dmulti_release clean test
jdk10 && mvn -Dmulti_release clean test

where jdk7 and jdk10 set the appropriate versions for maven to use. Either will run against the appropriate additional code.

To build an MR JAR you set a property on the command line

mvn -Dmulti_release clean install

which happens automatically when doing a release.

I have also explained how it works at Easier Than It Looks <http://www.russgold.net/sw/2018/04/easier-than-it-looks/>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to