JAL-4034 Allow request for non-modal JDialog, which puts the Runnable action into...
[jalview.git] / JAVA-11-README
index 805a4c1..028aa44 100644 (file)
@@ -1,3 +1,24 @@
+2019-07-01 (pre 2.11.0 release)
+Notes below are out of date, but might be useful for future development with Java 11
+
+Presently the Java 11 build of Jalview treats all libraries as libraries on the classpath, and does not use them as modules. The Java 11 JRE prepped for future release is a standard AdoptOpenJDK release (possibly repackaged for getdown/install4j to use).
+
+Future releases might incorporate Java 11 modules into a bespoke Java 11 JRE that can be updated over the air via getdown.This could reduce the size of the distribution but will absolutely need the bespoke JRE.  This would mean Jalview being restricted to platforms that we (can) support, or distributing the modules as libraries in a second distribution (the shadowJar distribution).
+
+build.gradle is written to support compilation of either Java 1.8 or Java 11 compatible bytecode.  Please note that the compilation (and therefore build) process REQUIRES a Java 11 (or above) JDK.  This is because there is Java 11 specific code in some Jalview classes (devolved into separate classes which fail "gracefully" when read by a Java 1.8 JRE).
+Java 11 is therefore the default build target, but can be changed simply by specifying the property JAVA_VERSION=1.8 (e.g.
+
+gradle compileJava -PJAVA_VERSION=1.8
+
+).  Some different versions of supporting libraries are used between Java 1.8 and 11 builds, and can be found in j8lib and j11lib folders respectively.  Note that there are a number of extra libraries used in the Java 11 distribution which are present in the Java 1.8 JRE but not distributed with the Java 11 JRE.
+
+Also see doc/building.md or doc/building.html
+
+
+
+
+Old notes:
+
 Java 11 module replacements
 
 As Java 11 no longer ships with Java EE libraries, which were standard in Java 8, and available (modularised, through the --add-modules CLI mechanism) in Java 9 and 10, third party replacement libraries for these libraries/modules have to be found.
@@ -91,4 +112,3 @@ jlink --module-path $JAVA_HOME/jmods:j11lib --compress=2 --add-modules `cat modu
 To create a Java 11 JRE in j11jre/openjdk11_platform (or whatever you wish to call it).
 You can point JAVA_HOME at the JDK11 of a different platform, so long as the jlink in your path is to the jlink for the platform you're running on.
 
-