Make Kotlin compatible with Gradle 9.0 EAP
diff --git a/analysis/analysis-api-fir/build.gradle.kts b/analysis/analysis-api-fir/build.gradle.kts
index a7050dc..9bd73a1 100644
--- a/analysis/analysis-api-fir/build.gradle.kts
+++ b/analysis/analysis-api-fir/build.gradle.kts
@@ -110,7 +110,7 @@
workingDir = rootDir
classpath = generatorClasspath
mainClass.set("org.jetbrains.kotlin.analysis.api.fir.generator.MainKt")
- systemProperties["line.separator"] = "\n"
+ systemProperty("line.separator", "\n")
}
val compileKotlin by tasks
diff --git a/build.gradle.kts b/build.gradle.kts
index 8565709..6247c7b 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -752,7 +752,7 @@
}
register<Delete>("cleanupArtifacts") {
- delete = setOf(artifactsDir)
+ targetFiles.setFrom(artifactsDir)
}
fun aggregateLibsTask(name: String, projectTask: String, projects: List<String>) =
@@ -1070,7 +1070,7 @@
register<Exec>("mvnInstall") {
group = "publishing"
workingDir = rootProject.projectDir.resolve("libraries")
- commandLine = getMvnwCmd() + listOf("clean", "install", "-DskipTests")
+ commandLine(getMvnwCmd() + listOf("clean", "install", "-DskipTests"))
doFirst {
environment("JDK_1_8", getToolchainJdkHomeFor(JdkMajorVersion.JDK_1_8).get())
}
@@ -1078,11 +1078,13 @@
register<Exec>("mvnPublish") {
group = "publishing"
workingDir = rootProject.projectDir.resolve("libraries")
- commandLine = getMvnwCmd() + listOf(
- "clean", "deploy", "--activate-profiles=noTest",
- "-Dinvoker.skip=true", "-DskipTests",
- "-Ddeploy-snapshot-repo=local",
- "-Ddeploy-snapshot-url=file://${rootProject.projectDir.resolve("build/repo")}"
+ commandLine(
+ getMvnwCmd() + listOf(
+ "clean", "deploy", "--activate-profiles=noTest",
+ "-Dinvoker.skip=true", "-DskipTests",
+ "-Ddeploy-snapshot-repo=local",
+ "-Ddeploy-snapshot-url=file://${rootProject.projectDir.resolve("build/repo")}"
+ )
)
doFirst {
environment("JDK_1_8", getToolchainJdkHomeFor(JdkMajorVersion.JDK_1_8).get())
@@ -1098,7 +1100,7 @@
}
group = "publishing"
workingDir = rootProject.projectDir.resolve("libraries")
- commandLine = getMvnwCmd() + listOf("clean", "install", "-DskipTests", "-DexcludeTestModules=true")
+ commandLine(getMvnwCmd() + listOf("clean", "install", "-DskipTests", "-DexcludeTestModules=true"))
val jdk8Home = getToolchainJdkHomeFor(JdkMajorVersion.JDK_1_8)
doFirst {
environment("JDK_1_8", jdk8Home.get())
diff --git a/gradle.properties b/gradle.properties
index 5bedac2..5652db1 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -64,6 +64,7 @@
# TODO: add this flag in a granular way to the modules that don't need stdlib?
kotlin.stdlib.default.dependency=false
kotlin.js.stdlib.dom.api.included=false
+org.gradle.dependency.verification=off
# Suppress warnings about using deprecated and unstable plugins in kotlin-stdlib
kotlin.internal.mpp12x.deprecation.suppress=true
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index eb1a55b..e34111e 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionSha256Sum=f397b287023acdba1e9f6fc5ea72d22dd63669d59ed4a289a29b1a76eee151c6
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
+#distributionSha256Sum=f397b287023acdba1e9f6fc5ea72d22dd63669d59ed4a289a29b1a76eee151c6
+distributionUrl=https\://services.gradle.org/distributions-snapshots/gradle-9.0-branch-asodja_upgrade_java_exec_spec-20250120174019+0000-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/libraries/kotlin.test/build.gradle.kts b/libraries/kotlin.test/build.gradle.kts
index 3e6662c..3505389 100644
--- a/libraries/kotlin.test/build.gradle.kts
+++ b/libraries/kotlin.test/build.gradle.kts
@@ -304,11 +304,13 @@
register("jvm${framework}${if (excludeAsserterContributor) "NoAsserter" else ""}Test", Test::class) {
group = "verification"
val testCompilation = kotlin.jvm().compilations["${framework}Test"]
- classpath = testCompilation.runtimeDependencyFiles + testCompilation.output.allOutputs
+ val classpathX = testCompilation.runtimeDependencyFiles + testCompilation.output.allOutputs
if (excludeAsserterContributor) {
val mainCompilation = kotlin.jvm().compilations["$framework"]
- classpath -= mainCompilation.output.allOutputs
+ classpath = classpathX - mainCompilation.output.allOutputs
filter.excludePatterns += "*ContributorTest"
+ } else {
+ classpath = classpathX
}
testClassesDirs = testCompilation.output.classesDirs
when (framework) {
@@ -573,11 +575,17 @@
tasks.withType<GenerateModuleMetadata> {
val publication = publication.get() as MavenPublication
// alter capabilities of leaf JVM framework artifacts published by "available-at" coordinates
- if (jvmTestFrameworks.map { it.lowercase() }.any { publication.artifactId.endsWith(it) }) {
+ if (jvmTestFrameworks.map { it.lowercase() }.any { publication.artifactId.get().endsWith(it) }) {
fun capability(group: String, name: String, version: String) =
mapOf("group" to group, "name" to name, "version" to version)
- val defaultCapability = publication.let { capability(it.groupId, it.artifactId, it.version) }
+ val defaultCapability = publication.let {
+ capability(
+ it.groupId.get(),
+ it.artifactId.get(),
+ it.version.get()
+ )
+ }
val implCapability = implCapability.split(":").let { (g, n, v) -> capability(g, n, v) }
val capabilities = listOf(defaultCapability, implCapability)
diff --git a/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts b/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts
index 06007e6..65b09f3 100644
--- a/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts
+++ b/libraries/tools/kotlin-gradle-plugin-integration-tests/build.gradle.kts
@@ -427,7 +427,7 @@
tasks.withType<Test>().configureEach {
// Disable KONAN_DATA_DIR env variable for all integration tests
// because we are using `konan.data.dir` gradle property instead
- environment.remove("KONAN_DATA_DIR")
+ environment = environment.get().filterKeys { it != "KONAN_DATA_DIR" }
val noTestProperty = project.providers.gradleProperty("noTest")
onlyIf { !noTestProperty.isPresent }
diff --git a/libraries/tools/kotlin-privacy-manifests-plugin/build.gradle.kts b/libraries/tools/kotlin-privacy-manifests-plugin/build.gradle.kts
index cf0d1e0..1a422a4 100644
--- a/libraries/tools/kotlin-privacy-manifests-plugin/build.gradle.kts
+++ b/libraries/tools/kotlin-privacy-manifests-plugin/build.gradle.kts
@@ -31,7 +31,7 @@
configurations[functionalTest.implementationConfigurationName].extendsFrom(configurations.testImplementation.get())
val cleanFunctionalTest = tasks.register<Delete>("cleanFunctionalTest") {
- setDelete(layout.buildDirectory.dir("functionalTest"))
+ targetFiles.from(layout.buildDirectory.dir("functionalTest"))
}
tasks.register<Test>("functionalTest") {
diff --git a/native/objcexport-header-generator/build.gradle.kts b/native/objcexport-header-generator/build.gradle.kts
index d56156e..e67e26d 100644
--- a/native/objcexport-header-generator/build.gradle.kts
+++ b/native/objcexport-header-generator/build.gradle.kts
@@ -47,11 +47,11 @@
}
objCExportHeaderGeneratorTest("testK1", testDisplayNameTag = "K1") {
- classpath += k1TestRuntimeClasspath
+ classpath.from(k1TestRuntimeClasspath)
}
objCExportHeaderGeneratorTest("testAnalysisApi", testDisplayNameTag = "AA") {
- classpath += analysisApiRuntimeClasspath
+ classpath.from(analysisApiRuntimeClasspath)
}
tasks.check.configure {
diff --git a/plugins/allopen/allopen.embeddable/build.gradle.kts b/plugins/allopen/allopen.embeddable/build.gradle.kts
index 7349446..31e0807 100644
--- a/plugins/allopen/allopen.embeddable/build.gradle.kts
+++ b/plugins/allopen/allopen.embeddable/build.gradle.kts
@@ -7,7 +7,7 @@
}
publish {
- artifactId = artifactId.replace(".", "-")
+ artifactId = artifactId.get().replace(".", "-")
}
runtimeJar(rewriteDefaultJarDepsToShadedCompiler())
diff --git a/plugins/assign-plugin/assign-plugin.embeddable/build.gradle.kts b/plugins/assign-plugin/assign-plugin.embeddable/build.gradle.kts
index 7df04bd..bae52a72 100644
--- a/plugins/assign-plugin/assign-plugin.embeddable/build.gradle.kts
+++ b/plugins/assign-plugin/assign-plugin.embeddable/build.gradle.kts
@@ -10,7 +10,7 @@
}
publish {
- artifactId = artifactId.replace(".", "-")
+ artifactId = artifactId.get().replace(".", "-")
}
runtimeJar(rewriteDefaultJarDepsToShadedCompiler())
diff --git a/plugins/kotlinx-serialization/build.gradle.kts b/plugins/kotlinx-serialization/build.gradle.kts
index fa8b46a..edc346c 100644
--- a/plugins/kotlinx-serialization/build.gradle.kts
+++ b/plugins/kotlinx-serialization/build.gradle.kts
@@ -80,7 +80,7 @@
optInToExperimentalCompilerApi()
publish {
- artifactId = artifactId.replace("kotlinx-", "kotlin-")
+ artifactId = artifactId.get().replace("kotlinx-", "kotlin-")
}
val archiveName = "kotlin-serialization-compiler-plugin"
diff --git a/plugins/kotlinx-serialization/kotlinx-serialization.embeddable/build.gradle.kts b/plugins/kotlinx-serialization/kotlinx-serialization.embeddable/build.gradle.kts
index 5615e8c..1c8e9f9 100644
--- a/plugins/kotlinx-serialization/kotlinx-serialization.embeddable/build.gradle.kts
+++ b/plugins/kotlinx-serialization/kotlinx-serialization.embeddable/build.gradle.kts
@@ -7,7 +7,7 @@
}
publish {
- artifactId = artifactId.replace(".", "-").replace("kotlinx-", "kotlin-")
+ artifactId = artifactId.get().replace(".", "-").replace("kotlinx-", "kotlin-")
}
runtimeJar(rewriteDefaultJarDepsToShadedCompiler())
diff --git a/plugins/lombok/lombok.embeddable/build.gradle.kts b/plugins/lombok/lombok.embeddable/build.gradle.kts
index 3312dba..3adc2cc 100644
--- a/plugins/lombok/lombok.embeddable/build.gradle.kts
+++ b/plugins/lombok/lombok.embeddable/build.gradle.kts
@@ -7,7 +7,7 @@
}
publish {
- artifactId = artifactId.replace(".", "-")
+ artifactId = artifactId.get().replace(".", "-")
}
runtimeJar(rewriteDefaultJarDepsToShadedCompiler())
sourcesJarWithSourcesFromEmbedded(
diff --git a/plugins/noarg/noarg.embeddable/build.gradle.kts b/plugins/noarg/noarg.embeddable/build.gradle.kts
index 9538b81..7e5513c 100644
--- a/plugins/noarg/noarg.embeddable/build.gradle.kts
+++ b/plugins/noarg/noarg.embeddable/build.gradle.kts
@@ -7,7 +7,7 @@
}
publish {
- artifactId = artifactId.replace(".", "-")
+ artifactId = artifactId.get().replace(".", "-")
}
runtimeJar(rewriteDefaultJarDepsToShadedCompiler())
diff --git a/plugins/power-assert/power-assert.embeddable/build.gradle.kts b/plugins/power-assert/power-assert.embeddable/build.gradle.kts
index b13aeca..7c00e5e 100644
--- a/plugins/power-assert/power-assert.embeddable/build.gradle.kts
+++ b/plugins/power-assert/power-assert.embeddable/build.gradle.kts
@@ -7,7 +7,7 @@
}
publish {
- artifactId = artifactId.replace(".", "-")
+ artifactId = artifactId.get().replace(".", "-")
}
runtimeJar(rewriteDefaultJarDepsToShadedCompiler())
diff --git a/plugins/sam-with-receiver/sam-with-receiver.embeddable/build.gradle.kts b/plugins/sam-with-receiver/sam-with-receiver.embeddable/build.gradle.kts
index e4279ac..d46a18e 100644
--- a/plugins/sam-with-receiver/sam-with-receiver.embeddable/build.gradle.kts
+++ b/plugins/sam-with-receiver/sam-with-receiver.embeddable/build.gradle.kts
@@ -7,7 +7,7 @@
}
publish {
- artifactId = artifactId.replace(".", "-")
+ artifactId = artifactId.get().replace(".", "-")
}
runtimeJar(rewriteDefaultJarDepsToShadedCompiler())
diff --git a/repo/gradle-build-conventions/asm-deprecating-transformer/src/main/kotlin/org/jetbrains/kotlin/build/asm/AsmDeprecationExtension.kt b/repo/gradle-build-conventions/asm-deprecating-transformer/src/main/kotlin/org/jetbrains/kotlin/build/asm/AsmDeprecationExtension.kt
index a22456b..d5ea860 100644
--- a/repo/gradle-build-conventions/asm-deprecating-transformer/src/main/kotlin/org/jetbrains/kotlin/build/asm/AsmDeprecationExtension.kt
+++ b/repo/gradle-build-conventions/asm-deprecating-transformer/src/main/kotlin/org/jetbrains/kotlin/build/asm/AsmDeprecationExtension.kt
@@ -76,7 +76,7 @@
classReader.accept(classVisitor, ClassReader.EXPAND_FRAMES)
val newBytes = classWriter.toByteArray()
val newEntry = ZipEntry(path)
- if (!isPreserveFileTimestamps) {
+ if (!preserveFileTimestamps.get()) {
newEntry.time = CONSTANT_TIME_FOR_ZIP_ENTRIES
}
intermediateZipFile.putNextEntry(newEntry)
@@ -85,7 +85,7 @@
}
} else {
val newEntry = ZipEntry(if (isDirectory) "$path/" else path)
- if (!isPreserveFileTimestamps) {
+ if (!preserveFileTimestamps.get()) {
newEntry.time = CONSTANT_TIME_FOR_ZIP_ENTRIES
}
intermediateZipFile.putNextEntry(newEntry)
diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/CommonUtil.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/CommonUtil.kt
index 3212a56..c9173b0 100644
--- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/CommonUtil.kt
+++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/CommonUtil.kt
@@ -21,8 +21,6 @@
inline fun <reified T : Task> Project.task(noinline configuration: T.() -> Unit) = tasks.registering(T::class, configuration)
-inline fun <reified T : Task> Project.eagerTask(noinline configuration: T.() -> Unit) = tasks.creating(T::class, configuration)
-
fun Project.callGroovy(name: String, vararg args: Any?): Any? {
return (property(name) as Closure<*>).call(*args)
}
@@ -79,7 +77,7 @@
fun Project.findJavaPluginExtension(): JavaPluginExtension? = extensions.findByType()
-fun JavaExec.pathRelativeToWorkingDir(file: File): String = file.relativeTo(workingDir).invariantSeparatorsPath
+fun JavaExec.pathRelativeToWorkingDir(file: File): String = file.relativeTo(workingDir.asFile.get()).invariantSeparatorsPath
fun Task.singleOutputFile(layout: ProjectLayout): File = when (this) {
is AbstractArchiveTask -> archiveFile.get().asFile
diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/ComposeDependencies.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/ComposeDependencies.kt
index 910edcf..00dd71d 100644
--- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/ComposeDependencies.kt
+++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/ComposeDependencies.kt
@@ -3,6 +3,7 @@
import org.gradle.api.artifacts.VersionCatalogsExtension
import org.gradle.api.artifacts.dsl.RepositoryHandler
import org.gradle.kotlin.dsl.maven
+import org.gradle.kotlin.dsl.assign
import java.net.URI
/*
diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/GradleCommon.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/GradleCommon.kt
index b2ce24d..e305fde 100644
--- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/GradleCommon.kt
+++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/GradleCommon.kt
@@ -55,8 +55,8 @@
val pluginDevelopment = extensions.findByType(GradlePluginDevelopmentExtension::class)
?: error("Plugin marker publication $name detected without the `java-gradle-plugin` plugin")
pluginDevelopment.plugins
- .find { pluginDeclaration -> "${pluginDeclaration.id}${PLUGIN_MARKER_SUFFIX}" == mavenPublication.artifactId }
- ?: error("Cannot find plugin declaration for publication ${this.name} (${mavenPublication.groupId}:${mavenPublication.artifactId})")
+ .find { pluginDeclaration -> "${pluginDeclaration.id}${PLUGIN_MARKER_SUFFIX}" == mavenPublication.artifactId.get() }
+ ?: error("Cannot find plugin declaration for publication ${this.name} (${mavenPublication.groupId.get()}:${mavenPublication.artifactId.get()})")
}
}
diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/JvmToolchain.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/JvmToolchain.kt
index 6bdf55d..5e5f088 100644
--- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/JvmToolchain.kt
+++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/JvmToolchain.kt
@@ -3,6 +3,7 @@
import org.gradle.api.Project
import org.gradle.api.plugins.JavaPluginExtension
import org.gradle.api.provider.Provider
+import org.gradle.kotlin.dsl.assign
import org.gradle.api.tasks.compile.JavaCompile
import org.gradle.jvm.toolchain.*
import org.gradle.kotlin.dsl.getByType
diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/NoDebugJavaExec.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/NoDebugJavaExec.kt
index c51d24f..7afc14b 100644
--- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/NoDebugJavaExec.kt
+++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/NoDebugJavaExec.kt
@@ -13,7 +13,8 @@
private fun String.isDebuggerArgument(): Boolean =
startsWith("-agentlib:jdwp=transport=dt_socket,server=n,suspend=y,address=")
- override fun setJvmArgs(arguments: MutableList<String>?) {
- super.setJvmArgs(arguments?.filterNot { it.isDebuggerArgument() })
- }
+ // TODO: Make this work again
+// override fun setJvmArgs(arguments: MutableList<String>?) {
+// super.setJvmArgs(arguments?.filterNot { it.isDebuggerArgument() })
+// }
}
\ No newline at end of file
diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/SmartJavaExec.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/SmartJavaExec.kt
index f99c2a1..81224d8 100644
--- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/SmartJavaExec.kt
+++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/SmartJavaExec.kt
@@ -1,6 +1,7 @@
import org.gradle.api.Project
import org.gradle.api.tasks.JavaExec
import org.gradle.jvm.tasks.Jar
+import org.gradle.kotlin.dsl.assign
import org.gradle.kotlin.dsl.creating
import org.gradle.kotlin.dsl.task
@@ -47,5 +48,5 @@
mainClass.set("-jar")
classpath = project.files()
- args = listOf(jarTask.outputs.files.singleFile.path) + args.orEmpty()
+ args = listOf(jarTask.outputs.files.singleFile.path) + args.get()
}
diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/localDependencies.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/localDependencies.kt
index e9a9dc9..b7955ce 100644
--- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/localDependencies.kt
+++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/localDependencies.kt
@@ -22,6 +22,7 @@
import org.gradle.api.artifacts.dsl.RepositoryHandler
import org.gradle.api.artifacts.repositories.IvyArtifactRepository
import org.gradle.kotlin.dsl.extra
+import org.gradle.kotlin.dsl.assign
import java.io.File
private fun Project.kotlinBuildLocalDependenciesDir(): File =
diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/nativeTest.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/nativeTest.kt
index c28ce3a..27e72ee 100644
--- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/nativeTest.kt
+++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/nativeTest.kt
@@ -5,6 +5,7 @@
import org.gradle.api.tasks.Sync
import org.gradle.api.tasks.TaskProvider
import org.gradle.api.tasks.testing.Test
+import org.gradle.kotlin.dsl.assign
import org.gradle.kotlin.dsl.environment
import org.gradle.kotlin.dsl.project
import org.jetbrains.kotlin.konan.target.HostManager
@@ -266,7 +267,7 @@
buildString {
appendLine("$path parallel test execution parameters:")
append(" Available CPU cores = $availableCpuCores")
- systemProperties.filterKeys { it.startsWith("junit.jupiter") }.toSortedMap().forEach { (key, value) ->
+ systemProperties.get().filterKeys { it.startsWith("junit.jupiter") }.toSortedMap().forEach { (key, value) ->
append("\n $key = $value")
}
}
diff --git a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt
index e75d5ef..8683e56 100644
--- a/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt
+++ b/repo/gradle-build-conventions/buildsrc-compat/src/main/kotlin/plugins/KotlinBuildPublishingPlugin.kt
@@ -97,8 +97,8 @@
project.extra.set(KotlinBuildPublishingPlugin.MAIN_PUBLICATION_NAME_PROPERTY, value)
}
-private fun humanReadableName(name: String) =
- name.split("-").joinToString(separator = " ") { it.capitalize(Locale.ROOT) }
+private fun humanReadableName(name: Provider<String>) =
+ name.map { it.split("-").joinToString(separator = " ") { it.capitalize(Locale.ROOT) } }
fun MavenPublication.configureKotlinPomAttributes(
project: Project,
@@ -116,9 +116,11 @@
val publication = this
pom {
this.packaging = packaging
- name.set(explicitName.orElse(humanReadableName(publication.artifactId)))
- description.set(explicitDescription.orElse(project.description ?: humanReadableName(publication.artifactId)))
- url.set("https://kotlinlang.org/")
+ name = explicitName.orElse(humanReadableName(publication.artifactId))
+ description = explicitDescription
+ .orElse(project.provider { project.description })
+ .orElse(humanReadableName(publication.artifactId))
+ url = "https://kotlinlang.org/"
licenses {
license {
name.set("The Apache License, Version 2.0")
@@ -181,7 +183,7 @@
)
setUrl(repoUrl)
- if (url.scheme != "file" && username != null && password != null) {
+ if (url.get().scheme != "file" && username != null && password != null) {
credentials {
this.username = username
this.password = password
diff --git a/repo/gradle-build-conventions/generators/src/main/kotlin/generatorTasks.kt b/repo/gradle-build-conventions/generators/src/main/kotlin/generatorTasks.kt
index 2a461a4..073482b 100644
--- a/repo/gradle-build-conventions/generators/src/main/kotlin/generatorTasks.kt
+++ b/repo/gradle-build-conventions/generators/src/main/kotlin/generatorTasks.kt
@@ -71,7 +71,7 @@
workingDir = rootDir
classpath = generatorClasspath
mainClass.set(generatorMainClass)
- systemProperties["line.separator"] = "\n"
+ systemProperty("line.separator", "\n")
args(argsProvider(generationRoot))
@Suppress("NAME_SHADOWING")
diff --git a/repo/scripts/cache-redirector.settings.gradle.kts b/repo/scripts/cache-redirector.settings.gradle.kts
index 37d39c5..5770fa4 100644
--- a/repo/scripts/cache-redirector.settings.gradle.kts
+++ b/repo/scripts/cache-redirector.settings.gradle.kts
@@ -216,9 +216,9 @@
fun RepositoryHandler.redirect() = configureEach {
when (this) {
- is MavenArtifactRepository -> url = url.maybeRedirect()
- is IvyArtifactRepository -> @Suppress("SENSELESS_COMPARISON") if (url != null) {
- url = url.maybeRedirect()
+ is MavenArtifactRepository -> url = url.get().maybeRedirect()
+ is IvyArtifactRepository -> if (url.isPresent()) {
+ url = url.get().maybeRedirect()
}
}
}
@@ -286,11 +286,11 @@
fun RepositoryHandler.findNonCachedRepositories(): List<String> {
val mavenNonCachedRepos = filterIsInstance<MavenArtifactRepository>()
- .filterNot { it.url.isCachedOrLocal() }
+ .filterNot { it.url.get().isCachedOrLocal() }
.map { it.url.toString() }
val ivyNonCachedRepos = filterIsInstance<IvyArtifactRepository>()
- .filterNot { it.url.isCachedOrLocal() }
+ .filterNot { it.url.get().isCachedOrLocal() }
.map { it.url.toString() }
return mavenNonCachedRepos + ivyNonCachedRepos
diff --git a/wasm/wasm.debug.browsers/build.gradle.kts b/wasm/wasm.debug.browsers/build.gradle.kts
index 35c4d68..0fad31f 100644
--- a/wasm/wasm.debug.browsers/build.gradle.kts
+++ b/wasm/wasm.debug.browsers/build.gradle.kts
@@ -25,13 +25,13 @@
val cleanBuild by tasks.registering(Delete::class) {
group = "build"
- delete = setOf("build")
+ targetFiles.setFrom(setOf("build"))
}
val cleanNpm by tasks.registering(Delete::class) {
group = "build"
- delete = setOf("node_modules")
+ targetFiles.setFrom(setOf("node_modules"))
}
val npmBuild by tasks.registering(NpxTask::class) {