diff --git a/build.gradle b/build.gradle index e5eb59f..404c171 100644 --- a/build.gradle +++ b/build.gradle @@ -7,7 +7,7 @@ subprojects { subproject -> java { toolchain { - languageVersion = JavaLanguageVersion.of(21) + languageVersion = JavaLanguageVersion.of(25) } } @@ -49,7 +49,7 @@ subprojects { subproject -> add("testImplementation", catalog.junit.jupiter.api) add("testImplementation", catalog.junit.jupiter.params) add("testRuntimeOnly", catalog.junit.jupiter.engine) -// add("testRuntimeOnly", catalog.junit.platform.launcher) + add("testRuntimeOnly", catalog.junit.platform.launcher) add("testImplementation", gradleTestKit()) } diff --git a/dependency-export/src/main/java/net/woggioni/gradle/dependency/export/ExportDependencies.java b/dependency-export/src/main/java/net/woggioni/gradle/dependency/export/ExportDependencies.java index c890cec..66d30ec 100644 --- a/dependency-export/src/main/java/net/woggioni/gradle/dependency/export/ExportDependencies.java +++ b/dependency-export/src/main/java/net/woggioni/gradle/dependency/export/ExportDependencies.java @@ -20,8 +20,10 @@ import org.gradle.api.file.FileCollection; import org.gradle.api.file.RegularFile; import org.gradle.api.file.RegularFileProperty; import org.gradle.api.model.ObjectFactory; +import org.gradle.api.plugins.BasePluginExtension; import org.gradle.api.plugins.JavaPlugin; -import org.gradle.api.plugins.JavaPluginConvention; +import org.gradle.api.plugins.JavaPluginExtension; +import org.gradle.api.plugins.ReportingBasePlugin; import org.gradle.api.provider.Property; import org.gradle.api.provider.Provider; import org.gradle.api.tasks.Classpath; @@ -74,8 +76,6 @@ public class ExportDependencies extends DefaultTask { @Getter(onMethod_ = { @Input }) private final Property showArtifacts; - private final JavaPluginConvention javaPluginConvention; - @InputFiles @Classpath public Provider getConfigurationFiles() { @@ -101,11 +101,10 @@ public class ExportDependencies extends DefaultTask { @Inject public ExportDependencies(ObjectFactory objects) { setGroup(DEPENDENCY_EXPORT_GROUP); - javaPluginConvention = getProject().getConvention().getPlugin(JavaPluginConvention.class); configurationName = objects.property(String.class).convention(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME); - Provider defaultOutputFileProvider = - getProject().provider(() -> new File(javaPluginConvention.getDocsDir(), "dependencies.dot")); - outputFile = objects.fileProperty().convention(getProject().getLayout().file(defaultOutputFileProvider)); + final JavaPluginExtension javaPluginExtension = getProject().getExtensions().findByType(JavaPluginExtension.class); + final Provider defaultOutputFileProvider = javaPluginExtension.getDocsDir().file("dependencies.dot"); + outputFile = objects.fileProperty().convention(defaultOutputFileProvider); showArtifacts = objects.property(Boolean.class).convention(false); } diff --git a/dependency-export/src/main/java/net/woggioni/gradle/dependency/export/RenderDependencies.java b/dependency-export/src/main/java/net/woggioni/gradle/dependency/export/RenderDependencies.java index 12e4122..4fda028 100644 --- a/dependency-export/src/main/java/net/woggioni/gradle/dependency/export/RenderDependencies.java +++ b/dependency-export/src/main/java/net/woggioni/gradle/dependency/export/RenderDependencies.java @@ -7,7 +7,7 @@ import org.gradle.api.GradleException; import org.gradle.api.file.RegularFile; import org.gradle.api.file.RegularFileProperty; import org.gradle.api.model.ObjectFactory; -import org.gradle.api.plugins.JavaPluginConvention; +import org.gradle.api.plugins.JavaPluginExtension; import org.gradle.api.provider.Property; import org.gradle.api.provider.Provider; import org.gradle.api.tasks.CacheableTask; @@ -59,8 +59,6 @@ public class RenderDependencies extends DefaultTask { return outputFile.map(RegularFile::getAsFile); } - private final JavaPluginConvention javaPluginConvention; - @Option(option = "output", description = "Set the output file name") public void setOutputCli(String outputFile) { Provider fileProvider = getProject().provider(() -> new File(outputFile)); @@ -81,12 +79,11 @@ public class RenderDependencies extends DefaultTask { public RenderDependencies(ObjectFactory objects) { setGroup(DEPENDENCY_EXPORT_GROUP); sourceFile = objects.property(File.class); - javaPluginConvention = getProject().getConvention().getPlugin(JavaPluginConvention.class); format = objects.property(String.class).convention("xlib"); graphvizExecutable = objects.property(String.class).convention("dot"); - Provider defaultOutputFileProvider = - getProject().provider(() -> new File(javaPluginConvention.getDocsDir(), "renderedDependencies")); - outputFile = objects.fileProperty().convention(getProject().getLayout().file(defaultOutputFileProvider) + final JavaPluginExtension javaPluginExtension = getProject().getExtensions().findByType(JavaPluginExtension.class); + final Provider defaultOutputFileProvider = javaPluginExtension.getDocsDir().file("renderedDependencies"); + outputFile = objects.fileProperty().convention(defaultOutputFileProvider .zip(format, (file, type) -> Objects.equals("xlib", type) ? null : file)); getOutputs().upToDateWhen(t -> outputFile.isPresent()); } diff --git a/dependency-export/src/test/resources/net/woggioni/gradle/dependency/export/build.gradle.kts b/dependency-export/src/test/resources/net/woggioni/gradle/dependency/export/build.gradle.kts index c516eab..d1f9b48 100644 --- a/dependency-export/src/test/resources/net/woggioni/gradle/dependency/export/build.gradle.kts +++ b/dependency-export/src/test/resources/net/woggioni/gradle/dependency/export/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } repositories { - jcenter() + mavenCentral() mavenLocal() } diff --git a/finalguard/finalguard-javac-plugin/build.gradle b/finalguard/finalguard-javac-plugin/build.gradle index 8b0c9b4..988dbc8 100644 --- a/finalguard/finalguard-javac-plugin/build.gradle +++ b/finalguard/finalguard-javac-plugin/build.gradle @@ -6,7 +6,7 @@ group = "net.woggioni.finalguard" java { toolchain { - languageVersion = JavaLanguageVersion.of(21) + languageVersion = JavaLanguageVersion.of(25) } } @@ -20,6 +20,19 @@ tasks.named(org.gradle.api.plugins.JavaPlugin.COMPILE_JAVA_TASK_NAME, JavaCompil options.compilerArgs << '-parameters' } +configurations { + testCompileClasspath { + attributes { + attribute(org.gradle.api.attributes.java.TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, 25) + } + } + testRuntimeClasspath { + attributes { + attribute(org.gradle.api.attributes.java.TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, 25) + } + } +} + test { def testCompilationClassPath = sourceSets["main"].output.classesDirs.files + sourceSets["main"].runtimeClasspath.files + diff --git a/gradle.properties b/gradle.properties index a9c1aad..ef9de28 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ -lys.catalog.version=2025.11.18 -version.myGradlePlugins=2025.11.29 -version.gradle=8.12 +lys.catalog.version=2025.12.27 +version.myGradlePlugins=2026.02.17 +version.gradle=9.3.1 gitea.maven.url = https://gitea.woggioni.net/api/packages/woggioni/maven diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index a4b76b9..61285a6 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 e0fd020..5f38436 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.12-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-all.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index f3b75f3..adff685 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=$APP_HOME/gradle/wrapper/gradle-wrapper.jar # 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" ) @@ -205,15 +203,14 @@ fi DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' # Collect all arguments for the java command: -# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments, # and any embedded shellness will be escaped. # * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be # treated as '${Hostname}' itself on the command line. set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ - org.gradle.wrapper.GradleWrapperMain \ + -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" # Stop when "xargs" is not available. diff --git a/gradlew.bat b/gradlew.bat index 9d21a21..c4bdd3a 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -70,11 +70,10 @@ goto fail :execute @rem Setup the command line -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* +"%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/multi-release-jar/src/main/java/net/woggioni/gradle/multi/release/jar/MultiReleaseJarPlugin.java b/multi-release-jar/src/main/java/net/woggioni/gradle/multi/release/jar/MultiReleaseJarPlugin.java index 82b59f9..ec8393a 100644 --- a/multi-release-jar/src/main/java/net/woggioni/gradle/multi/release/jar/MultiReleaseJarPlugin.java +++ b/multi-release-jar/src/main/java/net/woggioni/gradle/multi/release/jar/MultiReleaseJarPlugin.java @@ -10,7 +10,6 @@ import org.gradle.api.attributes.LibraryElements; import org.gradle.api.attributes.java.TargetJvmVersion; import org.gradle.api.file.FileCollection; import org.gradle.api.file.SourceDirectorySet; -import org.gradle.api.internal.plugins.DslObject; import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.plugins.JavaPluginExtension; import org.gradle.api.provider.MapProperty; @@ -167,7 +166,6 @@ public class MultiReleaseJarPlugin implements Plugin { "classes/" + mainSourceSet.getName() + "/" + sourceDirectorySet.getName()) ); sourcePaths.add(sourceDirectorySet.getSourceDirectories()); - new DslObject(mainSourceSet).getConvention().getPlugins().put(sourceDirectorySet.getName(), sourceDirectorySet); mainSourceSet.getExtensions().add(SourceDirectorySet.class, sourceDirectorySet.getName(), sourceDirectorySet); TaskProvider compileTask = project.getTasks().register(JavaPlugin.COMPILE_JAVA_TASK_NAME + javaVersion.getMajorVersion(), JavaCompile.class, diff --git a/settings.gradle b/settings.gradle index 6402403..9423271 100644 --- a/settings.gradle +++ b/settings.gradle @@ -10,7 +10,6 @@ dependencyResolutionManagement { versionCatalogs { catalog { from group: 'com.lys', name: 'lys-catalog', version: getProperty('lys.catalog.version') - version('junit.jupiter', '5.9.3') } } }