aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Goncharov <ilya.goncharov@jetbrains.com>2022-07-21 10:57:57 +0200
committerIlya Goncharov <ilgonmic@gmail.com>2022-07-21 16:51:56 +0300
commitb40401ea459cf5cbc616e20d5b30281ad072dd72 (patch)
tree0ea259db8d742869d8b4136edf362d65b06c3535
parentc9fadaad76ac9485e9563562aa946e78f7374fe9 (diff)
downloadkotlinx.atomicfu-b40401ea459cf5cbc616e20d5b30281ad072dd72.tar.gz
Simplify withKotlinTargets
-rw-r--r--atomicfu-gradle-plugin/src/main/kotlin/kotlinx/atomicfu/plugin/gradle/AtomicFUGradlePlugin.kt62
1 files changed, 31 insertions, 31 deletions
diff --git a/atomicfu-gradle-plugin/src/main/kotlin/kotlinx/atomicfu/plugin/gradle/AtomicFUGradlePlugin.kt b/atomicfu-gradle-plugin/src/main/kotlin/kotlinx/atomicfu/plugin/gradle/AtomicFUGradlePlugin.kt
index d91af4c..5c81462 100644
--- a/atomicfu-gradle-plugin/src/main/kotlin/kotlinx/atomicfu/plugin/gradle/AtomicFUGradlePlugin.kt
+++ b/atomicfu-gradle-plugin/src/main/kotlin/kotlinx/atomicfu/plugin/gradle/AtomicFUGradlePlugin.kt
@@ -188,11 +188,9 @@ fun Project.withPluginWhenEvaluatedDependencies(plugin: String, fn: Project.(ver
fun Project.withKotlinTargets(fn: (KotlinTarget) -> Unit) {
extensions.findByType(KotlinTargetsContainer::class.java)?.let { kotlinExtension ->
- val targetsExtension = kotlinExtension.targets
- @Suppress("UNCHECKED_CAST")
- val targets = targetsExtension as? NamedDomainObjectContainer<KotlinTarget>
// find all compilations given sourceSet belongs to
- targets?.all { target -> fn(target) }
+ kotlinExtension.targets
+ .all { target -> fn(target) }
}
}
@@ -269,22 +267,22 @@ private fun Project.configureTransformationForTarget(target: KotlinTarget) {
Callable { originalDirsByCompilation[mainCompilation]!! }
)
- // KGP >= 1.7.0 has breaking changes in task hierarchy:
- // https://youtrack.jetbrains.com/issue/KT-32805#focus=Comments-27-5915479.0-0
- val (majorVersion, minorVersion) = getKotlinPluginVersion()
- .split('.')
- .take(2)
- .map { it.toInt() }
- if (majorVersion == 1 && minorVersion < 7) {
- (tasks.findByName(compilation.compileKotlinTaskName) as? AbstractCompile)?.classpath =
+ // KGP >= 1.7.0 has breaking changes in task hierarchy:
+ // https://youtrack.jetbrains.com/issue/KT-32805#focus=Comments-27-5915479.0-0
+ val (majorVersion, minorVersion) = getKotlinPluginVersion()
+ .split('.')
+ .take(2)
+ .map { it.toInt() }
+ if (majorVersion == 1 && minorVersion < 7) {
+ (tasks.findByName(compilation.compileKotlinTaskName) as? AbstractCompile)?.classpath =
+ originalMainClassesDirs + compilation.compileDependencyFiles - mainCompilation.output.classesDirs
+ } else {
+ (tasks.findByName(compilation.compileKotlinTaskName) as? AbstractKotlinCompileTool<*>)
+ ?.libraries
+ ?.setFrom(
originalMainClassesDirs + compilation.compileDependencyFiles - mainCompilation.output.classesDirs
- } else {
- (tasks.findByName(compilation.compileKotlinTaskName) as? AbstractKotlinCompileTool<*>)
- ?.libraries
- ?.setFrom(
- originalMainClassesDirs + compilation.compileDependencyFiles - mainCompilation.output.classesDirs
- )
- }
+ )
+ }
(tasks.findByName("${target.name}${compilation.name.capitalize()}") as? Test)?.classpath =
originalMainClassesDirs + (compilation as KotlinCompilationToRunnableFiles).runtimeDependencyFiles - mainCompilation.output.classesDirs
@@ -313,13 +311,13 @@ fun Project.configureMultiplatformPluginDependencies(version: String) {
if (rootProject.getBooleanProperty("kotlin.mpp.enableGranularSourceSetsMetadata")) {
addCompilerPluginDependency()
val mainConfigurationName = project.extensions.getByType(KotlinMultiplatformExtension::class.java).sourceSets
- .getByName(KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME)
- .compileOnlyConfigurationName
+ .getByName(KotlinSourceSet.COMMON_MAIN_SOURCE_SET_NAME)
+ .compileOnlyConfigurationName
dependencies.add(mainConfigurationName, getAtomicfuDependencyNotation(Platform.MULTIPLATFORM, version))
val testConfigurationName = project.extensions.getByType(KotlinMultiplatformExtension::class.java).sourceSets
- .getByName(KotlinSourceSet.COMMON_TEST_SOURCE_SET_NAME)
- .implementationConfigurationName
+ .getByName(KotlinSourceSet.COMMON_TEST_SOURCE_SET_NAME)
+ .implementationConfigurationName
dependencies.add(testConfigurationName, getAtomicfuDependencyNotation(Platform.MULTIPLATFORM, version))
// For each source set that is only used in Native compilations, add an implementation dependency so that it
@@ -341,15 +339,15 @@ fun Project.configureMultiplatformPluginDependencies(version: String) {
if (compilationNames.size != 1)
error("Source set '${sourceSet.name}' of project '$name' is part of several compilations $compilationNames")
val compilationType = compilationNames.single().compilationNameToType()
- ?: return@forEach // skip unknown compilations
+ ?: return@forEach // skip unknown compilations
val platform =
- if (platformTypes.size > 1) Platform.MULTIPLATFORM else // mix of platform types -> "common"
- when (platformTypes.single()) {
- KotlinPlatformType.common -> Platform.MULTIPLATFORM
- KotlinPlatformType.jvm, KotlinPlatformType.androidJvm -> Platform.JVM
- KotlinPlatformType.js -> Platform.JS
- KotlinPlatformType.native, KotlinPlatformType.wasm -> Platform.NATIVE
- }
+ if (platformTypes.size > 1) Platform.MULTIPLATFORM else // mix of platform types -> "common"
+ when (platformTypes.single()) {
+ KotlinPlatformType.common -> Platform.MULTIPLATFORM
+ KotlinPlatformType.jvm, KotlinPlatformType.androidJvm -> Platform.JVM
+ KotlinPlatformType.js -> Platform.JS
+ KotlinPlatformType.native, KotlinPlatformType.wasm -> Platform.NATIVE
+ }
val configurationName = when {
// impl dependency for native (there is no transformation)
platform == Platform.NATIVE -> sourceSet.implementationConfigurationName
@@ -489,6 +487,7 @@ open class AtomicFUTransformTask : ConventionTask() {
@Input
var jvmVariant = "FU"
+
@Input
var verbose = false
@@ -513,6 +512,7 @@ open class AtomicFUTransformJsTask : ConventionTask() {
@OutputDirectory
lateinit var outputDir: File
+
@Input
var verbose = false