Skip to content

Commit

Permalink
Upgrade to Gradle 8.11 with Kotlin 2.0.20
Browse files Browse the repository at this point in the history
  • Loading branch information
wjglerum committed Nov 12, 2024
1 parent f8ee996 commit eb23b04
Show file tree
Hide file tree
Showing 13 changed files with 68 additions and 66 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
java: [11, 17]
java: [17, 21]

steps:
- uses: actions/checkout@v4
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ test/generate-build-solution/mps-prj/solutions/my.build/build.xml
workspace.xml
**/*_gen*/
.gradle
.kotlin/
2 changes: 1 addition & 1 deletion .java-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
11.0
17
10 changes: 7 additions & 3 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import de.itemis.mps.gradle.GitBasedVersioning
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

buildscript {
Expand Down Expand Up @@ -151,9 +153,11 @@ java {
}

tasks.withType<KotlinCompile> {
kotlinOptions.jvmTarget = "1.8"
kotlinOptions.apiVersion = kotlinApiVersion
kotlinOptions.allWarningsAsErrors = true
compilerOptions {
jvmTarget = JvmTarget.JVM_1_8
apiVersion = KotlinVersion.fromVersion(kotlinApiVersion)
allWarningsAsErrors = true
}
}

apiValidation {
Expand Down
54 changes: 25 additions & 29 deletions buildscript-gradle.lockfile
Original file line number Diff line number Diff line change
@@ -1,40 +1,36 @@
# This is a Gradle generated file for dependency locking.
# Manual edits can break the build and are not advised.
# This file is expected to be part of source control.
com.google.code.gson:gson:2.8.9=classpath
com.googlecode.java-diff-utils:diffutils:1.3.0=classpath
org.gradle.kotlin.kotlin-dsl:org.gradle.kotlin.kotlin-dsl.gradle.plugin:4.3.1=classpath
org.gradle.kotlin:gradle-kotlin-dsl-plugins:4.3.1=classpath
org.gradle.kotlin.kotlin-dsl:org.gradle.kotlin.kotlin-dsl.gradle.plugin:5.1.1=classpath
org.gradle.kotlin:gradle-kotlin-dsl-plugins:5.1.1=classpath
org.jetbrains.intellij.deps:trove4j:1.0.20200330=classpath
org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.7.10=classpath
org.jetbrains.kotlin:kotlin-android-extensions:1.9.22=classpath
org.jetbrains.kotlin:kotlin-assignment:1.9.22=classpath
org.jetbrains.kotlin:kotlin-build-tools-api:1.9.22=classpath
org.jetbrains.kotlin:kotlin-compiler-embeddable:1.9.22=classpath
org.jetbrains.kotlin:kotlin-compiler-runner:1.9.22=classpath
org.jetbrains.kotlin:kotlin-daemon-client:1.9.22=classpath
org.jetbrains.kotlin:kotlin-daemon-embeddable:1.9.22=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:1.9.22=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-api:1.9.22=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:1.9.22=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-idea:1.9.22=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-model:1.9.22=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.22=classpath
org.jetbrains.kotlin:kotlin-gradle-plugins-bom:1.9.22=classpath
org.jetbrains.kotlin:kotlin-klib-commonizer-api:1.9.22=classpath
org.jetbrains.kotlin:kotlin-native-utils:1.9.22=classpath
org.jetbrains.kotlin:kotlin-project-model:1.9.22=classpath
org.jetbrains.kotlin:kotlin-sam-with-receiver:1.9.22=classpath
org.jetbrains.kotlin:kotlin-scripting-common:1.9.22=classpath
org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.9.22=classpath
org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.9.22=classpath
org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.22=classpath
org.jetbrains.kotlin:kotlin-stdlib:1.9.22=classpath
org.jetbrains.kotlin:kotlin-tooling-core:1.9.22=classpath
org.jetbrains.kotlin:kotlin-util-io:1.9.22=classpath
org.jetbrains.kotlin:kotlin-util-klib:1.9.22=classpath
org.jetbrains.kotlin:kotlin-assignment:2.0.20=classpath
org.jetbrains.kotlin:kotlin-build-statistics:2.0.20=classpath
org.jetbrains.kotlin:kotlin-build-tools-api:2.0.20=classpath
org.jetbrains.kotlin:kotlin-compiler-embeddable:2.0.20=classpath
org.jetbrains.kotlin:kotlin-compiler-runner:2.0.20=classpath
org.jetbrains.kotlin:kotlin-daemon-client:2.0.20=classpath
org.jetbrains.kotlin:kotlin-daemon-embeddable:2.0.20=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-annotations:2.0.20=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-api:2.0.20=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-idea-proto:2.0.20=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-idea:2.0.20=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin-model:2.0.20=classpath
org.jetbrains.kotlin:kotlin-gradle-plugin:2.0.20=classpath
org.jetbrains.kotlin:kotlin-gradle-plugins-bom:2.0.20=classpath
org.jetbrains.kotlin:kotlin-klib-commonizer-api:2.0.20=classpath
org.jetbrains.kotlin:kotlin-native-utils:2.0.20=classpath
org.jetbrains.kotlin:kotlin-sam-with-receiver:2.0.20=classpath
org.jetbrains.kotlin:kotlin-stdlib:2.0.20=classpath
org.jetbrains.kotlin:kotlin-tooling-core:2.0.20=classpath
org.jetbrains.kotlin:kotlin-util-io:2.0.20=classpath
org.jetbrains.kotlin:kotlin-util-klib:2.0.20=classpath
org.jetbrains.kotlinx.binary-compatibility-validator:org.jetbrains.kotlinx.binary-compatibility-validator.gradle.plugin:0.13.2=classpath
org.jetbrains.kotlinx:binary-compatibility-validator:0.13.2=classpath
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.0=classpath
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4=classpath
org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.6.2=classpath
org.jetbrains:annotations:13.0=classpath
org.ow2.asm:asm-tree:9.2=classpath
Expand Down
37 changes: 19 additions & 18 deletions gradle.lockfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,27 @@ junit:junit:4.13.2=testCompileClasspath,testImplementationDependenciesMetadata,t
net.swiftzer.semver:semver:1.1.2=compileClasspath,implementationDependenciesMetadata,runtimeClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.hamcrest:hamcrest-core:1.3=testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.jetbrains.intellij.deps:trove4j:1.0.20200330=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
org.jetbrains.kotlin:kotlin-assignment-compiler-plugin-embeddable:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-build-common:1.9.22=kotlinBuildToolsApiClasspath
org.jetbrains.kotlin:kotlin-build-tools-api:1.9.22=kotlinBuildToolsApiClasspath
org.jetbrains.kotlin:kotlin-build-tools-impl:1.9.22=kotlinBuildToolsApiClasspath
org.jetbrains.kotlin:kotlin-compiler-embeddable:1.9.22=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
org.jetbrains.kotlin:kotlin-compiler-runner:1.9.22=kotlinBuildToolsApiClasspath
org.jetbrains.kotlin:kotlin-daemon-client:1.9.22=kotlinBuildToolsApiClasspath
org.jetbrains.kotlin:kotlin-daemon-embeddable:1.9.22=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:1.9.22=kotlinKlibCommonizerClasspath
org.jetbrains.kotlin:kotlin-assignment-compiler-plugin-embeddable:2.0.20=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-build-common:2.0.20=kotlinBuildToolsApiClasspath
org.jetbrains.kotlin:kotlin-build-tools-api:2.0.20=kotlinBuildToolsApiClasspath
org.jetbrains.kotlin:kotlin-build-tools-impl:2.0.20=kotlinBuildToolsApiClasspath
org.jetbrains.kotlin:kotlin-compiler-embeddable:2.0.20=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
org.jetbrains.kotlin:kotlin-compiler-runner:2.0.20=kotlinBuildToolsApiClasspath
org.jetbrains.kotlin:kotlin-daemon-client:2.0.20=kotlinBuildToolsApiClasspath
org.jetbrains.kotlin:kotlin-daemon-embeddable:2.0.20=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
org.jetbrains.kotlin:kotlin-klib-commonizer-embeddable:2.0.20=kotlinKlibCommonizerClasspath
org.jetbrains.kotlin:kotlin-native-prebuilt:2.0.20=kotlinNativeBundleConfiguration
org.jetbrains.kotlin:kotlin-reflect:1.6.10=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
org.jetbrains.kotlin:kotlin-reflect:1.9.22=compileClasspath,compileOnlyDependenciesMetadata,embeddedKotlin,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.jetbrains.kotlin:kotlin-sam-with-receiver-compiler-plugin-embeddable:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-script-runtime:1.9.22=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath
org.jetbrains.kotlin:kotlin-scripting-common:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-scripting-jvm:1.9.22=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-reflect:2.0.20=compileClasspath,compileOnlyDependenciesMetadata,embeddedKotlin,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.jetbrains.kotlin:kotlin-sam-with-receiver-compiler-plugin-embeddable:2.0.20=kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-script-runtime:2.0.20=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath
org.jetbrains.kotlin:kotlin-scripting-common:2.0.20=kotlinBuildToolsApiClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:2.0.20=kotlinBuildToolsApiClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-scripting-compiler-impl-embeddable:2.0.20=kotlinBuildToolsApiClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-scripting-jvm:2.0.20=kotlinBuildToolsApiClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest
org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10=implementationDependenciesMetadata,runtimeClasspath
org.jetbrains.kotlin:kotlin-stdlib:1.7.10=implementationDependenciesMetadata,runtimeClasspath
org.jetbrains.kotlin:kotlin-stdlib:1.9.22=compileClasspath,compileOnlyDependenciesMetadata,embeddedKotlin,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.0=kotlinBuildToolsApiClasspath
org.jetbrains.kotlin:kotlin-stdlib:2.0.20=compileClasspath,compileOnlyDependenciesMetadata,embeddedKotlin,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath,testCompileClasspath,testImplementationDependenciesMetadata,testRuntimeClasspath
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4=kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinKlibCommonizerClasspath
org.jetbrains:annotations:13.0=compileClasspath,embeddedKotlin,implementationDependenciesMetadata,kotlinBuildToolsApiClasspath,kotlinCompilerClasspath,kotlinCompilerPluginClasspathMain,kotlinCompilerPluginClasspathTest,kotlinKlibCommonizerClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
empty=annotationProcessor,apiDependenciesMetadata,intransitiveDependenciesMetadata,kotlinCompilerPluginClasspath,kotlinNativeCompilerPluginClasspath,kotlinScriptDef,kotlinScriptDefExtensions,mps,runtimeOnlyDependenciesMetadata,testAnnotationProcessor,testApiDependenciesMetadata,testCompileOnlyDependenciesMetadata,testIntransitiveDependenciesMetadata,testKotlinScriptDef,testKotlinScriptDefExtensions,testRuntimeOnlyDependenciesMetadata
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
3 changes: 2 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
distributionSha256Sum=57dafb5c2622c6cc08b993c85b7c06956a2f53536432a30ead46166dbca0f1e9
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
5 changes: 4 additions & 1 deletion gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#

##############################################################################
#
Expand Down Expand Up @@ -84,7 +86,8 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
Expand Down
2 changes: 2 additions & 0 deletions gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem

@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
Expand Down
5 changes: 1 addition & 4 deletions src/main/kotlin/de/itemis/mps/gradle/RunAntScript.kt
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package de.itemis.mps.gradle;

import org.gradle.api.Action
import org.gradle.api.DefaultTask
import org.gradle.api.Project
import org.gradle.api.file.FileCollection
Expand All @@ -9,9 +8,7 @@ import org.gradle.api.tasks.Input
import org.gradle.api.tasks.InputFiles
import org.gradle.api.tasks.Optional
import org.gradle.api.tasks.TaskAction
import org.gradle.process.JavaExecSpec
import java.io.File
import java.util.*

open class RunAntScript : DefaultTask() {
@Input
Expand Down Expand Up @@ -93,7 +90,7 @@ internal fun Project.runAnt(executable: Any?, workingDir: File, args: List<Strin
) {
val effectiveExecutable = executable ?: project.findProperty("itemis.mps.gradle.ant.defaultJavaExecutable")

project.javaexec {
providers.javaexec {
if (effectiveExecutable != null) {
executable(effectiveExecutable)
}
Expand Down
6 changes: 3 additions & 3 deletions src/main/kotlin/de/itemis/mps/gradle/downloadJBR/Plugin.kt
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,19 @@ open class DownloadJbrProjectPlugin : Plugin<Project> {
delete(extension.downloadDirProperty)
val downloadDir = mkdir(extension.downloadDirProperty)

exec {
providers.exec {
commandLine("tar", "-xzf", configuration.singleFile.absolutePath)
workingDir = downloadDir
}

if (downloadDir.listFiles { _, name -> name.startsWith("jbr_") || name.startsWith("jbr-") }!!.any()) {
exec {
providers.exec {
commandLine("sh", "-c", "mv jbr* jbr")
workingDir = downloadDir
}
}

exec {
providers.exec {
commandLine("chmod", "-R", "u+w", ".")
workingDir = downloadDir
}
Expand Down
7 changes: 2 additions & 5 deletions src/main/kotlin/de/itemis/mps/gradle/tasks/MpsMigrate.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,12 @@ package de.itemis.mps.gradle.tasks

import de.itemis.mps.gradle.TaskGroups
import de.itemis.mps.gradle.launcher.MpsVersionDetection
import de.itemis.mps.gradle.runAnt
import groovy.xml.MarkupBuilder
import org.gradle.api.DefaultTask
import org.gradle.api.file.ConfigurableFileCollection
import org.gradle.api.file.Directory
import org.gradle.api.file.DirectoryProperty
import org.gradle.api.file.RegularFileProperty
import org.gradle.api.logging.LogLevel
import org.gradle.api.model.ObjectFactory
import org.gradle.api.provider.ListProperty
import org.gradle.api.provider.MapProperty
Expand All @@ -21,14 +19,13 @@ import org.gradle.kotlin.dsl.listProperty
import org.gradle.kotlin.dsl.mapProperty
import org.gradle.kotlin.dsl.property
import org.gradle.kotlin.dsl.withGroovyBuilder
import org.gradle.platform.Architecture
import java.io.File
import javax.inject.Inject

@UntrackedTask(because = "Operates 'in place'")
abstract class MpsMigrate @Inject constructor(
objectFactory: ObjectFactory,
providerFactory: ProviderFactory
private var providerFactory: ProviderFactory
) : DefaultTask() {

@get:Internal
Expand Down Expand Up @@ -107,7 +104,7 @@ abstract class MpsMigrate @Inject constructor(
checkProjectLocation(dir)
}

project.javaexec {
providerFactory.javaexec {
mainClass.set("org.apache.tools.ant.launch.Launcher")
workingDir = temporaryDir
classpath = mpsAntClasspath
Expand Down

0 comments on commit eb23b04

Please sign in to comment.