[Gradle, JS] Common dependency configurations for both js
This commit is contained in:
+33
-9
@@ -9,10 +9,9 @@
|
||||
package org.jetbrains.kotlin.gradle.plugin.mpp
|
||||
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions
|
||||
import org.jetbrains.kotlin.gradle.plugin.JsCompilerType
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationWithResources
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.removeJsCompilerSuffix
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsTarget
|
||||
import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJson
|
||||
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
|
||||
@@ -35,12 +34,37 @@ open class KotlinJsCompilation(
|
||||
packageJsonHandlers.add(handler)
|
||||
}
|
||||
|
||||
override val defaultSourceSetName: String
|
||||
get() = lowerCamelCaseName(
|
||||
(target as KotlinJsTarget).irTarget?.let {
|
||||
target.disambiguationClassifier
|
||||
?.removeJsCompilerSuffix(JsCompilerType.legacy)
|
||||
} ?: target.disambiguationClassifier,
|
||||
compilationName
|
||||
override val apiConfigurationName: String
|
||||
get() = disambiguateNameInPlatform("api")
|
||||
|
||||
override val implementationConfigurationName: String
|
||||
get() = disambiguateNameInPlatform("implementation")
|
||||
|
||||
override val compileOnlyConfigurationName: String
|
||||
get() = disambiguateNameInPlatform("compileOnly")
|
||||
|
||||
override val runtimeOnlyConfigurationName: String
|
||||
get() = disambiguateNameInPlatform("runtimeOnly")
|
||||
|
||||
protected open val disambiguationClassifierInPlatform: String?
|
||||
get() = (target as KotlinJsTarget).disambiguationClassifierInPlatform
|
||||
|
||||
private fun disambiguateNameInPlatform(simpleName: String): String {
|
||||
return lowerCamelCaseName(
|
||||
disambiguationClassifierInPlatform,
|
||||
compilationName.takeIf { it != KotlinCompilation.MAIN_COMPILATION_NAME },
|
||||
simpleName
|
||||
)
|
||||
}
|
||||
|
||||
override val defaultSourceSetName: String
|
||||
get() {
|
||||
val target = target as KotlinJsTarget
|
||||
return lowerCamelCaseName(
|
||||
target.irTarget?.let {
|
||||
target.disambiguationClassifierInPlatform
|
||||
} ?: target.disambiguationClassifier,
|
||||
compilationName
|
||||
)
|
||||
}
|
||||
}
|
||||
+3
@@ -40,6 +40,9 @@ constructor(
|
||||
override lateinit var testRuns: NamedDomainObjectContainer<KotlinJsReportAggregatingTestRun>
|
||||
internal set
|
||||
|
||||
val disambiguationClassifierInPlatform: String?
|
||||
get() = disambiguationClassifier?.removeJsCompilerSuffix(JsCompilerType.legacy)
|
||||
|
||||
override val kotlinComponents: Set<KotlinTargetComponent> by lazy {
|
||||
if (irTarget == null)
|
||||
super.kotlinComponents
|
||||
|
||||
+7
-3
@@ -7,7 +7,9 @@ package org.jetbrains.kotlin.gradle.targets.js.ir
|
||||
|
||||
import org.gradle.api.file.SourceDirectorySet
|
||||
import org.gradle.api.tasks.TaskProvider
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrType.DEVELOPMENT
|
||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrType.PRODUCTION
|
||||
@@ -43,12 +45,14 @@ class KotlinJsIrCompilation(
|
||||
allSources.add(sourceSet.kotlin)
|
||||
}
|
||||
|
||||
override val disambiguationClassifierInPlatform: String?
|
||||
get() = (target as KotlinJsIrTarget).disambiguationClassifierInPlatform
|
||||
|
||||
override val defaultSourceSetName: String
|
||||
get() {
|
||||
return lowerCamelCaseName(
|
||||
if ((target as KotlinJsIrTarget).mixedMode)
|
||||
target.disambiguationClassifier
|
||||
?.removeJsCompilerSuffix(JsCompilerType.ir)
|
||||
target.disambiguationClassifierInPlatform
|
||||
else
|
||||
target.disambiguationClassifier,
|
||||
compilationName
|
||||
|
||||
+5
@@ -9,9 +9,11 @@ import org.gradle.api.NamedDomainObjectContainer
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.Task
|
||||
import org.jetbrains.kotlin.gradle.plugin.AbstractKotlinTargetConfigurator.Companion.runTaskNameSuffix
|
||||
import org.jetbrains.kotlin.gradle.plugin.JsCompilerType
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTests
|
||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTarget
|
||||
import org.jetbrains.kotlin.gradle.plugin.removeJsCompilerSuffix
|
||||
import org.jetbrains.kotlin.gradle.targets.js.JsAggregatingExecutionSource
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsProducingType
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsReportAggregatingTestRun
|
||||
@@ -34,6 +36,9 @@ constructor(
|
||||
override lateinit var testRuns: NamedDomainObjectContainer<KotlinJsReportAggregatingTestRun>
|
||||
internal set
|
||||
|
||||
val disambiguationClassifierInPlatform: String?
|
||||
get() = disambiguationClassifier?.removeJsCompilerSuffix(JsCompilerType.ir)
|
||||
|
||||
var producingType: KotlinJsProducingType? = null
|
||||
|
||||
private val runTaskName get() = lowerCamelCaseName(disambiguationClassifier, runTaskNameSuffix)
|
||||
|
||||
Reference in New Issue
Block a user