Skip to content

Commit 1612c9e

Browse files
committed
Switch to the vanniktech maven publish plugin
1 parent ec36a04 commit 1612c9e

File tree

4 files changed

+42
-37
lines changed

4 files changed

+42
-37
lines changed

.github/workflows/release.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,6 @@ jobs:
6060
version: ${{ steps.compute-version.outputs.fullVersion }}
6161
gpg-signing-key: ${{ secrets.GPG_SECRET_ASCII_ARMORED }}
6262
gpg-signing-password: ${{ secrets.GPG_PASSWORD }}
63-
sonatype-username: ${{ secrets.OSSRH_TOKEN_USERNAME }}
64-
sonatype-password: ${{ secrets.OSSRH_TOKEN_PASSWORD }}
65-
gradle-publish-tasks: ${{ inputs.doPublish && 'publishToSonatype closeAndReleaseSonatypeStagingRepository' || '' }}
63+
sonatype-username: ${{ secrets.MAVEN_CENTRAL_TOKEN_USERNAME }}
64+
sonatype-password: ${{ secrets.MAVEN_CENTRAL_TOKEN_PASSWORD }}
65+
gradle-publish-tasks: ${{ inputs.doPublish && 'publishAndReleaseToMavenCentral' || '' }}

build.gradle.kts

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,9 @@ plugins {
88
alias(libs.plugins.kotlin.atomicfu)
99
alias(libs.plugins.dokka)
1010
alias(libs.plugins.binary.compatibility.validator)
11-
alias(libs.plugins.nexus.publish)
11+
alias(libs.plugins.vanniktech.maven.publish)
1212
alias(libs.plugins.hildan.github.changelog)
13-
alias(libs.plugins.hildan.kotlin.publish)
1413
alias(libs.plugins.vyarus.github.info)
15-
signing
1614
}
1715

1816
group = "org.hildan.chrome"
@@ -142,7 +140,7 @@ tasks.sourcesJar {
142140
dependsOn(generateProtocolApi)
143141
}
144142

145-
tasks.dokkaHtml {
143+
tasks.dokkaGeneratePublicationHtml {
146144
dependsOn(generateProtocolApi)
147145
}
148146

@@ -156,33 +154,37 @@ changelog {
156154
sinceTag = "0.5.0"
157155
}
158156

159-
nexusPublishing {
160-
packageGroup.set("org.hildan")
161-
repositories {
162-
sonatype()
157+
mavenPublishing {
158+
publishToMavenCentral()
159+
signAllPublications()
160+
161+
pom {
162+
name.set(project.name)
163+
description.set(project.description)
164+
developers {
165+
developer {
166+
id.set("joffrey-bion")
167+
name.set("Joffrey Bion")
168+
email.set("joffrey.bion@gmail.com")
169+
}
170+
}
163171
}
164172
}
165173

166-
publishing {
167-
// configureEach reacts on new publications being registered and configures them too
168-
publications.configureEach {
169-
if (this is MavenPublication) {
170-
pom {
171-
developers {
172-
developer {
173-
id.set("joffrey-bion")
174-
name.set("Joffrey Bion")
175-
email.set("joffrey.bion@gmail.com")
176-
}
174+
dokka {
175+
dokkaSourceSets {
176+
configureEach {
177+
sourceRoots.forEach { sourceRootDir ->
178+
val sourceRootRelativePath = sourceRootDir.relativeTo(rootProject.projectDir).toSlashSeparatedString()
179+
sourceLink {
180+
localDirectory.set(sourceRootDir)
181+
// HEAD points to the default branch of the repo.
182+
remoteUrl("${github.repositoryUrl}/blob/HEAD/$sourceRootRelativePath")
177183
}
178184
}
179185
}
180186
}
181187
}
182188

183-
signing {
184-
val signingKey: String? by project
185-
val signingPassword: String? by project
186-
useInMemoryPgpKeys(signingKey, signingPassword)
187-
sign(extensions.getByType<PublishingExtension>().publications)
188-
}
189+
// ensures slash separator even on Windows, useful for URLs creation
190+
private fun File.toSlashSeparatedString(): String = toPath().joinToString("/")

gradle.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,6 @@ org.gradle.configuration-cache=true
88
kotlin.daemon.jvmargs=-Xmx4g
99

1010
kotlin.native.ignoreDisabledTargets=true
11+
12+
org.jetbrains.dokka.experimental.gradle.pluginMode=V2Enabled
13+
org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=true

gradle/libs.versions.toml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
[plugins]
22

33
binary-compatibility-validator = { id = "org.jetbrains.kotlinx.binary-compatibility-validator", version.ref = "binary-compatibility-validator" }
4-
dokka = { id = "org.jetbrains.dokka", version.ref = "dokka"}
5-
hildan-github-changelog = { id = "org.hildan.github.changelog", version.ref = "hildan-github-changelog-plugin"}
6-
hildan-kotlin-publish = { id = "org.hildan.kotlin-publish", version.ref = "hildan-kotlin-publish-plugin"}
7-
kotlin-atomicfu = { id = "org.jetbrains.kotlin.plugin.atomicfu", version.ref = "kotlin"}
8-
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin"}
9-
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin"}
10-
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin"}
11-
nexus-publish = { id = "io.github.gradle-nexus.publish-plugin", version.ref = "nexus-publish-plugin" }
4+
dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" }
5+
hildan-github-changelog = { id = "org.hildan.github.changelog", version.ref = "hildan-github-changelog-plugin" }
6+
hildan-kotlin-publish = { id = "org.hildan.kotlin-publish", version.ref = "hildan-kotlin-publish-plugin" }
7+
kotlin-atomicfu = { id = "org.jetbrains.kotlin.plugin.atomicfu", version.ref = "kotlin" }
8+
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
9+
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
10+
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
11+
vanniktech-maven-publish = { id = "com.vanniktech.maven.publish", version.ref = "vanniktech-maven-publish-plugin" }
1212
vyarus-github-info = { id = "ru.vyarus.github-info", version.ref = "vyarus-github-info-plugin" }
1313

1414
[versions]
@@ -23,9 +23,9 @@ kotlinx-atomicfu = "0.29.0"
2323
kotlinx-coroutines = "1.10.2"
2424
kotlinx-serialization = "1.9.0"
2525
ktor = "3.2.3"
26-
nexus-publish-plugin = "2.0.0"
2726
slf4j = "2.0.17"
2827
testcontainers = "1.21.3"
28+
vanniktech-maven-publish-plugin = "0.34.0"
2929
vyarus-github-info-plugin = "2.0.0"
3030

3131
[libraries]

0 commit comments

Comments
 (0)