I’m using maven-publish
to publish my multiplatform library to maven
repo. My publishing config looks like:
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()
}
}
}
As a result of publishing i get several modules:
└── 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
After that i use this library in Android app as:
dependencies {
implementation("com.example:lib:1.0.0")
}
So it looks like i need to publish to maven
only Android part of my library, since i use carthage
to publish iOS part.
How can I skip all target except Android for Multiplatform Kotlin library publication to maven?
Check your grade > lib > publishing tasks. There should be:
Publish[module_name]PublicationToMavenLocal
and
Publish[module_name]PublicationToMavenRepository
This should publish only Android part of the library.