Kotlin 多平台:使用 Gradle Kotlin dsl 跳过某些平台的发布
Kotlin multiplatform: Skipping publish of some platforms using Gradle Kotlin dsl
我有 Kotlin 多平台项目。我想将部分工件发布到存储库,跳过另一部分。
我正在使用以下配置:
kotlin {
jvm()
val iosArm64 = iosArm64()
val iosX64 = iosX64()
configure(listOf(iosArm64, iosX64)) {
binaries {
framework("some") {
embedBitcode("disable")
}
}
}
...
}
publishing {
repositories {
maven {
...
}
}
publications {
register("mavenJava", MavenPublication::class) {
...
}
}
}
例如,我想跳过 iosX64,因为我做了一个 "Fat framework" 并且我想发布它。如何配置 Gradle Kotlin dsl 以避免发布?
这可以使用 maven-publish 的任务配置来实现:
tasks.withType<PublishToMavenRepository>().configureEach {
onlyIf {
(publication.artifactId == "my-artifact-1") || (publication.artifactId == "my-artifact-2")
}
}
我有 Kotlin 多平台项目。我想将部分工件发布到存储库,跳过另一部分。 我正在使用以下配置:
kotlin {
jvm()
val iosArm64 = iosArm64()
val iosX64 = iosX64()
configure(listOf(iosArm64, iosX64)) {
binaries {
framework("some") {
embedBitcode("disable")
}
}
}
...
}
publishing {
repositories {
maven {
...
}
}
publications {
register("mavenJava", MavenPublication::class) {
...
}
}
}
例如,我想跳过 iosX64,因为我做了一个 "Fat framework" 并且我想发布它。如何配置 Gradle Kotlin dsl 以避免发布?
这可以使用 maven-publish 的任务配置来实现:
tasks.withType<PublishToMavenRepository>().configureEach {
onlyIf {
(publication.artifactId == "my-artifact-1") || (publication.artifactId == "my-artifact-2")
}
}