[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:
|
* Further details:
|
||||||
* https://kotl.in/compilation-source-deprecation
|
* 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 source(sourceSet: KotlinSourceSet)
|
||||||
|
|
||||||
fun associateWith(other: KotlinCompilation<*>)
|
fun associateWith(other: KotlinCompilation<*>)
|
||||||
|
|||||||
+2
-4
@@ -194,8 +194,7 @@ internal abstract class AbstractKotlinPlugin(
|
|||||||
javaSourceSet.resources.setSrcDirs(
|
javaSourceSet.resources.setSrcDirs(
|
||||||
listOf { kotlinSourceSet.resources.sourceDirectories }
|
listOf { kotlinSourceSet.resources.sourceDirectories }
|
||||||
)
|
)
|
||||||
@Suppress("DEPRECATION")
|
kotlinCompilation.addSourceSet(kotlinSourceSet)
|
||||||
kotlinCompilation.source(kotlinSourceSet)
|
|
||||||
project.compatibilityConventionRegistrar.addConvention(javaSourceSet, kotlinSourceSetDslName, kotlinSourceSet)
|
project.compatibilityConventionRegistrar.addConvention(javaSourceSet, kotlinSourceSetDslName, kotlinSourceSet)
|
||||||
javaSourceSet.addExtension(kotlinSourceSetDslName, kotlinSourceSet.kotlin)
|
javaSourceSet.addExtension(kotlinSourceSetDslName, kotlinSourceSet.kotlin)
|
||||||
} else {
|
} else {
|
||||||
@@ -205,8 +204,7 @@ internal abstract class AbstractKotlinPlugin(
|
|||||||
}
|
}
|
||||||
|
|
||||||
kotlinTarget.compilations.all { kotlinCompilation ->
|
kotlinTarget.compilations.all { kotlinCompilation ->
|
||||||
@Suppress("DEPRECATION")
|
kotlinCompilation.addSourceSet(kotlinCompilation.defaultSourceSet)
|
||||||
kotlinCompilation.source(kotlinCompilation.defaultSourceSet)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
kotlinTarget.compilations.run {
|
kotlinTarget.compilations.run {
|
||||||
|
|||||||
+1
-1
@@ -100,7 +100,7 @@ abstract class AbstractKotlinTargetConfigurator<KotlinTargetType : KotlinTarget>
|
|||||||
|
|
||||||
override fun configureSourceSet(target: KotlinTargetType) {
|
override fun configureSourceSet(target: KotlinTargetType) {
|
||||||
target.compilations.all { compilation ->
|
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.KotlinSourceSet
|
||||||
import org.jetbrains.kotlin.gradle.plugin.await
|
import org.jetbrains.kotlin.gradle.plugin.await
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationConfigurationsContainer
|
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.gradle.utils.ObservableSet
|
||||||
import org.jetbrains.kotlin.tooling.core.HasMutableExtras
|
import org.jetbrains.kotlin.tooling.core.HasMutableExtras
|
||||||
|
|
||||||
@@ -22,6 +23,7 @@ internal interface InternalKotlinCompilation<out T : KotlinCommonOptions> : Kotl
|
|||||||
val configurations: KotlinCompilationConfigurationsContainer
|
val configurations: KotlinCompilationConfigurationsContainer
|
||||||
val friendPaths: Iterable<FileCollection>
|
val friendPaths: Iterable<FileCollection>
|
||||||
val processResourcesTaskName: String?
|
val processResourcesTaskName: String?
|
||||||
|
val sourceSets: KotlinCompilationSourceSetsContainer
|
||||||
}
|
}
|
||||||
|
|
||||||
internal val <T : KotlinCommonOptions> KotlinCompilation<T>.internal: InternalKotlinCompilation<T>
|
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> {
|
internal suspend fun InternalKotlinCompilation<*>.awaitAllKotlinSourceSets(): Set<KotlinSourceSet> {
|
||||||
KotlinPluginLifecycle.Stage.AfterFinaliseCompilations.await()
|
KotlinPluginLifecycle.Stage.AfterFinaliseCompilations.await()
|
||||||
return allKotlinSourceSets
|
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.GradleException
|
||||||
import org.gradle.api.attributes.AttributeContainer
|
import org.gradle.api.attributes.AttributeContainer
|
||||||
import org.gradle.api.file.FileCollection
|
import org.gradle.api.file.FileCollection
|
||||||
import org.gradle.api.file.SourceDirectorySet
|
|
||||||
import org.gradle.api.tasks.TaskProvider
|
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.*
|
||||||
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.InternalKotlinCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.internal
|
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.KotlinCompilationTask
|
||||||
import org.jetbrains.kotlin.gradle.tasks.locateTask
|
import org.jetbrains.kotlin.gradle.tasks.locateTask
|
||||||
import org.jetbrains.kotlin.gradle.utils.ObservableSet
|
import org.jetbrains.kotlin.gradle.utils.ObservableSet
|
||||||
@@ -58,7 +57,7 @@ internal class KotlinCompilationImpl constructor(
|
|||||||
|
|
||||||
override val extras: MutableExtras = mutableExtrasOf()
|
override val extras: MutableExtras = mutableExtrasOf()
|
||||||
|
|
||||||
val sourceSets get() = params.sourceSets
|
override val sourceSets get() = params.sourceSets
|
||||||
|
|
||||||
override val configurations: KotlinCompilationConfigurationsContainer
|
override val configurations: KotlinCompilationConfigurationsContainer
|
||||||
get() = params.dependencyConfigurations
|
get() = params.dependencyConfigurations
|
||||||
@@ -90,7 +89,7 @@ internal class KotlinCompilationImpl constructor(
|
|||||||
override val kotlinSourceSets: ObservableSet<KotlinSourceSet>
|
override val kotlinSourceSets: ObservableSet<KotlinSourceSet>
|
||||||
get() = sourceSets.kotlinSourceSets
|
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) {
|
override fun source(sourceSet: KotlinSourceSet) {
|
||||||
sourceSets.source(sourceSet)
|
sourceSets.source(sourceSet)
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-7
@@ -7,7 +7,8 @@
|
|||||||
package org.jetbrains.kotlin.gradle.plugin
|
package org.jetbrains.kotlin.gradle.plugin
|
||||||
|
|
||||||
import com.android.build.api.attributes.BuildTypeAttr
|
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 com.android.build.gradle.api.*
|
||||||
import org.gradle.api.InvalidUserCodeException
|
import org.gradle.api.InvalidUserCodeException
|
||||||
import org.gradle.api.NamedDomainObjectCollection
|
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.bundling.AbstractArchiveTask
|
||||||
import org.gradle.api.tasks.compile.AbstractCompile
|
import org.gradle.api.tasks.compile.AbstractCompile
|
||||||
import org.gradle.api.tasks.compile.JavaCompile
|
import org.gradle.api.tasks.compile.JavaCompile
|
||||||
import org.jetbrains.kotlin.gradle.dsl.*
|
import org.jetbrains.kotlin.gradle.dsl.KotlinJvmCompilerOptions
|
||||||
import org.jetbrains.kotlin.gradle.internal.*
|
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.internal.checkAndroidAnnotationProcessorDependencyUsage
|
||||||
import org.jetbrains.kotlin.gradle.logging.kotlinDebug
|
import org.jetbrains.kotlin.gradle.logging.kotlinDebug
|
||||||
import org.jetbrains.kotlin.gradle.plugin.android.AndroidGradleWrapper
|
import org.jetbrains.kotlin.gradle.plugin.android.AndroidGradleWrapper
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinAndroidTarget
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilationFactory
|
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.KotlinAndroidSourceSets.applyKotlinAndroidSourceSetLayout
|
||||||
import org.jetbrains.kotlin.gradle.plugin.sources.android.findKotlinSourceSet
|
import org.jetbrains.kotlin.gradle.plugin.sources.android.findKotlinSourceSet
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
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:
|
// Register the source only after the task is created, because the task is required for that:
|
||||||
@Suppress("DEPRECATION")
|
compilation.addSourceSet(defaultSourceSet)
|
||||||
compilation.source(defaultSourceSet)
|
|
||||||
|
|
||||||
compilation.androidVariant.forEachKotlinSourceSet(project) { kotlinSourceSet ->
|
compilation.androidVariant.forEachKotlinSourceSet(project) { kotlinSourceSet ->
|
||||||
@Suppress("DEPRECATION")
|
compilation.addSourceSet(kotlinSourceSet)
|
||||||
compilation.source(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.*
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinUsages
|
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.KotlinTasksProvider
|
||||||
import org.jetbrains.kotlin.gradle.tasks.locateTask
|
import org.jetbrains.kotlin.gradle.tasks.locateTask
|
||||||
import org.jetbrains.kotlin.gradle.tasks.registerTask
|
import org.jetbrains.kotlin.gradle.tasks.registerTask
|
||||||
@@ -61,8 +62,7 @@ open class KotlinJsTargetConfigurator :
|
|||||||
val project = target.project
|
val project = target.project
|
||||||
|
|
||||||
target.compilations.all { compilation ->
|
target.compilations.all { compilation ->
|
||||||
@Suppress("DEPRECATION")
|
compilation.addSourceSet(compilation.defaultSourceSet)
|
||||||
compilation.source(compilation.defaultSourceSet)
|
|
||||||
|
|
||||||
configureResourceProcessing(
|
configureResourceProcessing(
|
||||||
compilation,
|
compilation,
|
||||||
|
|||||||
+1
-1
@@ -79,7 +79,7 @@ class KotlinMetadataTargetConfigurator :
|
|||||||
// it isn't necessary for KLib compilations
|
// it isn't necessary for KLib compilations
|
||||||
// see [KotlinCompilationSourceSetInclusion.AddSourcesWithoutDependsOnClosure]
|
// see [KotlinCompilationSourceSetInclusion.AddSourcesWithoutDependsOnClosure]
|
||||||
defaultSourceSet.internal.dependsOnClosure.forAll {
|
defaultSourceSet.internal.dependsOnClosure.forAll {
|
||||||
source(it)
|
addSourceSet(it)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Clear the dependencies of the compilation so that they don't take time resolving during task graph construction:
|
// 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 mainCompilation = compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME)
|
||||||
val commonMainSourceSet = project.kotlinExtension.sourceSets.getByName(KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME)
|
val commonMainSourceSet = project.kotlinExtension.sourceSets.getByName(KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME)
|
||||||
|
|
||||||
@Suppress("DEPRECATION")
|
mainCompilation.addSourceSet(commonMainSourceSet)
|
||||||
mainCompilation.source(commonMainSourceSet)
|
|
||||||
|
|
||||||
project.whenEvaluated {
|
project.whenEvaluated {
|
||||||
// Since there's no default source set, apply language settings from commonMain:
|
// 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")
|
val nativeMain = kotlin.sourceSets.create("nativeMain")
|
||||||
|
|
||||||
listOf(linux1, linux2).forEach { target ->
|
listOf(linux1, linux2).forEach { target ->
|
||||||
@Suppress("DEPRECATION")
|
@Suppress("DEPRECATION_ERROR")
|
||||||
target.compilations.getByName("main").source(nativeMain)
|
target.compilations.getByName("main").source(nativeMain)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user