diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 797cf4e5..391e612a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,10 +27,10 @@ jobs: - uses: gradle/actions/wrapper-validation@v4 - - name: Setup Java 11 + - name: Setup Java 21 uses: actions/setup-java@v4 with: - java-version: 11 + java-version: 21 distribution: temurin # pre-installed on ubuntu-latest cache: gradle @@ -95,10 +95,10 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Setup Java 11 + - name: Setup Java 21 uses: actions/setup-java@v4 with: - java-version: 11 + java-version: 21 distribution: temurin # pre-installed on ubuntu-latest cache: gradle diff --git a/.github/workflows/error-prone.yml b/.github/workflows/error-prone.yml index e248a849..d2ef3b9a 100644 --- a/.github/workflows/error-prone.yml +++ b/.github/workflows/error-prone.yml @@ -26,10 +26,10 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Setup Java 11 + - name: Setup Java 21 uses: actions/setup-java@v4 with: - java-version: 11 + java-version: 21 distribution: temurin # pre-installed on ubuntu-latest cache: gradle diff --git a/.github/workflows/fonts.yml b/.github/workflows/fonts.yml index 9654f503..b6167524 100644 --- a/.github/workflows/fonts.yml +++ b/.github/workflows/fonts.yml @@ -34,10 +34,10 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Setup Java 11 + - name: Setup Java 21 uses: actions/setup-java@v4 with: - java-version: 11 + java-version: 21 distribution: temurin # pre-installed on ubuntu-latest cache: gradle diff --git a/.github/workflows/natives.yml b/.github/workflows/natives.yml index 3817c17f..df8175cd 100644 --- a/.github/workflows/natives.yml +++ b/.github/workflows/natives.yml @@ -58,10 +58,10 @@ jobs: # if: matrix.os == 'ubuntu-latest' # run: sudo apt-get install g++-aarch64-linux-gnu - - name: Setup Java 11 + - name: Setup Java 21 uses: actions/setup-java@v4 with: - java-version: 11 + java-version: 21 distribution: temurin cache: gradle diff --git a/.github/workflows/pr-snapshots.yml b/.github/workflows/pr-snapshots.yml index 207bae20..a44445a0 100644 --- a/.github/workflows/pr-snapshots.yml +++ b/.github/workflows/pr-snapshots.yml @@ -21,10 +21,10 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Setup Java 11 + - name: Setup Java 21 uses: actions/setup-java@v4 with: - java-version: 11 + java-version: 21 distribution: temurin # pre-installed on ubuntu-latest cache: gradle diff --git a/build.gradle.kts b/build.gradle.kts index 6b745cf7..8617cecd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -80,6 +80,10 @@ allprojects { } } + withType().configureEach { + isPreserveFileTimestamps = true + } + withType().configureEach { options { this as StandardJavadocDocletOptions @@ -92,6 +96,12 @@ allprojects { links( "https://docs.oracle.com/en/java/javase/11/docs/api/" ) } isFailOnError = false + + // use Java 25 to generate javadoc + val javaToolchains = (project as ExtensionAware).extensions.getByName("javaToolchains") as JavaToolchainService + javadocTool.set( javaToolchains.javadocToolFor { + languageVersion.set( JavaLanguageVersion.of( 25 ) ) + } ) } } diff --git a/buildSrc/src/main/kotlin/flatlaf-publish.gradle.kts b/buildSrc/src/main/kotlin/flatlaf-publish.gradle.kts index 0a547c20..9960b0df 100644 --- a/buildSrc/src/main/kotlin/flatlaf-publish.gradle.kts +++ b/buildSrc/src/main/kotlin/flatlaf-publish.gradle.kts @@ -15,7 +15,7 @@ */ -open class NativeArtifact( val fileName: String, val classifier: String, val type: String ) {} +open class NativeArtifact( val fileName: String, val classifier: String, val extension: String ) {} open class PublishExtension { var artifactId: String? = null @@ -77,10 +77,10 @@ publishing { afterEvaluate { extension.nativeArtifacts?.forEach { - artifact( artifacts.add( "archives", file( it.fileName ) ) { + artifact( file( it.fileName ) ) { classifier = it.classifier - type = it.type - } ) + extension = it.extension + } } } } diff --git a/flatlaf-natives/flatlaf-natives-windows/build.gradle.kts b/flatlaf-natives/flatlaf-natives-windows/build.gradle.kts index 3892d870..ed398496 100644 --- a/flatlaf-natives/flatlaf-natives-windows/build.gradle.kts +++ b/flatlaf-natives/flatlaf-natives-windows/build.gradle.kts @@ -41,6 +41,9 @@ var javaHome = System.getProperty( "java.home" ) if( javaHome.endsWith( "jre" ) ) javaHome += "/.." +interface InjectedExecOps { @get:Inject val execOps: ExecOperations } +val injected = project.objects.newInstance() + tasks { register( "build-natives" ) { group = "build" @@ -98,9 +101,9 @@ tasks { val dumpbin = "C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.42.34433/bin/Hostx64/x64/dumpbin.exe" val dll = linkedFile.asFile.get() val dllDir = dll.parent - exec { commandLine( dumpbin, "/all", "/rawdata:none", "/out:$dllDir/objdump.txt", dll ) } - exec { commandLine( dumpbin, "/all", "/out:$dllDir/full-contents.txt", dll ) } - exec { commandLine( dumpbin, "/disasm", "/out:$dllDir/disassemble.txt", dll ) } + injected.execOps.exec { commandLine( dumpbin, "/all", "/rawdata:none", "/out:$dllDir/objdump.txt", dll ) } + injected.execOps.exec { commandLine( dumpbin, "/all", "/out:$dllDir/full-contents.txt", dll ) } + injected.execOps.exec { commandLine( dumpbin, "/disasm", "/out:$dllDir/disassemble.txt", dll ) } dump*/ } } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 1b33c55b..f8e1ee31 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 002b867c..bad7c246 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 23d15a93..adff685a 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright © 2015-2021 the original authors. +# Copyright © 2015 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -114,7 +114,6 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -172,7 +171,6 @@ fi # For Cygwin or MSYS, switch paths to Windows format before running java if "$cygwin" || "$msys" ; then APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) JAVACMD=$( cygpath --unix "$JAVACMD" ) @@ -212,7 +210,6 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" diff --git a/gradlew.bat b/gradlew.bat index db3a6ac2..c4bdd3ab 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -70,11 +70,10 @@ goto fail :execute @rem Setup the command line -set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/settings.gradle.kts b/settings.gradle.kts index 23d937fa..9b52d948 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -45,5 +45,5 @@ fun includeProject( projectPath: String, projectDir: String ) { // for using newer Java version via toolchain plugins { - id( "org.gradle.toolchains.foojay-resolver-convention" ) version( "0.5.0" ) + id( "org.gradle.toolchains.foojay-resolver-convention" ) version( "1.0.0" ) }