Provide a DSL for publication settings (#1869)
* Provide a DSL for publication settings * Rename DSL method publication -> mavenPublication * Fix gradle task input/output validation #KT-26771 fixed.
This commit is contained in:
+3
@@ -126,6 +126,9 @@ class KotlinMultiplatformPlugin(
|
||||
}
|
||||
|
||||
variant.publicationDelegate = variantPublication
|
||||
(target as AbstractKotlinTarget).publicationConfigureActions.all {
|
||||
it.execute(variantPublication)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+17
@@ -4,6 +4,9 @@
|
||||
*/
|
||||
package org.jetbrains.kotlin.gradle.plugin.mpp
|
||||
|
||||
import groovy.lang.Closure
|
||||
import org.gradle.api.Action
|
||||
import org.gradle.api.DomainObjectSet
|
||||
import org.gradle.api.NamedDomainObjectContainer
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.artifacts.Dependency
|
||||
@@ -11,6 +14,9 @@ import org.gradle.api.attributes.Attribute
|
||||
import org.gradle.api.attributes.AttributeContainer
|
||||
import org.gradle.api.internal.component.UsageContext
|
||||
import org.gradle.api.plugins.JavaPlugin
|
||||
import org.gradle.api.publish.maven.MavenPublication
|
||||
import org.gradle.util.ConfigureUtil
|
||||
import org.gradle.util.WrapUtil
|
||||
import org.jetbrains.kotlin.gradle.plugin.*
|
||||
import org.jetbrains.kotlin.gradle.utils.isGradleVersionAtLeast
|
||||
import org.jetbrains.kotlin.gradle.utils.lowerCamelCaseName
|
||||
@@ -61,6 +67,17 @@ abstract class AbstractKotlinTarget (
|
||||
runtimeElementsConfigurationName
|
||||
)
|
||||
) else emptyList()
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
internal val publicationConfigureActions =
|
||||
WrapUtil.toDomainObjectSet(Action::class.java) as DomainObjectSet<Action<MavenPublication>>
|
||||
|
||||
override fun mavenPublication(action: Action<MavenPublication>) {
|
||||
publicationConfigureActions.add(action)
|
||||
}
|
||||
|
||||
override fun mavenPublication(action: Closure<Unit>) =
|
||||
mavenPublication(ConfigureUtil.configureUsing(action))
|
||||
}
|
||||
|
||||
internal fun KotlinTarget.disambiguateName(simpleName: String) =
|
||||
|
||||
+1
-2
@@ -108,8 +108,7 @@ open class KotlinNativeCompile : AbstractCompile() {
|
||||
@InputFiles get() = compilation.compileDependencyFiles
|
||||
|
||||
private val friendModule: FileCollection?
|
||||
// It's already taken into account in libraries
|
||||
@Internal get() = compilation.friendCompilation?.output
|
||||
get() = compilation.friendCompilation?.output
|
||||
|
||||
override fun getClasspath(): FileCollection = libraries
|
||||
override fun setClasspath(configuration: FileCollection?) {
|
||||
|
||||
Reference in New Issue
Block a user