update to Gradle 9.2.0; always use Java 25 toolchain to generate javadoc
Some checks failed
CI / build (push) Has been cancelled
CI / release (push) Has been cancelled
Error Prone / error-prone (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

Notes:
- Gradle 9+ requires Java 17 to run
- using Java 21 on GitHub Actions
- not using Java 25 because Kotlin does not yet support it and output some warnings
This commit is contained in:
Karl Tauber
2025-10-31 23:52:08 +01:00
parent 10677d469f
commit 02f7cb8972
13 changed files with 36 additions and 27 deletions

View File

@@ -27,10 +27,10 @@ jobs:
- uses: gradle/actions/wrapper-validation@v4 - uses: gradle/actions/wrapper-validation@v4
- name: Setup Java 11 - name: Setup Java 21
uses: actions/setup-java@v4 uses: actions/setup-java@v4
with: with:
java-version: 11 java-version: 21
distribution: temurin # pre-installed on ubuntu-latest distribution: temurin # pre-installed on ubuntu-latest
cache: gradle cache: gradle
@@ -95,10 +95,10 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Setup Java 11 - name: Setup Java 21
uses: actions/setup-java@v4 uses: actions/setup-java@v4
with: with:
java-version: 11 java-version: 21
distribution: temurin # pre-installed on ubuntu-latest distribution: temurin # pre-installed on ubuntu-latest
cache: gradle cache: gradle

View File

@@ -26,10 +26,10 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Setup Java 11 - name: Setup Java 21
uses: actions/setup-java@v4 uses: actions/setup-java@v4
with: with:
java-version: 11 java-version: 21
distribution: temurin # pre-installed on ubuntu-latest distribution: temurin # pre-installed on ubuntu-latest
cache: gradle cache: gradle

View File

@@ -34,10 +34,10 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Setup Java 11 - name: Setup Java 21
uses: actions/setup-java@v4 uses: actions/setup-java@v4
with: with:
java-version: 11 java-version: 21
distribution: temurin # pre-installed on ubuntu-latest distribution: temurin # pre-installed on ubuntu-latest
cache: gradle cache: gradle

View File

@@ -58,10 +58,10 @@ jobs:
# if: matrix.os == 'ubuntu-latest' # if: matrix.os == 'ubuntu-latest'
# run: sudo apt-get install g++-aarch64-linux-gnu # run: sudo apt-get install g++-aarch64-linux-gnu
- name: Setup Java 11 - name: Setup Java 21
uses: actions/setup-java@v4 uses: actions/setup-java@v4
with: with:
java-version: 11 java-version: 21
distribution: temurin distribution: temurin
cache: gradle cache: gradle

View File

@@ -21,10 +21,10 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Setup Java 11 - name: Setup Java 21
uses: actions/setup-java@v4 uses: actions/setup-java@v4
with: with:
java-version: 11 java-version: 21
distribution: temurin # pre-installed on ubuntu-latest distribution: temurin # pre-installed on ubuntu-latest
cache: gradle cache: gradle

View File

@@ -80,6 +80,10 @@ allprojects {
} }
} }
withType<AbstractArchiveTask>().configureEach {
isPreserveFileTimestamps = true
}
withType<Javadoc>().configureEach { withType<Javadoc>().configureEach {
options { options {
this as StandardJavadocDocletOptions this as StandardJavadocDocletOptions
@@ -92,6 +96,12 @@ allprojects {
links( "https://docs.oracle.com/en/java/javase/11/docs/api/" ) links( "https://docs.oracle.com/en/java/javase/11/docs/api/" )
} }
isFailOnError = false 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 ) )
} )
} }
} }

View File

@@ -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 { open class PublishExtension {
var artifactId: String? = null var artifactId: String? = null
@@ -77,10 +77,10 @@ publishing {
afterEvaluate { afterEvaluate {
extension.nativeArtifacts?.forEach { extension.nativeArtifacts?.forEach {
artifact( artifacts.add( "archives", file( it.fileName ) ) { artifact( file( it.fileName ) ) {
classifier = it.classifier classifier = it.classifier
type = it.type extension = it.extension
} ) }
} }
} }
} }

View File

@@ -41,6 +41,9 @@ var javaHome = System.getProperty( "java.home" )
if( javaHome.endsWith( "jre" ) ) if( javaHome.endsWith( "jre" ) )
javaHome += "/.." javaHome += "/.."
interface InjectedExecOps { @get:Inject val execOps: ExecOperations }
val injected = project.objects.newInstance<InjectedExecOps>()
tasks { tasks {
register( "build-natives" ) { register( "build-natives" ) {
group = "build" 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 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 dll = linkedFile.asFile.get()
val dllDir = dll.parent val dllDir = dll.parent
exec { commandLine( dumpbin, "/all", "/rawdata:none", "/out:$dllDir/objdump.txt", dll ) } injected.execOps.exec { commandLine( dumpbin, "/all", "/rawdata:none", "/out:$dllDir/objdump.txt", dll ) }
exec { commandLine( dumpbin, "/all", "/out:$dllDir/full-contents.txt", dll ) } injected.execOps.exec { commandLine( dumpbin, "/all", "/out:$dllDir/full-contents.txt", dll ) }
exec { commandLine( dumpbin, "/disasm", "/out:$dllDir/disassemble.txt", dll ) } injected.execOps.exec { commandLine( dumpbin, "/disasm", "/out:$dllDir/disassemble.txt", dll ) }
dump*/ dump*/
} }
} }

Binary file not shown.

View File

@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists 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 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

5
gradlew vendored
View File

@@ -1,7 +1,7 @@
#!/bin/sh #!/bin/sh
# #
# Copyright © 2015-2021 the original authors. # Copyright © 2015 the original authors.
# #
# Licensed under the Apache License, Version 2.0 (the "License"); # Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License. # you may not use this file except in compliance with the License.
@@ -114,7 +114,6 @@ case "$( uname )" in #(
NONSTOP* ) nonstop=true ;; NONSTOP* ) nonstop=true ;;
esac esac
CLASSPATH="\\\"\\\""
# Determine the Java command to use to start the JVM. # 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 # For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" ) JAVACMD=$( cygpath --unix "$JAVACMD" )
@@ -212,7 +210,6 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
set -- \ set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \ "-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
-jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \
"$@" "$@"

3
gradlew.bat vendored
View File

@@ -70,11 +70,10 @@ goto fail
:execute :execute
@rem Setup the command line @rem Setup the command line
set CLASSPATH=
@rem Execute Gradle @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 :end
@rem End local scope for the variables with windows NT shell @rem End local scope for the variables with windows NT shell

View File

@@ -45,5 +45,5 @@ fun includeProject( projectPath: String, projectDir: String ) {
// for using newer Java version via toolchain // for using newer Java version via toolchain
plugins { plugins {
id( "org.gradle.toolchains.foojay-resolver-convention" ) version( "0.5.0" ) id( "org.gradle.toolchains.foojay-resolver-convention" ) version( "1.0.0" )
} }