Gradle:
Some checks failed
CI / build (11) (push) Has been cancelled
CI / build-on (17) (push) Has been cancelled
CI / build-on (21) (push) Has been cancelled
CI / build-on (25) (push) Has been cancelled
CI / build-on (8) (push) Has been cancelled
CI / snapshot (push) Has been cancelled
CI / release (push) Has been cancelled
Fonts / Fonts (inter) (push) Has been cancelled
Fonts / Fonts (jetbrains-mono) (push) Has been cancelled
Fonts / Fonts (roboto) (push) Has been cancelled
Fonts / Fonts (roboto-mono) (push) Has been cancelled
Native Libraries / Natives (macos-latest) (push) Has been cancelled
Native Libraries / Natives (ubuntu-24.04-arm) (push) Has been cancelled
Native Libraries / Natives (ubuntu-latest) (push) Has been cancelled
Native Libraries / Natives (windows-latest) (push) Has been cancelled

- always use Java toolchains
- default is Java 11 (but source/targetCompatibility is still 1.8)
- use system property `toolchain` (e.g. `-Dtoolchain=25`) to compile with other Java versions

preparation for Gradle 9.x, which requires Java 17+ to run
This commit is contained in:
Karl Tauber
2025-10-28 12:42:04 +01:00
parent 3ccaacfb00
commit 056da35758
13 changed files with 19 additions and 21 deletions

View File

@@ -36,6 +36,7 @@ jobs:
cache: gradle cache: gradle
- name: Check with Error Prone - name: Check with Error Prone
if: github.repository == 'JFormDesigner/FlatLaf'
run: ./gradlew errorprone clean run: ./gradlew errorprone clean
- name: Build with Gradle - name: Build with Gradle
@@ -67,23 +68,20 @@ jobs:
- 8 - 8
- 17 # LTS - 17 # LTS
- 21 # LTS - 21 # LTS
toolchain: [""] - 25 # LTS
include:
- java: 21
toolchain: 25 # LTS
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Setup Java ${{ matrix.java }} - name: Setup Java 11
uses: actions/setup-java@v4 uses: actions/setup-java@v4
with: with:
java-version: ${{ matrix.java }} java-version: 11
distribution: temurin # Java 8, 11, 17 and 21 are pre-installed on ubuntu-latest distribution: temurin # pre-installed on ubuntu-latest
cache: gradle cache: gradle
- name: Build with Gradle - name: Build with Gradle
run: ./gradlew build -Dtoolchain=${{ matrix.toolchain }} run: ./gradlew build -Dtoolchain=${{ matrix.java }}
snapshot: snapshot:

View File

