diff --git a/buildSrc/prepare-deps/build.gradle.kts b/buildSrc/prepare-deps/build.gradle.kts index a2a51990475..34927edad72 100644 --- a/buildSrc/prepare-deps/build.gradle.kts +++ b/buildSrc/prepare-deps/build.gradle.kts @@ -145,7 +145,7 @@ dependencies { val makeIntellijCore = buildIvyRepositoryTask(intellijCore, customDepsOrg, customDepsRepoDir) -val makeIntellijAnnotations by tasks.creating(Copy::class.java) { +val makeIntellijAnnotations by tasks.registering(Copy::class) { dependsOn(makeIntellijCore) from(repoDir.resolve("intellij-core/$intellijVersion/artifacts/annotations.jar")) @@ -222,7 +222,7 @@ tasks.named("build") { } // Task to delete legacy repo locations -tasks.create("cleanLegacy", Delete::class.java) { +tasks.register("cleanLegacy") { delete("$projectDir/android-dx") delete("$projectDir/intellij-sdk") } diff --git a/buildSrc/src/main/kotlin/artifacts.kt b/buildSrc/src/main/kotlin/artifacts.kt index ab34734f64a..585020f8104 100644 --- a/buildSrc/src/main/kotlin/artifacts.kt +++ b/buildSrc/src/main/kotlin/artifacts.kt @@ -8,17 +8,12 @@ import org.gradle.api.artifacts.Configuration import org.gradle.api.artifacts.ConfigurationContainer import org.gradle.api.artifacts.component.ProjectComponentIdentifier import org.gradle.api.file.DuplicatesStrategy -import org.gradle.api.file.SourceDirectorySet import org.gradle.api.plugins.BasePluginConvention -import org.gradle.api.plugins.JavaPluginConvention -import org.gradle.api.tasks.AbstractCopyTask -import org.gradle.api.tasks.Copy import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.Upload import org.gradle.api.tasks.javadoc.Javadoc import org.gradle.jvm.tasks.Jar import org.gradle.kotlin.dsl.* -import java.io.File private const val MAGIC_DO_NOT_CHANGE_TEST_JAR_TASK_NAME = "testJar" @@ -52,11 +47,11 @@ fun Project.removeArtifacts(configuration: Configuration, task: Task) { } fun Project.noDefaultJar() { - tasks.findByName("jar")?.let { defaultJarTask -> - defaultJarTask.enabled = false - defaultJarTask.actions = emptyList() + tasks.named("jar").configure { + enabled = false + actions = emptyList() configurations.forEach { cfg -> - removeArtifacts(cfg, defaultJarTask) + removeArtifacts(cfg, this) } } } @@ -70,9 +65,8 @@ fun Project.runtimeJarArtifactBy(task: Task, artifactRef: Any, body: Configurabl } fun Project.runtimeJar(task: TaskProvider, body: T.() -> Unit = {}): TaskProvider { - extra["runtimeJarTask"] = task - tasks.findByName("jar")?.let { defaultJarTask -> - removeArtifacts(configurations.getOrCreate("archives"), defaultJarTask) + tasks.named("jar").configure { + removeArtifacts(configurations.getOrCreate("archives"), this) } task.configure { configurations.findByName("embedded")?.let { embedded -> @@ -152,11 +146,6 @@ fun Project.publish(body: Upload.() -> Unit = {}): Upload { } } -private fun Project.runtimeJarTaskIfExists(): Task? = - if (extra.has("runtimeJarTask")) extra["runtimeJarTask"] as Task - else tasks.findByName("jar") - - fun ConfigurationContainer.getOrCreate(name: String): Configuration = findByName(name) ?: create(name) fun Jar.setupPublicJar(baseName: String, classifier: String = "") { diff --git a/buildSrc/src/main/kotlin/localDependencies.kt b/buildSrc/src/main/kotlin/localDependencies.kt index 31f5e6fdffd..4533037f439 100644 --- a/buildSrc/src/main/kotlin/localDependencies.kt +++ b/buildSrc/src/main/kotlin/localDependencies.kt @@ -23,6 +23,7 @@ import org.gradle.api.artifacts.ModuleDependency import org.gradle.api.artifacts.dsl.RepositoryHandler import org.gradle.api.artifacts.repositories.IvyArtifactRepository import org.gradle.api.tasks.JavaExec +import org.gradle.api.tasks.TaskProvider import org.gradle.kotlin.dsl.* import java.io.File @@ -154,9 +155,9 @@ fun DependencyHandlerScope.excludeInAndroidStudio(rootProject: Project, block: D } } -fun Project.runIdeTask(name: String, ideaPluginDir: File, ideaSandboxDir: File, body: JavaExec.() -> Unit): JavaExec { +fun Project.runIdeTask(name: String, ideaPluginDir: File, ideaSandboxDir: File, body: JavaExec.() -> Unit): TaskProvider { - return task(name) { + return tasks.register(name) { val ideaSandboxConfigDir = File(ideaSandboxDir, "config") classpath = mainSourceSet.runtimeClasspath diff --git a/compiler/android-tests/build.gradle.kts b/compiler/android-tests/build.gradle.kts index 7493c59a8e4..cc953f5f893 100644 --- a/compiler/android-tests/build.gradle.kts +++ b/compiler/android-tests/build.gradle.kts @@ -57,4 +57,4 @@ projectTest { val generateTests by generator("org.jetbrains.kotlin.android.tests.CodegenTestsOnAndroidGenerator") generateTests.workingDir = rootDir -generateTests.dependsOn(":dist") +generateTests.dependsOn(rootProject.tasks.named("dist")) diff --git a/compiler/fir/lightTree/build.gradle.kts b/compiler/fir/lightTree/build.gradle.kts index a1cbf6913b1..c34a9a9be01 100644 --- a/compiler/fir/lightTree/build.gradle.kts +++ b/compiler/fir/lightTree/build.gradle.kts @@ -35,7 +35,7 @@ projectTest { exclude("**/benchmark/**") } -val compactClasspath by tasks.creating(Jar::class) { +val compactClasspath by tasks.registering(Jar::class) { archiveAppendix.set("classpath") inputs.files(sourceSets["main"].runtimeClasspath + sourceSets["test"].runtimeClasspath) doFirst { @@ -46,7 +46,7 @@ val compactClasspath by tasks.creating(Jar::class) { } } -val jmhBytecode by tasks.creating(JavaExec::class) { +val jmhBytecode by tasks.registering(JavaExec::class) { tasks["classes"].mustRunAfter(tasks["clean"]) tasks["compactClasspath"].mustRunAfter(tasks["classes"]) dependsOn(tasks["clean"]) @@ -68,14 +68,14 @@ tasks { } } -val jmhCompile by tasks.creating(JavaCompile::class) { +val jmhCompile by tasks.registering(JavaCompile::class) { /*classpath = sourceSets["test"].runtimeClasspath + files("${project.buildDir}/generated-sources/jmh/") source(fileTree("${project.buildDir}/generated-sources/jmh/")) destinationDir = file("${project.buildDir}/generated-classes/jmh/")*/ } -val jmhExec by tasks.creating(JavaExec::class) { +val jmhExec by tasks.registering(JavaExec::class) { dependsOn(tasks["compileTestJava"]) doFirst { classpath = files( diff --git a/compiler/fir/tree/build.gradle.kts b/compiler/fir/tree/build.gradle.kts index 1b24b761ceb..5b9bc999f4a 100644 --- a/compiler/fir/tree/build.gradle.kts +++ b/compiler/fir/tree/build.gradle.kts @@ -30,7 +30,7 @@ dependencies { generatorClasspath(project("visitors-generator")) } -val generateVisitors by tasks.creating(NoDebugJavaExec::class) { +val generateVisitors by tasks.registering(NoDebugJavaExec::class) { val generationRoot = "$projectDir/src/org/jetbrains/kotlin/fir/" val output = "$projectDir/visitors" diff --git a/core/builtins/build.gradle.kts b/core/builtins/build.gradle.kts index 438f0035bd8..5116ef4e3c6 100644 --- a/core/builtins/build.gradle.kts +++ b/core/builtins/build.gradle.kts @@ -9,7 +9,7 @@ plugins { val builtinsSrc = fileFrom(rootDir, "core", "builtins", "src") val builtinsNative = fileFrom(rootDir, "core", "builtins", "native") -val serialize by tasks.creating(NoDebugJavaExec::class) { +val serialize by tasks.registering(NoDebugJavaExec::class) { val outDir = "$buildDir/$name" val inDirs = arrayOf(builtinsSrc, builtinsNative) inDirs.forEach { inputs.dir(it) } diff --git a/dependencies/android-dx/build.gradle.kts b/dependencies/android-dx/build.gradle.kts index 0a0603752e0..644e627a235 100644 --- a/dependencies/android-dx/build.gradle.kts +++ b/dependencies/android-dx/build.gradle.kts @@ -51,7 +51,7 @@ dependencies { androidDxSources("google:dx:0@tar.gz") } -val unzipDxJar by tasks.creating { +val unzipDxJar by tasks.registering { val outputDir = File(buildDir, name) val outputFile = File(outputDir, "dx.jar") @@ -68,7 +68,7 @@ val unzipDxJar by tasks.creating { } } -val untarDxSources by tasks.creating { +val untarDxSources by tasks.registering { val dxSourcesTargetDir = File(buildDir, name) dependsOn(androidDxSources) inputs.files(androidDxSources) @@ -83,7 +83,7 @@ val untarDxSources by tasks.creating { } } -val prepareDxSourcesJar by tasks.creating(Jar::class) { +val prepareDxSourcesJar by tasks.registering(Jar::class) { dependsOn(untarDxSources) from(untarDxSources) diff --git a/dependencies/android-sdk/build.gradle.kts b/dependencies/android-sdk/build.gradle.kts index c847916db5b..0582ebcce8f 100644 --- a/dependencies/android-sdk/build.gradle.kts +++ b/dependencies/android-sdk/build.gradle.kts @@ -92,7 +92,7 @@ val clean by task { delete(buildDir) } -val extractAndroidJar by tasks.creating { +val extractAndroidJar by tasks.registering { dependsOn(androidPlatform) inputs.files(androidPlatform) val targetFile = File(libsDestDir, "android.jar") diff --git a/dependencies/protobuf/protobuf-lite/build.gradle.kts b/dependencies/protobuf/protobuf-lite/build.gradle.kts index cd8d182bbf9..0ef3bfbfad1 100644 --- a/dependencies/protobuf/protobuf-lite/build.gradle.kts +++ b/dependencies/protobuf/protobuf-lite/build.gradle.kts @@ -22,7 +22,7 @@ dependencies { relocatedProtobuf(project(":protobuf-relocated")) } -val prepare by tasks.creating { +val prepare by tasks.registering { inputs.files(relocatedProtobuf) // this also adds a dependency outputs.file(outputJarPath) doFirst { diff --git a/gradle/cacheRedirector.gradle.kts b/gradle/cacheRedirector.gradle.kts index f672808ac6f..20c6e8070ca 100644 --- a/gradle/cacheRedirector.gradle.kts +++ b/gradle/cacheRedirector.gradle.kts @@ -178,7 +178,9 @@ val checkRepositories: TaskProvider = tasks.register("checkRepositories") } } -tasks.findByName("checkBuild")?.dependsOn(checkRepositories) +tasks.named("checkBuild").configure { + dependsOn(checkRepositories) +} if (cacheRedirectorEnabled()) { logger.info("Redirecting repositories for $displayName") diff --git a/include/kotlin-stdlib-common-sources/build.gradle.kts b/include/kotlin-stdlib-common-sources/build.gradle.kts index 2ff36eebd9f..e54cc372ec2 100644 --- a/include/kotlin-stdlib-common-sources/build.gradle.kts +++ b/include/kotlin-stdlib-common-sources/build.gradle.kts @@ -8,7 +8,7 @@ dependencies { sources(project(":kotlin-stdlib-common", configuration = "sources")) } -val buildSources by tasks.creating(Jar::class.java) { +val buildSources by tasks.registering(Jar::class) { dependsOn(sources) from(provider { zipTree(sources.singleFile) }) } diff --git a/libraries/tools/kotlin-test-nodejs-runner/build.gradle.kts b/libraries/tools/kotlin-test-nodejs-runner/build.gradle.kts index f457a6922fa..7152384de05 100644 --- a/libraries/tools/kotlin-test-nodejs-runner/build.gradle.kts +++ b/libraries/tools/kotlin-test-nodejs-runner/build.gradle.kts @@ -29,13 +29,13 @@ node { } tasks { - "yarn" { + named("yarn") { outputs.upToDateWhen { projectDir.resolve("node_modules").isDirectory } } - create("yarnBuild") { + register("yarnBuild") { group = "build" dependsOn("yarn") @@ -54,7 +54,7 @@ tasks { outputs.dir("lib") } - create("cleanYarn") { + register("cleanYarn") { group = "build" delete = setOf( @@ -64,11 +64,13 @@ tasks { ) } - getByName("clean").dependsOn("cleanYarn") + named("clean") { + dependsOn("cleanYarn") + } } -val jar = tasks.create("jar") { - dependsOn("yarnBuild") +val jar by tasks.creating(Jar::class) { + dependsOn(tasks.named("yarnBuild")) from(projectDir.resolve("lib")) } diff --git a/libraries/tools/kotlinp/build.gradle.kts b/libraries/tools/kotlinp/build.gradle.kts index 6d3e0f8a107..495ff9a42b1 100644 --- a/libraries/tools/kotlinp/build.gradle.kts +++ b/libraries/tools/kotlinp/build.gradle.kts @@ -64,7 +64,7 @@ tasks { } "test" { // These dependencies are needed because ForTestCompileRuntime loads jars from dist - dependsOn(":dist") + dependsOn(rootProject.tasks.named("dist")) } } diff --git a/prepare/build.version/build.gradle.kts b/prepare/build.version/build.gradle.kts index ac89d89fcc8..0f428feb18c 100644 --- a/prepare/build.version/build.gradle.kts +++ b/prepare/build.version/build.gradle.kts @@ -7,7 +7,7 @@ val buildVersion by configurations.creating val buildNumber: String by rootProject.extra val kotlinVersion: String by rootProject.extra -val writeBuildNumber by tasks.creating { +val writeBuildNumber by tasks.registering { val versionFile = File(buildVersionFilePath) inputs.property("version", buildNumber) outputs.file(versionFile) @@ -30,7 +30,7 @@ fun replaceVersion(versionFile: File, versionPattern: String, replacement: (Matc versionFile.writeText(text.replaceRange(match.groups[1]!!.range, newValue)) } -val writeStdlibVersion by tasks.creating { +val writeStdlibVersion by tasks.registering { val versionFile = rootDir.resolve("libraries/stdlib/src/kotlin/util/KotlinVersion.kt") inputs.property("version", kotlinVersion) outputs.file(versionFile) @@ -44,7 +44,7 @@ val writeStdlibVersion by tasks.creating { } } -val writeCompilerVersion by tasks.creating { +val writeCompilerVersion by tasks.registering { val versionFile = rootDir.resolve("core/util.runtime/src/org/jetbrains/kotlin/config/KotlinCompilerVersion.java") inputs.property("version", kotlinVersion) outputs.file(versionFile) @@ -56,7 +56,7 @@ val writeCompilerVersion by tasks.creating { } } -val writePluginVersion by tasks.creating { +val writePluginVersion by tasks.registering { val versionFile = project(":idea").projectDir.resolve("resources/META-INF/plugin.xml") val pluginVersion = rootProject.findProperty("pluginVersion") as String? inputs.property("version", pluginVersion) @@ -70,6 +70,6 @@ val writePluginVersion by tasks.creating { } } -val writeVersions by tasks.creating { +val writeVersions by tasks.registering { dependsOn(writeBuildNumber, writeStdlibVersion, writeCompilerVersion) } diff --git a/prepare/ide-lazy-resolver/build.gradle.kts b/prepare/ide-lazy-resolver/build.gradle.kts index 102af4e3aad..3e8c81a36ad 100644 --- a/prepare/ide-lazy-resolver/build.gradle.kts +++ b/prepare/ide-lazy-resolver/build.gradle.kts @@ -11,7 +11,7 @@ val versionFilePath = "$rootDir/dependencies/dependencies.properties" val ideaVersion = findProperty("versions.intellijSdk").toString() val markdownVersion = findProperty("versions.markdown").toString() -val writeVersions by tasks.creating { +val writeVersions by tasks.registering { val versionFile = File(versionFilePath) inputs.property("ideaVersion", ideaVersion) inputs.property("markdownVersion", markdownVersion)