[Gradle, JS] Use only KotlinJsCompilation
^KT-41382 fixed
This commit is contained in:
committed by
Space Team
parent
b8e2a17de1
commit
c2e2572680
+2
-2
@@ -14,9 +14,9 @@ import org.jetbrains.kotlin.gradle.dsl.*
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSet
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.sources.KotlinDependencyScope
|
import org.jetbrains.kotlin.gradle.plugin.sources.KotlinDependencyScope
|
||||||
import org.jetbrains.kotlin.gradle.plugin.sources.sourceSetDependencyConfigurationByScope
|
import org.jetbrains.kotlin.gradle.plugin.sources.sourceSetDependencyConfigurationByScope
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
|
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.SemVer
|
import org.jetbrains.kotlin.gradle.targets.js.npm.SemVer
|
||||||
import org.jetbrains.kotlin.gradle.utils.forAllTargets
|
import org.jetbrains.kotlin.gradle.utils.forAllTargets
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@ private fun KotlinTarget.addKotlinDomApiDependency(
|
|||||||
) {
|
) {
|
||||||
compilations.configureEach { compilation ->
|
compilations.configureEach { compilation ->
|
||||||
if (compilation.platformType != KotlinPlatformType.js) return@configureEach
|
if (compilation.platformType != KotlinPlatformType.js) return@configureEach
|
||||||
if (compilation !is KotlinJsIrCompilation) return@configureEach
|
if (compilation !is KotlinJsCompilation) return@configureEach
|
||||||
|
|
||||||
compilation.allKotlinSourceSets.forEach { kotlinSourceSet ->
|
compilation.allKotlinSourceSets.forEach { kotlinSourceSet ->
|
||||||
val scopeConfiguration = configurations
|
val scopeConfiguration = configurations
|
||||||
|
|||||||
+2
-2
@@ -9,8 +9,8 @@ import org.gradle.api.Project
|
|||||||
import org.gradle.api.tasks.TaskProvider
|
import org.gradle.api.tasks.TaskProvider
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptions
|
import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptions
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptionsHelper
|
import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptionsHelper
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.JsIrBinary
|
import org.jetbrains.kotlin.gradle.targets.js.ir.JsIrBinary
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
|
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
|
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
|
import org.jetbrains.kotlin.gradle.targets.js.npm.npmProject
|
||||||
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
|
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
|
||||||
@@ -43,7 +43,7 @@ internal class KotlinJsIrSourceSetProcessor(
|
|||||||
it.dependsOn(kotlinTask)
|
it.dependsOn(kotlinTask)
|
||||||
}
|
}
|
||||||
|
|
||||||
val compilation = compilationInfo.tcs.compilation as KotlinJsIrCompilation
|
val compilation = compilationInfo.tcs.compilation as KotlinJsCompilation
|
||||||
|
|
||||||
compilation.binaries
|
compilation.binaries
|
||||||
.withType(JsIrBinary::class.java)
|
.withType(JsIrBinary::class.java)
|
||||||
|
|||||||
+1
-2
@@ -7,7 +7,6 @@ import org.jetbrains.kotlin.gradle.internal.kaptGenerateStubsTaskName
|
|||||||
import org.jetbrains.kotlin.gradle.logging.kotlinDebug
|
import org.jetbrains.kotlin.gradle.logging.kotlinDebug
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.*
|
import org.jetbrains.kotlin.gradle.plugin.mpp.*
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.JsIrBinary
|
import org.jetbrains.kotlin.gradle.targets.js.ir.JsIrBinary
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
|
|
||||||
import org.jetbrains.kotlin.gradle.tasks.*
|
import org.jetbrains.kotlin.gradle.tasks.*
|
||||||
import org.jetbrains.kotlin.gradle.utils.whenKaptEnabled
|
import org.jetbrains.kotlin.gradle.utils.whenKaptEnabled
|
||||||
|
|
||||||
@@ -65,7 +64,7 @@ class SubpluginEnvironment(
|
|||||||
kotlinCompilation.compileTaskProvider.configure(configureKotlinTask)
|
kotlinCompilation.compileTaskProvider.configure(configureKotlinTask)
|
||||||
project.configurePluginOptionsForKapt(kotlinCompilation, configureKotlinTask)
|
project.configurePluginOptionsForKapt(kotlinCompilation, configureKotlinTask)
|
||||||
|
|
||||||
if (kotlinCompilation is KotlinJsIrCompilation) {
|
if (kotlinCompilation is KotlinJsCompilation) {
|
||||||
kotlinCompilation.binaries.all {
|
kotlinCompilation.binaries.all {
|
||||||
if (it is JsIrBinary) {
|
if (it is JsIrBinary) {
|
||||||
it.linkTask.configure(configureKotlinTask)
|
it.linkTask.configure(configureKotlinTask)
|
||||||
|
|||||||
+2
-2
@@ -10,15 +10,15 @@ import org.jetbrains.kotlin.gradle.plugin.KotlinCommonSourceSetProcessor
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationInfo
|
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationInfo
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinJsIrSourceSetProcessor
|
import org.jetbrains.kotlin.gradle.plugin.KotlinJsIrSourceSetProcessor
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCommonCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCommonCompilation
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmCompilation
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
|
|
||||||
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
|
import org.jetbrains.kotlin.gradle.tasks.KotlinTasksProvider
|
||||||
|
|
||||||
internal val KotlinCompilationProcessorSideEffect = KotlinCompilationSideEffect { compilation ->
|
internal val KotlinCompilationProcessorSideEffect = KotlinCompilationSideEffect { compilation ->
|
||||||
val processor = when (compilation) {
|
val processor = when (compilation) {
|
||||||
is KotlinCommonCompilation -> KotlinCommonSourceSetProcessor(KotlinCompilationInfo(compilation), KotlinTasksProvider())
|
is KotlinCommonCompilation -> KotlinCommonSourceSetProcessor(KotlinCompilationInfo(compilation), KotlinTasksProvider())
|
||||||
is KotlinJvmCompilation -> Kotlin2JvmSourceSetProcessor(KotlinTasksProvider(), KotlinCompilationInfo(compilation))
|
is KotlinJvmCompilation -> Kotlin2JvmSourceSetProcessor(KotlinTasksProvider(), KotlinCompilationInfo(compilation))
|
||||||
is KotlinJsIrCompilation -> KotlinJsIrSourceSetProcessor(KotlinTasksProvider(), KotlinCompilationInfo(compilation))
|
is KotlinJsCompilation -> KotlinJsIrSourceSetProcessor(KotlinTasksProvider(), KotlinCompilationInfo(compilation))
|
||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
processor?.run()
|
processor?.run()
|
||||||
|
|||||||
+1
-1
@@ -65,7 +65,7 @@ interface KotlinJsTargetDsl : KotlinTarget, KotlinTargetWithNodeJsDsl {
|
|||||||
val testRuns: NamedDomainObjectContainer<KotlinJsReportAggregatingTestRun>
|
val testRuns: NamedDomainObjectContainer<KotlinJsReportAggregatingTestRun>
|
||||||
|
|
||||||
// Need to compatibility when users use KotlinJsCompilation specific in build script
|
// Need to compatibility when users use KotlinJsCompilation specific in build script
|
||||||
override val compilations: NamedDomainObjectContainer<out KotlinJsCompilation>
|
override val compilations: NamedDomainObjectContainer<KotlinJsCompilation>
|
||||||
}
|
}
|
||||||
|
|
||||||
interface KotlinTargetWithNodeJsDsl {
|
interface KotlinTargetWithNodeJsDsl {
|
||||||
|
|||||||
+3
-2
@@ -15,6 +15,7 @@ import org.gradle.language.base.plugins.LifecycleBasePlugin
|
|||||||
import org.jetbrains.kotlin.gradle.dsl.JsModuleKind
|
import org.jetbrains.kotlin.gradle.dsl.JsModuleKind
|
||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJsDce
|
import org.jetbrains.kotlin.gradle.dsl.KotlinJsDce
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.utils.archivesName
|
import org.jetbrains.kotlin.gradle.utils.archivesName
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalDceDsl
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalDceDsl
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode
|
||||||
@@ -104,7 +105,7 @@ abstract class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun configureRun(
|
override fun configureRun(
|
||||||
compilation: KotlinJsIrCompilation
|
compilation: KotlinJsCompilation
|
||||||
) {
|
) {
|
||||||
val commonRunTask = registerSubTargetTask<Task>(disambiguateCamelCased(RUN_TASK_NAME)) {}
|
val commonRunTask = registerSubTargetTask<Task>(disambiguateCamelCased(RUN_TASK_NAME)) {}
|
||||||
|
|
||||||
@@ -171,7 +172,7 @@ abstract class KotlinBrowserJsIr @Inject constructor(target: KotlinJsIrTarget) :
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun configureBuild(
|
override fun configureBuild(
|
||||||
compilation: KotlinJsIrCompilation
|
compilation: KotlinJsCompilation
|
||||||
) {
|
) {
|
||||||
val project = compilation.target.project
|
val project = compilation.target.project
|
||||||
|
|
||||||
|
|||||||
+2
-3
@@ -6,7 +6,6 @@
|
|||||||
package org.jetbrains.kotlin.gradle.targets.js.ir
|
package org.jetbrains.kotlin.gradle.targets.js.ir
|
||||||
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.KotlinCompilationImpl
|
|
||||||
import javax.inject.Inject
|
|
||||||
|
|
||||||
open class KotlinJsIrCompilation @Inject internal constructor(compilation: KotlinCompilationImpl) : KotlinJsCompilation(compilation)
|
@Deprecated("Use KotlinJsCompilation instead")
|
||||||
|
typealias KotlinJsIrCompilation = KotlinJsCompilation
|
||||||
+5
-4
@@ -7,6 +7,7 @@ package org.jetbrains.kotlin.gradle.targets.js.ir
|
|||||||
|
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCompilationFactory
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCompilationFactory
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationFriendPathsResolver
|
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationFriendPathsResolver
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationPreConfigure
|
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.DefaultKotlinCompilationPreConfigure
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.*
|
import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.*
|
||||||
@@ -18,9 +19,9 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.compilationImpl.factory.KotlinJsCo
|
|||||||
|
|
||||||
class KotlinJsIrCompilationFactory internal constructor(
|
class KotlinJsIrCompilationFactory internal constructor(
|
||||||
override val target: KotlinJsIrTarget,
|
override val target: KotlinJsIrTarget,
|
||||||
) : KotlinCompilationFactory<KotlinJsIrCompilation> {
|
) : KotlinCompilationFactory<KotlinJsCompilation> {
|
||||||
override val itemClass: Class<KotlinJsIrCompilation>
|
override val itemClass: Class<KotlinJsCompilation>
|
||||||
get() = KotlinJsIrCompilation::class.java
|
get() = KotlinJsCompilation::class.java
|
||||||
|
|
||||||
private val compilationImplFactory: KotlinCompilationImplFactory = KotlinCompilationImplFactory(
|
private val compilationImplFactory: KotlinCompilationImplFactory = KotlinCompilationImplFactory(
|
||||||
compilerOptionsFactory = KotlinJsCompilerOptionsFactory,
|
compilerOptionsFactory = KotlinJsCompilerOptionsFactory,
|
||||||
@@ -38,7 +39,7 @@ class KotlinJsIrCompilationFactory internal constructor(
|
|||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
override fun create(name: String): KotlinJsIrCompilation = target.project.objects.newInstance(
|
override fun create(name: String): KotlinJsCompilation = target.project.objects.newInstance(
|
||||||
itemClass, compilationImplFactory.create(target, name)
|
itemClass, compilationImplFactory.create(target, name)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-5
@@ -15,6 +15,7 @@ import org.gradle.language.base.plugins.LifecycleBasePlugin
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.AbstractKotlinTargetConfigurator
|
import org.jetbrains.kotlin.gradle.plugin.AbstractKotlinTargetConfigurator
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTests
|
import org.jetbrains.kotlin.gradle.plugin.KotlinTargetWithTests
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.isMain
|
import org.jetbrains.kotlin.gradle.plugin.mpp.isMain
|
||||||
import org.jetbrains.kotlin.gradle.utils.whenEvaluated
|
import org.jetbrains.kotlin.gradle.utils.whenEvaluated
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsPlatformTestRun
|
import org.jetbrains.kotlin.gradle.targets.js.KotlinJsPlatformTestRun
|
||||||
@@ -103,7 +104,7 @@ abstract class KotlinJsIrSubTarget(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun configureTestsRun(testRun: KotlinJsPlatformTestRun, compilation: KotlinJsIrCompilation) {
|
private fun configureTestsRun(testRun: KotlinJsPlatformTestRun, compilation: KotlinJsCompilation) {
|
||||||
fun KotlinJsPlatformTestRun.subtargetTestTaskName(): String = disambiguateCamelCased(
|
fun KotlinJsPlatformTestRun.subtargetTestTaskName(): String = disambiguateCamelCased(
|
||||||
lowerCamelCaseName(
|
lowerCamelCaseName(
|
||||||
name.takeIf { it != KotlinTargetWithTests.DEFAULT_TEST_RUN_NAME },
|
name.takeIf { it != KotlinTargetWithTests.DEFAULT_TEST_RUN_NAME },
|
||||||
@@ -192,14 +193,14 @@ abstract class KotlinJsIrSubTarget(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun configureMain(compilation: KotlinJsIrCompilation) {
|
private fun configureMain(compilation: KotlinJsCompilation) {
|
||||||
configureRun(compilation)
|
configureRun(compilation)
|
||||||
configureBuild(compilation)
|
configureBuild(compilation)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract fun configureRun(compilation: KotlinJsIrCompilation)
|
protected abstract fun configureRun(compilation: KotlinJsCompilation)
|
||||||
|
|
||||||
protected abstract fun configureBuild(compilation: KotlinJsIrCompilation)
|
protected abstract fun configureBuild(compilation: KotlinJsCompilation)
|
||||||
|
|
||||||
private fun configureLibrary() {
|
private fun configureLibrary() {
|
||||||
target.compilations.all { compilation ->
|
target.compilations.all { compilation ->
|
||||||
@@ -209,7 +210,7 @@ abstract class KotlinJsIrSubTarget(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected open fun configureLibrary(compilation: KotlinJsIrCompilation) {
|
protected open fun configureLibrary(compilation: KotlinJsCompilation) {
|
||||||
val project = compilation.target.project
|
val project = compilation.target.project
|
||||||
|
|
||||||
val assembleTaskProvider = project.tasks.named(LifecycleBasePlugin.ASSEMBLE_TASK_NAME)
|
val assembleTaskProvider = project.tasks.named(LifecycleBasePlugin.ASSEMBLE_TASK_NAME)
|
||||||
|
|||||||
+4
-3
@@ -6,6 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.gradle.targets.js.ir
|
package org.jetbrains.kotlin.gradle.targets.js.ir
|
||||||
|
|
||||||
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
import org.gradle.language.base.plugins.LifecycleBasePlugin
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode
|
||||||
import org.jetbrains.kotlin.gradle.tasks.dependsOn
|
import org.jetbrains.kotlin.gradle.tasks.dependsOn
|
||||||
import org.jetbrains.kotlin.util.capitalizeDecapitalize.toLowerCaseAsciiOnly
|
import org.jetbrains.kotlin.util.capitalizeDecapitalize.toLowerCaseAsciiOnly
|
||||||
@@ -15,7 +16,7 @@ abstract class KotlinJsIrSubTargetBase(target: KotlinJsIrTarget, classifier: Str
|
|||||||
|
|
||||||
protected val runTaskName = disambiguateCamelCased("run")
|
protected val runTaskName = disambiguateCamelCased("run")
|
||||||
|
|
||||||
override fun configureRun(compilation: KotlinJsIrCompilation) {
|
override fun configureRun(compilation: KotlinJsCompilation) {
|
||||||
compilation.binaries
|
compilation.binaries
|
||||||
.withType(JsIrBinary::class.java)
|
.withType(JsIrBinary::class.java)
|
||||||
.matching { it is Executable }
|
.matching { it is Executable }
|
||||||
@@ -40,7 +41,7 @@ abstract class KotlinJsIrSubTargetBase(target: KotlinJsIrTarget, classifier: Str
|
|||||||
|
|
||||||
protected abstract fun locateOrRegisterRunTask(binary: JsIrBinary, name: String)
|
protected abstract fun locateOrRegisterRunTask(binary: JsIrBinary, name: String)
|
||||||
|
|
||||||
override fun configureBuild(compilation: KotlinJsIrCompilation) {
|
override fun configureBuild(compilation: KotlinJsCompilation) {
|
||||||
compilation.binaries
|
compilation.binaries
|
||||||
.getIrBinaries(KotlinJsBinaryMode.PRODUCTION)
|
.getIrBinaries(KotlinJsBinaryMode.PRODUCTION)
|
||||||
.matching { it is Executable }
|
.matching { it is Executable }
|
||||||
@@ -49,7 +50,7 @@ abstract class KotlinJsIrSubTargetBase(target: KotlinJsIrTarget, classifier: Str
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun configureLibrary(compilation: KotlinJsIrCompilation) {
|
override fun configureLibrary(compilation: KotlinJsCompilation) {
|
||||||
super.configureLibrary(compilation)
|
super.configureLibrary(compilation)
|
||||||
|
|
||||||
compilation.binaries
|
compilation.binaries
|
||||||
|
|||||||
+2
-2
@@ -46,7 +46,7 @@ constructor(
|
|||||||
project: Project,
|
project: Project,
|
||||||
platformType: KotlinPlatformType,
|
platformType: KotlinPlatformType,
|
||||||
) :
|
) :
|
||||||
KotlinTargetWithBinaries<KotlinJsIrCompilation, KotlinJsBinaryContainer>(project, platformType),
|
KotlinTargetWithBinaries<KotlinJsCompilation, KotlinJsBinaryContainer>(project, platformType),
|
||||||
KotlinTargetWithTests<JsAggregatingExecutionSource, KotlinJsReportAggregatingTestRun>,
|
KotlinTargetWithTests<JsAggregatingExecutionSource, KotlinJsReportAggregatingTestRun>,
|
||||||
KotlinJsTargetDsl,
|
KotlinJsTargetDsl,
|
||||||
KotlinWasmJsTargetDsl,
|
KotlinWasmJsTargetDsl,
|
||||||
@@ -127,7 +127,7 @@ constructor(
|
|||||||
)
|
)
|
||||||
|
|
||||||
override val binaries: KotlinJsBinaryContainer
|
override val binaries: KotlinJsBinaryContainer
|
||||||
get() = compilations.withType(KotlinJsIrCompilation::class.java)
|
get() = compilations.withType(KotlinJsCompilation::class.java)
|
||||||
.named(MAIN_COMPILATION_NAME)
|
.named(MAIN_COMPILATION_NAME)
|
||||||
.map { it.binaries }
|
.map { it.binaries }
|
||||||
.get()
|
.get()
|
||||||
|
|||||||
+2
-1
@@ -10,9 +10,10 @@ import org.jetbrains.kotlin.gradle.dsl.JsSourceMapEmbedMode
|
|||||||
import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptions
|
import org.jetbrains.kotlin.gradle.dsl.KotlinJsCompilerOptions
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinOnlyTargetConfigurator
|
import org.jetbrains.kotlin.gradle.plugin.KotlinOnlyTargetConfigurator
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
|
|
||||||
open class KotlinJsIrTargetConfigurator :
|
open class KotlinJsIrTargetConfigurator :
|
||||||
KotlinOnlyTargetConfigurator<KotlinJsIrCompilation, KotlinJsIrTarget>(true) {
|
KotlinOnlyTargetConfigurator<KotlinJsCompilation, KotlinJsIrTarget>(true) {
|
||||||
|
|
||||||
override val runtimeIncludesCompilationOutputs: Boolean = false
|
override val runtimeIncludesCompilationOutputs: Boolean = false
|
||||||
|
|
||||||
|
|||||||
+5
-4
@@ -11,6 +11,7 @@ import org.jetbrains.kotlin.gradle.plugin.AbstractKotlinTargetConfigurator
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinOnlyTargetConfigurator
|
import org.jetbrains.kotlin.gradle.plugin.KotlinOnlyTargetConfigurator
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCompilationFactory
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCompilationFactory
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTarget
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTarget
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTargetPreset
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTargetPreset
|
||||||
import org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService
|
import org.jetbrains.kotlin.gradle.plugin.statistics.KotlinBuildStatsService
|
||||||
@@ -20,7 +21,7 @@ import org.jetbrains.kotlin.statistics.metrics.StringMetrics
|
|||||||
@DeprecatedTargetPresetApi
|
@DeprecatedTargetPresetApi
|
||||||
open class KotlinJsIrTargetPreset(
|
open class KotlinJsIrTargetPreset(
|
||||||
project: Project,
|
project: Project,
|
||||||
) : KotlinOnlyTargetPreset<KotlinJsIrTarget, KotlinJsIrCompilation>(
|
) : KotlinOnlyTargetPreset<KotlinJsIrTarget, KotlinJsCompilation>(
|
||||||
project
|
project
|
||||||
) {
|
) {
|
||||||
open val isMpp: Boolean
|
open val isMpp: Boolean
|
||||||
@@ -53,7 +54,7 @@ open class KotlinJsIrTargetPreset(
|
|||||||
//TODO[Ilya Goncharov] remove public morozov
|
//TODO[Ilya Goncharov] remove public morozov
|
||||||
public override fun createCompilationFactory(
|
public override fun createCompilationFactory(
|
||||||
forTarget: KotlinJsIrTarget,
|
forTarget: KotlinJsIrTarget,
|
||||||
): KotlinCompilationFactory<KotlinJsIrCompilation> =
|
): KotlinCompilationFactory<KotlinJsCompilation> =
|
||||||
KotlinJsIrCompilationFactory(forTarget)
|
KotlinJsIrCompilationFactory(forTarget)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
@@ -71,10 +72,10 @@ class KotlinJsIrSingleTargetPreset(
|
|||||||
get() = false
|
get() = false
|
||||||
|
|
||||||
// In a Kotlin/JS single-platform project, we don't need any disambiguation suffixes or prefixes in the names:
|
// In a Kotlin/JS single-platform project, we don't need any disambiguation suffixes or prefixes in the names:
|
||||||
override fun provideTargetDisambiguationClassifier(target: KotlinOnlyTarget<KotlinJsIrCompilation>): String? {
|
override fun provideTargetDisambiguationClassifier(target: KotlinOnlyTarget<KotlinJsCompilation>): String? {
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun createKotlinTargetConfigurator(): KotlinOnlyTargetConfigurator<KotlinJsIrCompilation, KotlinJsIrTarget> =
|
override fun createKotlinTargetConfigurator(): KotlinOnlyTargetConfigurator<KotlinJsCompilation, KotlinJsIrTarget> =
|
||||||
KotlinJsIrTargetConfigurator()
|
KotlinJsIrTargetConfigurator()
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-2
@@ -9,6 +9,7 @@ import org.gradle.api.Project
|
|||||||
import org.jetbrains.kotlin.gradle.DeprecatedTargetPresetApi
|
import org.jetbrains.kotlin.gradle.DeprecatedTargetPresetApi
|
||||||
import org.jetbrains.kotlin.gradle.plugin.*
|
import org.jetbrains.kotlin.gradle.plugin.*
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCompilationFactory
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinCompilationFactory
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTargetPreset
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinOnlyTargetPreset
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinWasmTargetType
|
import org.jetbrains.kotlin.gradle.targets.js.KotlinWasmTargetType
|
||||||
import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly
|
import org.jetbrains.kotlin.util.capitalizeDecapitalize.capitalizeAsciiOnly
|
||||||
@@ -18,7 +19,7 @@ import org.jetbrains.kotlin.util.capitalizeDecapitalize.toLowerCaseAsciiOnly
|
|||||||
class KotlinWasmTargetPreset(
|
class KotlinWasmTargetPreset(
|
||||||
project: Project,
|
project: Project,
|
||||||
private val targetType: KotlinWasmTargetType
|
private val targetType: KotlinWasmTargetType
|
||||||
) : KotlinOnlyTargetPreset<KotlinJsIrTarget, KotlinJsIrCompilation>(project) {
|
) : KotlinOnlyTargetPreset<KotlinJsIrTarget, KotlinJsCompilation>(project) {
|
||||||
override val platformType: KotlinPlatformType = KotlinPlatformType.wasm
|
override val platformType: KotlinPlatformType = KotlinPlatformType.wasm
|
||||||
|
|
||||||
override fun instantiateTarget(name: String): KotlinJsIrTarget {
|
override fun instantiateTarget(name: String): KotlinJsIrTarget {
|
||||||
@@ -40,7 +41,7 @@ class KotlinWasmTargetPreset(
|
|||||||
|
|
||||||
public override fun createCompilationFactory(
|
public override fun createCompilationFactory(
|
||||||
forTarget: KotlinJsIrTarget
|
forTarget: KotlinJsIrTarget
|
||||||
): KotlinCompilationFactory<KotlinJsIrCompilation> =
|
): KotlinCompilationFactory<KotlinJsCompilation> =
|
||||||
KotlinJsIrCompilationFactory(forTarget)
|
KotlinJsIrCompilationFactory(forTarget)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
+1
-2
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.gradle.plugin.sources.KotlinDependencyScope
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.sources.compilationDependencyConfigurationByScope
|
import org.jetbrains.kotlin.gradle.plugin.sources.compilationDependencyConfigurationByScope
|
||||||
import org.jetbrains.kotlin.gradle.plugin.sources.sourceSetDependencyConfigurationByScope
|
import org.jetbrains.kotlin.gradle.plugin.sources.sourceSetDependencyConfigurationByScope
|
||||||
import org.jetbrains.kotlin.gradle.plugin.usesPlatformOf
|
import org.jetbrains.kotlin.gradle.plugin.usesPlatformOf
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
|
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
|
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin.Companion.kotlinNodeJsExtension
|
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin.Companion.kotlinNodeJsExtension
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin.Companion.kotlinNpmResolutionManager
|
import org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin.Companion.kotlinNpmResolutionManager
|
||||||
@@ -78,7 +77,7 @@ class KotlinCompilationNpmResolver(
|
|||||||
it.npmResolutionManager.value(npmResolutionManager)
|
it.npmResolutionManager.value(npmResolutionManager)
|
||||||
.disallowChanges()
|
.disallowChanges()
|
||||||
|
|
||||||
it.jsIrCompilation.set(compilation is KotlinJsIrCompilation)
|
it.jsIrCompilation.set(true)
|
||||||
it.npmProjectName.set(npmProject.name)
|
it.npmProjectName.set(npmProject.name)
|
||||||
it.npmProjectMain.set(npmProject.main)
|
it.npmProjectMain.set(npmProject.main)
|
||||||
it.esModules.set(compilation.compilerOptions.options.moduleKind.get() == JsModuleKind.MODULE_ES)
|
it.esModules.set(compilation.compilerOptions.options.moduleKind.get() == JsModuleKind.MODULE_ES)
|
||||||
|
|||||||
+1
-2
@@ -11,7 +11,6 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
|||||||
import org.jetbrains.kotlin.gradle.plugin.mpp.isMain
|
import org.jetbrains.kotlin.gradle.plugin.mpp.isMain
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinWasmTargetType
|
import org.jetbrains.kotlin.gradle.targets.js.KotlinWasmTargetType
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.NpmVersions
|
import org.jetbrains.kotlin.gradle.targets.js.NpmVersions
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
|
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
|
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrTarget
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.nodejs.TasksRequirements
|
import org.jetbrains.kotlin.gradle.targets.js.nodejs.TasksRequirements
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.npm.resolved.KotlinRootNpmResolution
|
import org.jetbrains.kotlin.gradle.targets.js.npm.resolved.KotlinRootNpmResolution
|
||||||
@@ -68,7 +67,7 @@ class KotlinRootNpmResolver internal constructor(
|
|||||||
check(mainCompilations.size <= maxMainCompilationsCount) { errorMessage }
|
check(mainCompilations.size <= maxMainCompilationsCount) { errorMessage }
|
||||||
for (npmResolver in mainCompilations) {
|
for (npmResolver in mainCompilations) {
|
||||||
when (val compilation = npmResolver.compilation) {
|
when (val compilation = npmResolver.compilation) {
|
||||||
is KotlinJsIrCompilation -> {
|
is KotlinJsCompilation -> {
|
||||||
if (compilation.platformType == KotlinPlatformType.wasm) {
|
if (compilation.platformType == KotlinPlatformType.wasm) {
|
||||||
val jsTarget = compilation.target as KotlinJsIrTarget
|
val jsTarget = compilation.target as KotlinJsIrTarget
|
||||||
if (jsTarget.wasmTargetType == KotlinWasmTargetType.JS) {
|
if (jsTarget.wasmTargetType == KotlinWasmTargetType.JS) {
|
||||||
|
|||||||
+1
-1
@@ -129,7 +129,7 @@ internal open class BaseKotlin2JsCompileConfig<TASK : Kotlin2JsCompile>(
|
|||||||
|
|
||||||
if (compilation.platformType == KotlinPlatformType.wasm) {
|
if (compilation.platformType == KotlinPlatformType.wasm) {
|
||||||
add(WASM_BACKEND)
|
add(WASM_BACKEND)
|
||||||
val wasmTargetType = ((compilation.origin as KotlinJsIrCompilation).target as KotlinJsIrTarget).wasmTargetType!!
|
val wasmTargetType = ((compilation.origin as KotlinJsCompilation).target as KotlinJsIrTarget).wasmTargetType!!
|
||||||
val targetValue = if (wasmTargetType == KotlinWasmTargetType.WASI) "wasm-wasi" else "wasm-js"
|
val targetValue = if (wasmTargetType == KotlinWasmTargetType.WASI) "wasm-wasi" else "wasm-js"
|
||||||
add("$WASM_TARGET=$targetValue")
|
add("$WASM_TARGET=$targetValue")
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -8,6 +8,7 @@ package org.jetbrains.kotlin.gradle.tasks.configuration
|
|||||||
import org.gradle.api.InvalidUserDataException
|
import org.gradle.api.InvalidUserDataException
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationInfo
|
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationInfo
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJsCompilation
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinWasmTargetType
|
import org.jetbrains.kotlin.gradle.targets.js.KotlinWasmTargetType
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode
|
import org.jetbrains.kotlin.gradle.targets.js.dsl.KotlinJsBinaryMode
|
||||||
import org.jetbrains.kotlin.gradle.targets.js.ir.*
|
import org.jetbrains.kotlin.gradle.targets.js.ir.*
|
||||||
@@ -99,7 +100,7 @@ internal open class KotlinJsIrLinkConfig(
|
|||||||
|
|
||||||
if (compilation.platformType == KotlinPlatformType.wasm) {
|
if (compilation.platformType == KotlinPlatformType.wasm) {
|
||||||
add(WASM_BACKEND)
|
add(WASM_BACKEND)
|
||||||
val wasmTargetType = ((compilation.origin as KotlinJsIrCompilation).target as KotlinJsIrTarget).wasmTargetType!!
|
val wasmTargetType = ((compilation.origin as KotlinJsCompilation).target as KotlinJsIrTarget).wasmTargetType!!
|
||||||
val targetValue = if (wasmTargetType == KotlinWasmTargetType.WASI) "wasm-wasi" else "wasm-js"
|
val targetValue = if (wasmTargetType == KotlinWasmTargetType.WASI) "wasm-wasi" else "wasm-js"
|
||||||
add("$WASM_TARGET=$targetValue")
|
add("$WASM_TARGET=$targetValue")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user