office-gobmx/jvmfwk
Samuel Mehrbrodt 941b567a41 tdf#131572 Add java 9 module info for libreoffice.jar
Add a java module named "org.libreoffice.uno" for this jar.

This needs to be compiled with Java 9.
But since we want to keep b/c with Java 8,
the rest of the jar has to be compiled with Java 8.

This bumps the *build* requirement to Java 9 while keeping
the *runtime* requirement at Java 8.

The gbuild JavaClassSet class is changed to invoke javac twice,
where the 2nd invocation compiles with --release 9 and a --patch-modules
argument so that it finds the results of the first invocation and also
the javamaker generated files in CustomTargets.

Change-Id: I888f5dbe097cc37136e68db5919939877c981862
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91105
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2020-05-27 11:40:20 +02:00
..
distributions/OpenOfficeorg
inc
plugins/sunmajor
source
CustomTarget_jreproperties.mk
CustomTarget_jvmfwk_jvmfwk3_ini.mk
Executable_javaldx.mk
IwyuFilter_jvmfwk.yaml
Library_jvmfwk.mk
Makefile
Module_jvmfwk.mk
Package_jreproperties.mk
Package_jvmfwk_jvmfwk3_ini.mk
Package_rcfiles.mk
README

Wrappers so you can use all the Java Runtime Environments with their slightly incompatible APIs with more ease.

Used to use an over-engineered "plugin" mechanism although there was only one
"plugin", called "sunmajor", that handles all possible JREs.

IMPORTANT:  The <updated> element in vmfwk/distributions/OpenOfficeorg/javavendors_*.xml files
should only be updated for incompatible changes, not for compatible ones.  As stated in the commit
message of <https://gerrit.libreoffice.org/#/c/69730/> "javavendors_*.xml <updated> should not have
been updated...":  "Changing <updated> causes jfw_startVM and jfw_getSelectedJRE (both
jvmfwk/source/framework.cxx) to fail with JFW_E_INVALID_SETTINGS, which in turn causes functionality
that requires a JVM to issue a GUI error dialog stating that the user must select a new JRE in the
Options dialog.  While that behavior makes sense if a JRE was selected that would no longer be
supported by the modified javavendors_*.xml, it is just annoying if an already selected JRE is still
supported.  And a compatible change to javavendors_*.xml implies that an already selected JRE will
still be supported."