[Gradle] Do not create dummy 'compileClasspath' anymore

As newer AGP versions do not suffer from KT-27170 anymore and
it was causing issues for buildscripts like

```
jvm()
jvm().withJava()
```

KT-59595
This commit is contained in:
Sebastian Sellmair
2023-07-03 10:22:18 +02:00
committed by Space Team
parent e47f4137f4
commit 1e87ba3485
4 changed files with 7 additions and 18 deletions
@@ -13,6 +13,7 @@ import org.gradle.api.tasks.TaskProvider
import org.gradle.api.tasks.compile.AbstractCompile
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions
import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin
import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage.AfterFinaliseDsl
import org.jetbrains.kotlin.gradle.scripting.internal.ScriptingGradleSubplugin
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
@@ -25,7 +25,9 @@ internal fun renderReportedDiagnostic(
ERROR -> logger.error("e: ${diagnostic.render(isVerbose)}\n")
FATAL -> throw InvalidUserCodeException(diagnostic.render(isVerbose))
FATAL -> if (diagnostic.throwable != null)
throw InvalidUserCodeException(diagnostic.render(isVerbose), diagnostic.throwable)
else throw InvalidUserCodeException(diagnostic.render(isVerbose))
}
}
@@ -20,6 +20,7 @@ import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.dsl.multiplatformExtension
import org.jetbrains.kotlin.gradle.plugin.*
import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle.Stage.AfterFinaliseDsl
import org.jetbrains.kotlin.gradle.plugin.internal.JavaSourceSetsAccessor
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmCompilation
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTarget
@@ -137,7 +138,7 @@ abstract class KotlinJvmTarget @Inject constructor(
setupDependenciesCrossInclusionForJava(compilation, javaSourceSet)
}
project.afterEvaluate {
project.launchInStage(AfterFinaliseDsl) {
javaSourceSets.all { javaSourceSet ->
copyUserDefinedAttributesToJavaConfigurations(javaSourceSet)
}
@@ -25,21 +25,6 @@ open class KotlinJvmTargetConfigurator :
override fun configurePlatformSpecificModel(target: KotlinJvmTarget) {
super<KotlinOnlyTargetConfigurator>.configurePlatformSpecificModel(target)
super<KotlinTargetWithTestsConfigurator>.configurePlatformSpecificModel(target)
// Create the configuration under the name 'compileClasspath', as Android lint tasks want it, KT-27170
target.project.whenEvaluated {
if (configurations.findByName("compileClasspath") == null) {
configurations.create("compileClasspath").apply {
isCanBeResolved = false
isCanBeConsumed = false
extendsFrom(
target.project.configurations.getByName(
target.compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME).compileDependencyConfigurationName
)
)
}
}
}
}
override fun configureCompilations(target: KotlinJvmTarget) {
@@ -57,7 +42,7 @@ open class KotlinJvmTargetConfigurator :
override fun createTestRun(
name: String,
target: KotlinJvmTarget
target: KotlinJvmTarget,
): KotlinJvmTestRun = KotlinJvmTestRun(name, target).apply {
val testTaskOrProvider = target.project.registerTask<KotlinJvmTest>(testTaskName) { testTask ->
testTask.targetName = target.disambiguationClassifier