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

View File

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

View File

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

View File

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

View File

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

View File

@@ -90,7 +90,7 @@ tasks {
useJUnitPlatform()
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" ) )
}

View File

@@ -46,7 +46,7 @@ tasks {
manifest {
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" )
// 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 {
`java-library`
`flatlaf-toolchain`
`flatlaf-module-info`
`flatlaf-publish`
}

View File

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

View File

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

View File

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

View File

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

View File

@@ -44,7 +44,7 @@ tasks {
manifest {
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" )
// allow loading FlatLaf native library in Java 24+ (see https://openjdk.org/jeps/472)