Мультиплатформа Kotlin: Пропуск публикации некоторых платформ с использованием Gradle Kotlin dsl - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть мультиплатформенный проект 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, чтобы избежать публикации?

1 Ответ

0 голосов
/ 28 апреля 2019

Этого можно добиться, используя конфигурацию задачи maven-publish:

tasks.withType<PublishToMavenRepository>().configureEach {
    onlyIf {
        (publication.artifactId == "my-artifact-1") || (publication.artifactId == "my-artifact-2")
    }
}
...