[bisq-network/bisq] [WIP] Add official Java 15 support (PR #5836)

cd2357 notifications at github.com
Thu Nov 18 20:50:46 CET 2021


@cd2357 commented on this pull request.



> @@ -7,8 +7,8 @@ task jpackageSanityChecks {
     description 'Interactive sanity checks on the version of the code that will be packaged'
 
     doLast {
-        // Enforce JDK 11 for compiling and building
-        assert JavaVersion.current().isJava11(): "JDK 11 is required"
+        // Enforce JDK 15 for compiling and building
+        assert JavaVersion.current() == JavaVersion.VERSION_15: "JDK 15 is required"

It is indeed confusing.

>From a birds-eye view, there are three (actually now four) independent "Java versions" we're dealing with:

### 1. The (local) build JDK

  - This is the Java version used by devs to compile, develop and test the codebase locally
  - this can be anything from JDK 11 and up
  - Depends on what devs have installed locally, not explicitly checked or enforced anywhere (but code only compiles with v11 and up)
 
### 2. The (GitHub) build JDK

  - This is the Java version (matrix of versions) used to build on GH
  - It is defined in `build.yml` L15 of this PR to be v11, 11.0.3, v15, v15.0.5 (before this PR, it was only v11)
  - Goal is to see if the code compiles and tests run for these versions

### 3. The (release packaging) build JDK

  - This is the JDK available on the machine that creates the release binaries
  - It is used to compile and build the release Bisq jars
  - It's currently specifically defined to be JDK 11 https://github.com/bisq-network/bisq/blob/b5a43c7f950444f9182affaf853b873d111209b9/desktop/package/package.gradle#L11
(changed by this PR to v15)

### 4. The (release packaging) `jpackager` JDK

  - Defined at https://github.com/bisq-network/bisq/blob/b5a43c7f950444f9182affaf853b873d111209b9/desktop/package/package.gradle#L68
  - It is used exclusively to create the platform-specific release binaries (`jpackager` from earlier JDKs failed for various reasons)
  - This also determines the JRE included in the OS-specific installers and binaries (currently JRE 15)
  - It does not compile or build any jars, instead uses the jars previously compiled in step 3 above

---

As far as I understand, we've been using JDK 11 pretty much everywhere (except for `jpackager` and delivered JRE).

This PR, according to ripcurl's comment above, would extend the versions 1-3 above to support both JDK 11 (LTS) and JDK 15 (non-LTS).

I think this is also what ripcurl means with "as long as we don't support any other LTS java version" (next LTS is JDK 17, which AFAIK we don't support).

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/bisq-network/bisq/pull/5836#discussion_r752576728
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bisq.network/pipermail/bisq-github/attachments/20211118/78d6f5ae/attachment.htm>


More information about the bisq-github mailing list