[Gradle] Elevate KotlinCompilation.source deprecation to ERROR
Fix internal use of this API with dedicated internal function. ^KT-58234 Verification Pending
This commit is contained in:
committed by
Space Team
parent
aecf18b842
commit
245825cf8b
+1
-1
@@ -131,7 +131,7 @@ interface KotlinCompilation<out T : KotlinCommonOptionsDeprecated> : Named,
|
||||
* Further details:
|
||||
* https://kotl.in/compilation-source-deprecation
|
||||
*/
|
||||
@Deprecated("scheduled for removal with Kotlin 2.0")
|
||||
@Deprecated("scheduled for removal with Kotlin 2.0", level = DeprecationLevel.ERROR)
|
||||
fun source(sourceSet: KotlinSourceSet)
|
||||
|
||||
fun associateWith(other: KotlinCompilation<*>)
|
||||
|
||||
+2
-4
@@ -194,8 +194,7 @@ internal abstract class AbstractKotlinPlugin(
|
||||
javaSourceSet.resources.setSrcDirs(
|
||||
listOf { kotlinSourceSet.resources.sourceDirectories }
|
||||
)
|
||||
@Suppress("DEPRECATION")
|
||||
kotlinCompilation.source(kotlinSourceSet)
|
||||
kotlinCompilation.addSourceSet(kotlinSourceSet)
|
||||
project.compatibilityConventionRegistrar.addConvention(javaSourceSet, kotlinSourceSetDslName, kotlinSourceSet)
|
||||
javaSourceSet.addExtension(kotlinSourceSetDslName, kotlinSourceSet.kotlin)
|
||||
} else {
|
||||
@@ -205,8 +204,7 @@ internal abstract class AbstractKotlinPlugin(
|
||||
}
|
||||
|
||||
kotlinTarget.compilations.all { kotlinCompilation ->
|
||||
@Suppress("DEPRECATION")
|
||||
kotlinCompilation.source(kotlinCompilation.defaultSourceSet)
|
||||
kotlinCompilation.addSourceSet(kotlinCompilation.defaultSourceSet)
|
||||
}
|
||||
|
||||
kotlinTarget.compilations.run {
|
||||
|
||||
+1
-1
@@ -100,7 +100,7 @@ abstract class AbstractKotlinTargetConfigurator<KotlinTargetType : KotlinTarget>
|
||||
|
||||
override fun configureSourceSet(target: KotlinTargetType) {
|
||||
target.compilations.all { compilation ->
|
||||
compilation.source(compilation.defaultSourceSet) // also adds dependencies, requires the configurations for target and source set to exist at this point
|
||||
compilation.addSourceSet(compilation.defaultSourceSet) // also adds dependencies, requires the configurations for target and source set to exist at this point
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+6
-1
@@ -12,6 +12,7 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinPluginLifecycle
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.await
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationConfigurationsContainer
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationSourceSetsContainer
|
||||
import org.jetbrains.kotlin.gradle.utils.ObservableSet
|
||||
import org.jetbrains.kotlin.tooling.core.HasMutableExtras
|
||||
|
||||
@@ -22,6 +23,7 @@ internal interface InternalKotlinCompilation<out T : KotlinCommonOptions> : Kotl
|
||||
val configurations: KotlinCompilationConfigurationsContainer
|
||||
val friendPaths: Iterable<FileCollection>
|
||||
val processResourcesTaskName: String?
|
||||
val sourceSets: KotlinCompilationSourceSetsContainer
|
||||
}
|
||||
|
||||
internal val <T : KotlinCommonOptions> KotlinCompilation<T>.internal: InternalKotlinCompilation<T>
|
||||
@@ -32,4 +34,7 @@ internal val <T : KotlinCommonOptions> KotlinCompilation<T>.internal: InternalKo
|
||||
internal suspend fun InternalKotlinCompilation<*>.awaitAllKotlinSourceSets(): Set<KotlinSourceSet> {
|
||||
KotlinPluginLifecycle.Stage.AfterFinaliseCompilations.await()
|
||||
return allKotlinSourceSets
|
||||
}
|
||||
}
|
||||
|
||||
internal fun KotlinCompilation<*>.addSourceSet(kotlinSourceSet: KotlinSourceSet) =
|
||||
internal.sourceSets.source(kotlinSourceSet)
|
||||
+5
-6
@@ -11,14 +11,13 @@ import org.gradle.api.Action
|
||||
import org.gradle.api.GradleException
|
||||
import org.gradle.api.attributes.AttributeContainer
|
||||
import org.gradle.api.file.FileCollection
|
||||
import org.gradle.api.file.SourceDirectorySet
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
import org.jetbrains.kotlin.gradle.dsl.*
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinCommonOptions
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.HierarchyAttributeContainer
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.InternalKotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.internal
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.moduleNameForCompilation
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask
|
||||
import org.jetbrains.kotlin.gradle.tasks.locateTask
|
||||
import org.jetbrains.kotlin.gradle.utils.ObservableSet
|
||||
@@ -58,7 +57,7 @@ internal class KotlinCompilationImpl constructor(
|
||||
|
||||
override val extras: MutableExtras = mutableExtrasOf()
|
||||
|
||||
val sourceSets get() = params.sourceSets
|
||||
override val sourceSets get() = params.sourceSets
|
||||
|
||||
override val configurations: KotlinCompilationConfigurationsContainer
|
||||
get() = params.dependencyConfigurations
|
||||
@@ -90,7 +89,7 @@ internal class KotlinCompilationImpl constructor(
|
||||
override val kotlinSourceSets: ObservableSet<KotlinSourceSet>
|
||||
get() = sourceSets.kotlinSourceSets
|
||||
|
||||
@Deprecated("scheduled for removal with Kotlin 2.0")
|
||||
@Deprecated("scheduled for removal with Kotlin 2.0", level = DeprecationLevel.ERROR)
|
||||
override fun source(sourceSet: KotlinSourceSet) {
|
||||
sourceSets.source(sourceSet)
|
||||
}
|
||||
|
||||
+8
-7
@@ -7,7 +7,8 @@
|
||||
package org.jetbrains.kotlin.gradle.plugin
|
||||
|
||||
import com.android.build.api.attributes.BuildTypeAttr
|
||||
import com.android.build.gradle.*
|
||||
import com.android.build.gradle.BaseExtension
|
||||
import com.android.build.gradle.BasePlugin
|
||||
import com.android.build.gradle.api.*
|
||||
import org.gradle.api.InvalidUserCodeException
|
||||
import org.gradle.api.NamedDomainObjectCollection
|
||||
@@ -25,14 +26,16 @@ import org.gradle.api.tasks.TaskProvider
|
||||
import org.gradle.api.tasks.bundling.AbstractArchiveTask
|
||||
import org.gradle.api.tasks.compile.AbstractCompile
|
||||
import org.gradle.api.tasks.compile.JavaCompile
|
||||
import org.jetbrains.kotlin.gradle.dsl.*
|
||||
import org.jetbrains.kotlin.gradle.internal.*
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions
|
||||
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension
|
||||
import org.jetbrains.kotlin.gradle.internal.Kapt3GradleSubplugin
|
||||
import org.jetbrains.kotlin.gradle.internal.checkAndroidAnnotationProcessorDependencyUsage
|
||||
import org.jetbrains.kotlin.gradle.logging.kotlinDebug
|
||||
import org.jetbrains.kotlin.gradle.plugin.android.AndroidGradleWrapper
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilationFactory
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.addSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.android.KotlinAndroidSourceSets.applyKotlinAndroidSourceSetLayout
|
||||
import org.jetbrains.kotlin.gradle.plugin.sources.android.findKotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
||||
@@ -203,12 +206,10 @@ internal class AndroidProjectHandler(
|
||||
}
|
||||
|
||||
// Register the source only after the task is created, because the task is required for that:
|
||||
@Suppress("DEPRECATION")
|
||||
compilation.source(defaultSourceSet)
|
||||
compilation.addSourceSet(defaultSourceSet)
|
||||
|
||||
compilation.androidVariant.forEachKotlinSourceSet(project) { kotlinSourceSet ->
|
||||
@Suppress("DEPRECATION")
|
||||
compilation.source(kotlinSourceSet)
|
||||
compilation.addSourceSet(kotlinSourceSet)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
-2
@@ -12,6 +12,7 @@ import org.gradle.language.base.plugins.LifecycleBasePlugin
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.addSourceSet
|
||||
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
|
||||
import org.jetbrains.kotlin.gradle.tasks.locateTask
|
||||
import org.jetbrains.kotlin.gradle.tasks.registerTask
|
||||
@@ -61,8 +62,7 @@ open class KotlinJsTargetConfigurator :
|
||||
val project = target.project
|
||||
|
||||
target.compilations.all { compilation ->
|
||||
@Suppress("DEPRECATION")
|
||||
compilation.source(compilation.defaultSourceSet)
|
||||
compilation.addSourceSet(compilation.defaultSourceSet)
|
||||
|
||||
configureResourceProcessing(
|
||||
compilation,
|
||||
|
||||
+1
-1
@@ -79,7 +79,7 @@ class KotlinMetadataTargetConfigurator :
|
||||
// it isn't necessary for KLib compilations
|
||||
// see [KotlinCompilationSourceSetInclusion.AddSourcesWithoutDependsOnClosure]
|
||||
defaultSourceSet.internal.dependsOnClosure.forAll {
|
||||
source(it)
|
||||
addSourceSet(it)
|
||||
}
|
||||
} else {
|
||||
// Clear the dependencies of the compilation so that they don't take time resolving during task graph construction:
|
||||
|
||||
+1
-2
@@ -54,8 +54,7 @@ class KotlinMetadataTargetPreset(
|
||||
val mainCompilation = compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME)
|
||||
val commonMainSourceSet = project.kotlinExtension.sourceSets.getByName(KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME)
|
||||
|
||||
@Suppress("DEPRECATION")
|
||||
mainCompilation.source(commonMainSourceSet)
|
||||
mainCompilation.addSourceSet(commonMainSourceSet)
|
||||
|
||||
project.whenEvaluated {
|
||||
// Since there's no default source set, apply language settings from commonMain:
|
||||
|
||||
+1
-1
@@ -217,7 +217,7 @@ class SourceSetCommonizerTargetTest {
|
||||
val nativeMain = kotlin.sourceSets.create("nativeMain")
|
||||
|
||||
listOf(linux1, linux2).forEach { target ->
|
||||
@Suppress("DEPRECATION")
|
||||
@Suppress("DEPRECATION_ERROR")
|
||||
target.compilations.getByName("main").source(nativeMain)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user