如何跳过除 Android 以外的所有目标,以将多平台 Kotlin 库发布到 Maven?

How can I skip all target except Android for Multiplatform Kotlin library publication to maven?

我正在使用 maven-publish 将我的多平台库发布到 maven 存储库。我的发布配置如下:

project.afterEvaluate {
    publishing {
        publications {
            create<MavenPublication>("maven") {
                groupId = projectGroup
                artifactId = projectArtifactName
                version = "${android.defaultConfig.versionName}"
                tasks.getByName("bundle${buildType.capitalize()}Aar").outputs.files.forEach {
                    artifact(it)
                }
            }
        }
        repositories {
            mavenLocal()
        }
    }
}

作为发布的结果,我得到了几个模块:

└── repository
    └── com
        └── example
            ├── lib-ios
            │   ├── 1.0.0
            ├── lib-iossim
            │   ├── 1.0.0
            ├── lib-macos
            │   ├── 1.0.0
            ├── lib-metadata
            │   ├── 1.0.0
            └── lib
                ├── 1.0.0

之后我在 Android 应用程序中使用这个库作为:

dependencies {
    implementation("com.example:lib:1.0.0")
}

所以看起来我只需要发布到 maven 我图书馆的 Android 部分,因为我使用 carthage 发布 iOS 部分。

如何跳过除 Android 之外的所有目标以将多平台 Kotlin 库发布到 maven?

查看你的成绩 > lib > 发布任务。应该有:

  1. Publish[module_name]PublicationToMavenLocal

  2. Publish[module_name]PublicationToMavenRepository

这应该只发布库的 Android 部分。