Skip to content

Commit 0c686b4

Browse files
committed
Fix MavenCentral publishing process
1 parent 4d5bdb5 commit 0c686b4

File tree

5 files changed

+43
-64
lines changed

5 files changed

+43
-64
lines changed

.github/workflows/build.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,6 @@ on:
88
branches:
99
- '*'
1010

11-
env:
12-
ORG_GRADLE_PROJECT_NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }}
13-
ORG_GRADLE_PROJECT_NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
14-
ORG_GRADLE_PROJECT_SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
15-
ORG_GRADLE_PROJECT_SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
16-
ORG_GRADLE_PROJECT_SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
17-
1811
jobs:
1912

2013
build-mmkv-kotlin:

.github/workflows/publish.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ on:
44
workflow_dispatch:
55

66
env:
7-
ORG_GRADLE_PROJECT_NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }}
8-
ORG_GRADLE_PROJECT_NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
9-
ORG_GRADLE_PROJECT_SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
10-
ORG_GRADLE_PROJECT_SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
11-
ORG_GRADLE_PROJECT_SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
7+
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
8+
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
9+
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY }}
10+
ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_KEY_ID }}
11+
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_KEY_PASSWORD }}
1212

1313
jobs:
1414

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@ plugins {
22
alias(libs.plugins.multiplatform) apply false
33
alias(libs.plugins.cocoapods) apply false
44
alias(libs.plugins.android.library) apply false
5+
alias(libs.plugins.vanniktech.maven.publish) apply false
56
}

gradle/libs.versions.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ mmkv = "2.2.2"
66
junit = "4.13.2"
77
androidx-test = "1.6.1"
88
androidx-test-runner = "1.6.2"
9+
desugar-jdk-libs = "2.1.5"
10+
vanniktech-maven-publish = "0.33.0"
911

1012
[libraries]
1113

@@ -14,11 +16,12 @@ junit = { group = "junit", name = "junit", version.ref = "junit" }
1416
androidx-test-core = { group = "androidx.test", name = "core", version.ref = "androidx-test" }
1517
androidx-test-runner = { group = "androidx.test", name = "runner", version.ref = "androidx-test-runner" }
1618
androidx-test-rules = { group = "androidx.test", name = "rules", version.ref = "androidx-test" }
19+
desugar-jdk-libs = { group = "com.android.tools", name = "desugar_jdk_libs", version.ref = "desugar-jdk-libs" }
1720

1821
[plugins]
1922

2023
multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
2124
cocoapods = { id = "org.jetbrains.kotlin.native.cocoapods", version.ref = "kotlin" }
2225
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize" }
2326
android-library = { id = "com.android.library", version.ref = "agp" }
24-
maven-publish = { id = "maven-publish" }
27+
vanniktech-maven-publish = { id = "com.vanniktech.maven.publish", version.ref = "vanniktech-maven-publish" }

mmkv-kotlin/build.gradle.kts

Lines changed: 33 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ plugins {
66
alias(libs.plugins.cocoapods)
77
alias(libs.plugins.android.library)
88
alias(libs.plugins.kotlin.parcelize)
9-
alias(libs.plugins.maven.publish)
10-
signing
9+
alias(libs.plugins.vanniktech.maven.publish)
1110
}
1211

1312
version = "1.2.18"
1413
group = "com.ctrip.flight.mmkv"
1514

1615
@OptIn(ExperimentalKotlinGradlePluginApi::class)
1716
kotlin {
17+
jvmToolchain(21)
1818
androidTarget {
1919
publishLibraryVariants("release")
2020
instrumentedTestVariant.sourceSetTree.set(KotlinSourceSetTree.test)
@@ -72,63 +72,45 @@ android {
7272
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
7373
}
7474
compileOptions {
75-
sourceCompatibility = JavaVersion.VERSION_11
76-
targetCompatibility = JavaVersion.VERSION_21
75+
isCoreLibraryDesugaringEnabled = true
7776
}
7877
}
7978

80-
val javadocJar: TaskProvider<Jar> by tasks.registering(Jar::class) {
81-
archiveClassifier.set("javadoc")
79+
dependencies {
80+
coreLibraryDesugaring(libs.desugar.jdk.libs)
8281
}
8382

84-
publishing {
85-
publications.withType<MavenPublication> {
86-
artifact(javadocJar)
87-
with(pom) {
88-
name.set("MMKV-Kotlin")
89-
description.set("MMKV for Kotlin Multiplatform")
90-
url.set("https://github.com/ctripcorp/mmkv-kotlin")
91-
licenses {
92-
license {
93-
name.set("The Apache License, Version 2.0")
94-
url.set("https://www.apache.org/licenses/LICENSE-2.0.txt")
95-
}
96-
}
97-
developers {
98-
developer {
99-
id.set("qiaoyuang")
100-
name.set("Yuang Qiao")
101-
email.set("[email protected]")
102-
}
103-
}
104-
scm {
105-
url.set("https://github.com/ctripcorp/mmkv-kotlin")
106-
connection.set("scm:git:https://github.com/ctripcorp/mmkv-kotlin.git")
107-
developerConnection.set("scm:git:https://github.com/ctripcorp/mmkv-kotlin.git")
83+
mavenPublishing {
84+
publishToMavenCentral()
85+
signAllPublications()
86+
87+
coordinates(
88+
groupId = group.toString(),
89+
artifactId = "mmkv-kotlin",
90+
version = version.toString(),
91+
)
92+
93+
pom {
94+
name.set("MMKV-Kotlin")
95+
description.set("MMKV for Kotlin Multiplatform")
96+
url.set("https://github.com/ctripcorp/mmkv-kotlin")
97+
licenses {
98+
license {
99+
name.set("The Apache License, Version 2.0")
100+
url.set("https://www.apache.org/licenses/LICENSE-2.0.txt")
108101
}
109102
}
110-
}
111-
repositories {
112-
maven {
113-
credentials {
114-
val NEXUS_USERNAME: String by project
115-
val NEXUS_PASSWORD: String by project
116-
username = NEXUS_USERNAME
117-
password = NEXUS_PASSWORD
103+
developers {
104+
developer {
105+
id.set("qiaoyuang")
106+
name.set("Yuang Qiao")
107+
email.set("[email protected]")
118108
}
119-
url = uri("https://oss.sonatype.org/service/local/staging/deploy/maven2")
109+
}
110+
scm {
111+
url.set("https://github.com/ctripcorp/mmkv-kotlin")
112+
connection.set("scm:git:https://github.com/ctripcorp/mmkv-kotlin.git")
113+
developerConnection.set("scm:git:https://github.com/ctripcorp/mmkv-kotlin.git")
120114
}
121115
}
122-
signing {
123-
val SIGNING_KEY_ID: String by project
124-
val SIGNING_KEY: String by project
125-
val SIGNING_PASSWORD: String by project
126-
useInMemoryPgpKeys(SIGNING_KEY_ID, SIGNING_KEY, SIGNING_PASSWORD)
127-
sign(publishing.publications)
128-
}
129-
}
130-
131-
// TODO: remove after https://youtrack.jetbrains.com/issue/KT-46466 is fixed
132-
project.tasks.withType(AbstractPublishToMaven::class.java).configureEach {
133-
dependsOn(project.tasks.withType(Sign::class.java))
134116
}

0 commit comments

Comments
 (0)