[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
|
package org.jetbrains.kotlin.gradle.plugin.mpp
|
||||||
|
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJsOptions
|
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.KotlinCompilationWithResources
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
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.KotlinJsTarget
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJson
|
import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJson
|
||||||
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
|
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
|
||||||
@@ -35,12 +34,37 @@ open class KotlinJsCompilation(
|
|||||||
packageJsonHandlers.add(handler)
|
packageJsonHandlers.add(handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
override val defaultSourceSetName: String
|
override val apiConfigurationName: String
|
||||||
get() = lowerCamelCaseName(
|
get() = disambiguateNameInPlatform("api")
|
||||||
(target as KotlinJsTarget).irTarget?.let {
|
|
||||||
target.disambiguationClassifier
|
override val implementationConfigurationName: String
|
||||||
?.removeJsCompilerSuffix(JsCompilerType.legacy)
|
get() = disambiguateNameInPlatform("implementation")
|
||||||
} ?: target.disambiguationClassifier,
|
|
||||||
compilationName
|
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>
|
override lateinit var testRuns: NamedDomainObjectContainer<KotlinJsReportAggregatingTestRun>
|
||||||
internal set
|
internal set
|
||||||
|
|
||||||
|
val disambiguationClassifierInPlatform: String?
|
||||||
|
get() = disambiguationClassifier?.removeJsCompilerSuffix(JsCompilerType.legacy)
|
||||||
|
|
||||||
override val kotlinComponents: Set<KotlinTargetComponent> by lazy {
|
override val kotlinComponents: Set<KotlinTargetComponent> by lazy {
|
||||||
if (irTarget == null)
|
if (irTarget == null)
|
||||||
super.kotlinComponents
|
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.file.SourceDirectorySet
|
||||||
import org.gradle.api.tasks.TaskProvider
|
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.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrType.DEVELOPMENT
|
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrType.DEVELOPMENT
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrType.PRODUCTION
|
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrType.PRODUCTION
|
||||||
@@ -43,12 +45,14 @@ class KotlinJsIrCompilation(
|
|||||||
allSources.add(sourceSet.kotlin)
|
allSources.add(sourceSet.kotlin)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override val disambiguationClassifierInPlatform: String?
|
||||||
|
get() = (target as KotlinJsIrTarget).disambiguationClassifierInPlatform
|
||||||
|
|
||||||
override val defaultSourceSetName: String
|
override val defaultSourceSetName: String
|
||||||
get() {
|
get() {
|
||||||
return lowerCamelCaseName(
|
return lowerCamelCaseName(
|
||||||
if ((target as KotlinJsIrTarget).mixedMode)
|
if ((target as KotlinJsIrTarget).mixedMode)
|
||||||
target.disambiguationClassifier
|
target.disambiguationClassifierInPlatform
|
||||||
?.removeJsCompilerSuffix(JsCompilerType.ir)
|
|
||||||
else
|
else
|
||||||
target.disambiguationClassifier,
|
target.disambiguationClassifier,
|
||||||
compilationName
|
compilationName
|
||||||
|
|||||||
+5
@@ -9,9 +9,11 @@ import org.gradle.api.NamedDomainObjectContainer
|
|||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.api.Task
|
import org.gradle.api.Task
|
||||||
import org.jetbrains.kotlin.gradle.plugin.AbstractKotlinTargetConfigurator.Companion.runTaskNameSuffix
|
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.KotlinPlatformType
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTests
|
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTests
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTarget
|
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.JsAggregatingExecutionSource
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsProducingType
|
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsProducingType
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsReportAggregatingTestRun
|
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsReportAggregatingTestRun
|
||||||
@@ -34,6 +36,9 @@ constructor(
|
|||||||
override lateinit var testRuns: NamedDomainObjectContainer<KotlinJsReportAggregatingTestRun>
|
override lateinit var testRuns: NamedDomainObjectContainer<KotlinJsReportAggregatingTestRun>
|
||||||
internal set
|
internal set
|
||||||
|
|
||||||
|
val disambiguationClassifierInPlatform: String?
|
||||||
|
get() = disambiguationClassifier?.removeJsCompilerSuffix(JsCompilerType.ir)
|
||||||
|
|
||||||
var producingType: KotlinJsProducingType? = null
|
var producingType: KotlinJsProducingType? = null
|
||||||
|
|
||||||
private val runTaskName get() = lowerCamelCaseName(disambiguationClassifier, runTaskNameSuffix)
|
private val runTaskName get() = lowerCamelCaseName(disambiguationClassifier, runTaskNameSuffix)
|
||||||
|
|||||||
Reference in New Issue
Block a user