KotlinPublicationScriptsBui.../core/src/commonMain/kotlin/dev/inmo/kmppscriptbuilder/core/export/mpp/MavenTemplater.kt

53 lines
1.4 KiB
Kotlin
Raw Normal View History

2021-03-01 14:17:06 +00:00
package dev.inmo.kmppscriptbuilder.core.export.mpp
2022-01-04 15:49:16 +00:00
import dev.inmo.kmppscriptbuilder.core.export.generateMavenConfig
2021-03-01 14:17:06 +00:00
import dev.inmo.kmppscriptbuilder.core.models.*
fun MavenConfig.buildMultiplatformMavenConfig(licenses: List<License>): String = """
2022-01-04 15:49:16 +00:00
apply plugin: 'maven-publish'
task javadocsJar(type: Jar) {
2023-11-02 11:30:42 +00:00
archiveClassifier = 'javadoc'
2022-01-04 15:49:16 +00:00
}
publishing {
publications.all {
artifact javadocsJar
2022-01-04 15:49:16 +00:00
pom {
description = "$description"
name = "$name"
url = "$url"
scm {
developerConnection = "scm:git:[fetch=]${vcsUrl}[push=]${vcsUrl}"
url = "$vcsUrl"
}
2022-01-04 15:49:16 +00:00
developers {
${developers.joinToString("\n") { """
developer {
id = "${it.id}"
name = "${it.name}"
email = "${it.eMail}"
}
""" }}
}
licenses {
${licenses.joinToString("\n") { """
license {
name = "${it.title}"
url = "${it.url}"
}
""" }}
}
}
2022-01-04 15:49:16 +00:00
repositories {
2022-01-04 16:54:50 +00:00
${repositories.joinToString("\n ") { it.build(" ") }}
2022-01-04 15:49:16 +00:00
}
}
2022-01-04 15:49:16 +00:00
}
${gpgSigning.generateMavenConfig()}
""".trimIndent()