Create runtime software component usage only for runnables;
Also make Kotlin2JsCompilation a compilation to runnable files
This commit is contained in:
+1
-1
@@ -223,7 +223,7 @@ class KotlinJsCompilation(
|
|||||||
target: KotlinTarget,
|
target: KotlinTarget,
|
||||||
name: String,
|
name: String,
|
||||||
override val output: SourceSetOutput
|
override val output: SourceSetOutput
|
||||||
) : AbstractKotlinCompilation(target, name)
|
) : AbstractKotlinCompilationToRunnableFiles(target, name)
|
||||||
|
|
||||||
class KotlinCommonCompilation(
|
class KotlinCommonCompilation(
|
||||||
target: KotlinTarget,
|
target: KotlinTarget,
|
||||||
|
|||||||
+15
-4
@@ -11,6 +11,7 @@ import org.gradle.api.attributes.AttributeContainer
|
|||||||
import org.gradle.api.internal.component.UsageContext
|
import org.gradle.api.internal.component.UsageContext
|
||||||
import org.gradle.api.plugins.JavaPlugin
|
import org.gradle.api.plugins.JavaPlugin
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilation
|
||||||
|
import org.jetbrains.kotlin.gradle.plugin.KotlinCompilationToRunnableFiles
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
import org.jetbrains.kotlin.gradle.plugin.KotlinPlatformType
|
||||||
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
import org.jetbrains.kotlin.gradle.plugin.KotlinTarget
|
||||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||||
@@ -36,10 +37,20 @@ abstract class AbstractKotlinTarget (
|
|||||||
|
|
||||||
override fun toString(): String = "target $name ($platformType)"
|
override fun toString(): String = "target $name ($platformType)"
|
||||||
|
|
||||||
override fun createUsageContexts(): Set<UsageContext> = setOf(
|
override fun createUsageContexts(): Set<UsageContext> =
|
||||||
KotlinPlatformUsageContext(project, this, KotlinSoftwareComponent.kotlinApiUsage(project), apiElementsConfigurationName),
|
setOf(
|
||||||
KotlinPlatformUsageContext(project, this, KotlinSoftwareComponent.kotlinRuntimeUsage(project), runtimeElementsConfigurationName)
|
KotlinPlatformUsageContext(
|
||||||
)
|
project, this, KotlinSoftwareComponent.kotlinApiUsage(project), apiElementsConfigurationName
|
||||||
|
)
|
||||||
|
) + if (compilations.getByName(KotlinCompilation.MAIN_COMPILATION_NAME) is KotlinCompilationToRunnableFiles)
|
||||||
|
setOf(
|
||||||
|
KotlinPlatformUsageContext(
|
||||||
|
project,
|
||||||
|
this,
|
||||||
|
KotlinSoftwareComponent.kotlinRuntimeUsage(project),
|
||||||
|
runtimeElementsConfigurationName
|
||||||
|
)
|
||||||
|
) else emptyList()
|
||||||
}
|
}
|
||||||
|
|
||||||
internal fun KotlinTarget.disambiguateName(simpleName: String) =
|
internal fun KotlinTarget.disambiguateName(simpleName: String) =
|
||||||
|
|||||||
Reference in New Issue
Block a user