Skip to content

Commit c22a660

Browse files
committed
Migrate to Vanniktech's Gradle Maven Publish Plugin
As it supports Maven Central publication. OSSRH is reaching end of life on June 30, 2025.
1 parent d2c1896 commit c22a660

File tree

5 files changed

+58
-93
lines changed

5 files changed

+58
-93
lines changed

.github/workflows/publish.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ jobs:
2020
- name: Build library
2121
run: ./gradlew :parsely:assembleDebug
2222
- name: Publish to Maven Central Repository
23-
run: ./gradlew :parsely:publishReleasePublicationToMavenCentralRepository --max-workers 1
23+
run: ./gradlew :parsely:publishToMavenCentral --max-workers 1
2424
env:
25-
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
26-
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
27-
SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
28-
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
29-
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
25+
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
26+
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
27+
ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_KEY_ID }}
28+
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}
29+
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY }}

.github/workflows/readme.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,3 +107,11 @@ jobs:
107107
path: |
108108
./parsely/build/reports/*
109109
./parsely/build/outputs/androidTest-results
110+
- name: Publish snapshot
111+
run: ./gradlew :parsely:publishToMavenCentral --max-workers 1
112+
env:
113+
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
114+
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
115+
ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.SIGNING_KEY_ID }}
116+
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}
117+
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_KEY }}

parsely/build.gradle

Lines changed: 43 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ plugins {
55
id 'org.jetbrains.kotlin.android'
66
id 'org.jetbrains.kotlinx.kover'
77
id 'org.jetbrains.kotlinx.binary-compatibility-validator'
8+
id 'com.vanniktech.maven.publish'
89
}
910

1011
ext {
@@ -41,14 +42,6 @@ android {
4142
exclude 'META-INF/LICENSE'
4243
exclude 'META-INF/NOTICE'
4344
}
44-
45-
publishing {
46-
singleVariant('release') {
47-
withSourcesJar()
48-
withJavadocJar()
49-
}
50-
}
51-
5245
testOptions {
5346
unitTests {
5447
includeAndroidResources = true
@@ -93,4 +86,45 @@ dependencies {
9386
androidTestUtil 'androidx.test:orchestrator:1.4.2'
9487
}
9588

96-
apply from: "${rootProject.projectDir}/publication.gradle"
89+
def static getVersionFromGitTag() {
90+
return 'git describe --abbrev=0 --tags'.execute().text.trim()
91+
}
92+
93+
def isTagBuild = System.getenv("GITHUB_REF_TYPE") == 'tag'
94+
95+
mavenPublishing {
96+
publishToMavenCentral(false)
97+
signAllPublications()
98+
99+
def version = "${getVersionFromGitTag()}${isTagBuild ? '' : '-SNAPSHOT'}"
100+
logger.lifecycle("Version: $version")
101+
102+
coordinates("com.parsely", "parsely", version)
103+
pom {
104+
name = 'Parse.ly Android SDK'
105+
description = 'The official Parse.ly Android toolkit'
106+
url = 'https://github.com/Parsely/parsely-android'
107+
licenses {
108+
license {
109+
name = 'Apache-2.0'
110+
url = 'https://github.com/Parsely/parsely-android/blob/master/COPYING'
111+
}
112+
}
113+
scm {
114+
connection = 'scm:git:github.com/Parsely/parsely-android.git'
115+
developerConnection = 'scm:git:ssh://github.com/Parsely/parsely-android.git'
116+
url = 'https://github.com/Parsely/parsely-android/tree/main'
117+
}
118+
developers {
119+
developer {
120+
id = 'wzieba'
121+
name = 'Wojtek Zieba'
122+
123+
}
124+
}
125+
organization {
126+
name = 'Parse.ly'
127+
url = 'https://www.parse.ly/'
128+
}
129+
}
130+
}

publication.gradle

Lines changed: 0 additions & 78 deletions
This file was deleted.

settings.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pluginManagement {
77
id 'org.jetbrains.kotlin.android' version '1.9.10'
88
id 'org.jetbrains.kotlinx.kover' version '0.7.4'
99
id 'org.jetbrains.kotlinx.binary-compatibility-validator' version '0.14.0'
10+
id 'com.vanniktech.maven.publish' version '0.33.0'
1011
}
1112

1213
repositories {

0 commit comments

Comments
 (0)