<lambda>null1import org.gradle.api.* 2 import org.gradle.api.file.* 3 import org.gradle.api.plugins.* 4 import org.gradle.api.tasks.* 5 import org.gradle.api.tasks.testing.* 6 import org.gradle.jvm.tasks.* 7 import org.jetbrains.kotlin.gradle.plugin.* 8 9 /* 10 * Copyright 2017-2023 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. 11 */ 12 13 object JavaPluginUtil { 14 15 @JvmStatic 16 fun Project.applyJavaPlugin() { 17 plugins.apply("java") 18 19 plugins.withId("org.jetbrains.kotlin.multiplatform") { 20 listOf( 21 JavaPlugin.API_ELEMENTS_CONFIGURATION_NAME, 22 JavaPlugin.RUNTIME_ELEMENTS_CONFIGURATION_NAME 23 ).forEach { outputConfigurationName -> 24 configurations.findByName(outputConfigurationName)?.isCanBeConsumed = false 25 } 26 27 disableJavaPluginTasks(extensions.getByName("sourceSets") as SourceSetContainer) 28 } 29 } 30 } 31 Projectnull32private fun Project.disableJavaPluginTasks(javaSourceSet: SourceSetContainer) { 33 project.tasks.withType(Jar::class.java).named(javaSourceSet.getByName("main").jarTaskName).configure { 34 dependsOn("jvmTest") 35 enabled = false 36 } 37 38 project.tasks.withType(Test::class.java).named(JavaPlugin.TEST_TASK_NAME) { 39 dependsOn("jvmJar") 40 enabled = false 41 } 42 } 43