Publish different targets as different software components

This commit is contained in:
Ilya Matveev
2018-08-23 13:54:24 +07:00
committed by Ilya Matveev
parent 91308508bd
commit c23296a0d8
6 changed files with 85 additions and 22 deletions
@@ -9,8 +9,14 @@ import org.gradle.api.Named
import org.gradle.api.NamedDomainObjectContainer
import org.gradle.api.Project
import org.gradle.api.attributes.HasAttributes
import org.gradle.api.component.ComponentWithCoordinates
import org.gradle.api.internal.component.UsageContext
interface KotlinTargetComponent : ComponentWithCoordinates {
val target: KotlinTarget
val publishable: Boolean
}
interface KotlinTarget: Named, HasAttributes {
val targetName: String
val disambiguationClassifier: String? get() = targetName
@@ -27,6 +33,10 @@ interface KotlinTarget: Named, HasAttributes {
val apiElementsConfigurationName: String
val runtimeElementsConfigurationName: String
val publishable: Boolean
val component: KotlinTargetComponent
fun createUsageContexts(): Set<UsageContext>
override fun getName(): String = targetName