@@ -43,9 +43,7 @@ println( "----------------------------------------------------------------------
println( "FlatLaf Version: ${version}" ) println( "FlatLaf Version: ${version}" )
println( "Gradle ${gradle.gradleVersion} at ${gradle.gradleHomeDir}" ) println( "Gradle ${gradle.gradleVersion} at ${gradle.gradleHomeDir}" )
println( "Java ${System.getProperty( "java.version" )}" ) println( "Java ${System.getProperty( "java.version" )}" )
val toolchainJavaVersion = System.getProperty( "toolchain" ) println( "Java toolchain ${System.getProperty( "toolchain", "11" )}" )
if( !toolchainJavaVersion.isNullOrEmpty() )
println( "Java toolchain ${toolchainJavaVersion}" )
println() println()

View File

@@ -18,7 +18,7 @@ plugins {
java java
} }
if( JavaVersion.current() >= JavaVersion.VERSION_1_9 ) { if( java.toolchain.languageVersion.get().asInt() >= 9 ) {
sourceSets { sourceSets {
create( "java9" ) { create( "java9" ) {
java { java {

View File

@@ -29,7 +29,7 @@ plugins {
java java
} }
if( JavaVersion.current() >= JavaVersion.VERSION_1_9 ) { if( java.toolchain.languageVersion.get().asInt() >= 9 ) {
sourceSets { sourceSets {
create( "module-info" ) { create( "module-info" ) {
java { java {

View File

@@ -18,9 +18,6 @@ plugins {
java java
} }
val toolchainJavaVersion = System.getProperty( "toolchain" ) java.toolchain {
if( !toolchainJavaVersion.isNullOrEmpty() ) { languageVersion = JavaLanguageVersion.of( System.getProperty( "toolchain", "11" ) )
java.toolchain {
languageVersion = JavaLanguageVersion.of( toolchainJavaVersion )
}
} }

View File

@@ -90,7 +90,7 @@ tasks {
useJUnitPlatform() useJUnitPlatform()
testLogging.exceptionFormat = org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL testLogging.exceptionFormat = org.gradle.api.tasks.testing.logging.TestExceptionFormat.FULL
if( JavaVersion.current() >= JavaVersion.VERSION_1_9 ) if( java.toolchain.languageVersion.get().asInt() >= 9 )
jvmArgs( listOf( "--add-opens", "java.desktop/javax.swing.plaf.basic=ALL-UNNAMED" ) ) jvmArgs( listOf( "--add-opens", "java.desktop/javax.swing.plaf.basic=ALL-UNNAMED" ) )
} }

View File

@@ -46,7 +46,7 @@ tasks {
manifest { manifest {
attributes( "Main-Class" to "com.formdev.flatlaf.demo.FlatLafDemo" ) attributes( "Main-Class" to "com.formdev.flatlaf.demo.FlatLafDemo" )
if( JavaVersion.current() >= JavaVersion.VERSION_1_9 ) if( java.toolchain.languageVersion.get().asInt() >= 9 )
attributes( "Multi-Release" to "true" ) attributes( "Multi-Release" to "true" )
// allow loading FlatLaf native library in Java 24+ (see https://openjdk.org/jeps/472) // allow loading FlatLaf native library in Java 24+ (see https://openjdk.org/jeps/472)

View File

@@ -26,6 +26,7 @@ if( !rootProject.hasProperty( "release" ) )
plugins { plugins {
`java-library` `java-library`
`flatlaf-toolchain`
`flatlaf-module-info` `flatlaf-module-info`
`flatlaf-publish` `flatlaf-publish`
} }

View File

@@ -26,6 +26,7 @@ if( !rootProject.hasProperty( "release" ) )
plugins { plugins {
`java-library` `java-library`
`flatlaf-toolchain`
`flatlaf-module-info` `flatlaf-module-info`
`flatlaf-publish` `flatlaf-publish`
} }

View File

@@ -26,6 +26,7 @@ if( !rootProject.hasProperty( "release" ) )
plugins { plugins {
`java-library` `java-library`
`flatlaf-toolchain`
`flatlaf-module-info` `flatlaf-module-info`
`flatlaf-publish` `flatlaf-publish`
} }

View File

@@ -26,6 +26,7 @@ if( !rootProject.hasProperty( "release" ) )
plugins { plugins {
`java-library` `java-library`
`flatlaf-toolchain`
`flatlaf-module-info` `flatlaf-module-info`
`flatlaf-publish` `flatlaf-publish`
} }

View File

@@ -16,6 +16,7 @@
plugins { plugins {
`java-library` `java-library`
`flatlaf-toolchain`
`flatlaf-module-info` `flatlaf-module-info`
} }

View File

@@ -44,7 +44,7 @@ tasks {
manifest { manifest {
attributes( "Main-Class" to "com.formdev.flatlaf.themeeditor.FlatLafThemeEditor" ) attributes( "Main-Class" to "com.formdev.flatlaf.themeeditor.FlatLafThemeEditor" )
if( JavaVersion.current() >= JavaVersion.VERSION_1_9 ) if( java.toolchain.languageVersion.get().asInt() >= 9 )
attributes( "Multi-Release" to "true" ) attributes( "Multi-Release" to "true" )
// allow loading FlatLaf native library in Java 24+ (see https://openjdk.org/jeps/472) // allow loading FlatLaf native library in Java 24+ (see https://openjdk.org/jeps/472)