Skip to content

Commit 90bcc24

Browse files
authored
Merge pull request #11 from icerockdev/maven-central-publish
Publish to Maven Central
2 parents 165e74c + 6060fc8 commit 90bcc24

File tree

3 files changed

+68
-12
lines changed

3 files changed

+68
-12
lines changed

.github/workflows/distribution.yml

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
1-
name: Bintray Distribution
1+
name: Maven Central Distribution
22
on:
33
release:
4-
types: [published]
4+
types: [ published ]
55
jobs:
66
gradle:
77
strategy:
88
matrix:
9-
os: [ubuntu-latest]
9+
os: [ ubuntu-latest ]
1010
runs-on: ${{ matrix.os }}
1111
steps:
1212
- uses: actions/checkout@v2
1313
- uses: actions/setup-java@v1
1414
with:
1515
java-version: 11
16-
- name: Build and publish to Bintray
17-
run: ./gradlew :storage-service:publish -DBINTRAY_USER=${{ secrets.BINTRAY_USER }} -DBINTRAY_KEY=${{ secrets.BINTRAY_KEY }} -PlibraryPublish
16+
- name: Build and publish to mavenCentral
17+
env:
18+
OSSRH_USER: ${{ secrets.OSSRH_USER }}
19+
OSSRH_KEY: ${{ secrets.OSSRH_KEY }}
20+
SIGNING_KEY_ID: ${{ secrets.SIGNING_KEYID }}
21+
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
22+
SIGNING_KEY: ${{ secrets.GPG_KEY_CONTENTS }}
23+
run: ./gradlew publish -PlibraryPublish

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
````kotlin
77
// Append repository
88
repositories {
9-
maven { url = url("https://dl.bintray.com/icerockdev/backend") }
9+
mavenCentral()
1010
}
1111

1212
// Append dependency
13-
implementation("com.icerockdev:storage-service:0.5.0")
13+
implementation("com.icerockdev:storage-service:0.5.1")
1414
````
1515

1616
## Library usage

storage-service/build.gradle.kts

Lines changed: 55 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import java.util.Base64
2+
import kotlin.text.String
13
/*
24
* Copyright 2020 IceRock MAG Inc. Use of this source code is governed by the Apache 2.0 license.
35
*/
@@ -6,13 +8,14 @@ plugins {
68
id("kotlin-kapt")
79
id("maven-publish")
810
id("java-library")
11+
id("signing")
912
}
1013

1114
apply(plugin = "java")
1215
apply(plugin = "kotlin")
1316

1417
group = "com.icerockdev"
15-
version = "0.5.0"
18+
version = "0.5.1"
1619

1720
val sourcesJar by tasks.registering(Jar::class) {
1821
archiveClassifier.set("sources")
@@ -39,6 +42,7 @@ dependencies {
3942
java {
4043
sourceCompatibility = JavaVersion.VERSION_11
4144
targetCompatibility = JavaVersion.VERSION_11
45+
withJavadocJar()
4246
}
4347

4448
tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
@@ -52,18 +56,64 @@ repositories {
5256
}
5357

5458
publishing {
55-
repositories.maven("https://api.bintray.com/maven/icerockdev/backend/storage-service/;publish=1") {
56-
name = "bintray"
59+
repositories.maven("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/") {
60+
name = "OSSRH"
5761

5862
credentials {
59-
username = System.getProperty("BINTRAY_USER")
60-
password = System.getProperty("BINTRAY_KEY")
63+
username = System.getenv("OSSRH_USER")
64+
password = System.getenv("OSSRH_KEY")
6165
}
6266
}
6367
publications {
6468
register("mavenJava", MavenPublication::class) {
6569
from(components["java"])
6670
artifact(sourcesJar.get())
71+
pom {
72+
name.set("Storage service")
73+
description.set("Tools for work with s3 storage and generate preview")
74+
url.set("https://github.com/icerockdev/storage-service")
75+
licenses {
76+
license {
77+
url.set("https://github.com/icerockdev/storage-service/blob/master/LICENSE.md")
78+
}
79+
}
80+
81+
developers {
82+
developer {
83+
id.set("YokiToki")
84+
name.set("Stanislav")
85+
email.set("skarakovski@icerockdev.com")
86+
}
87+
88+
developer {
89+
id.set("AlexeiiShvedov")
90+
name.set("Alex Shvedov")
91+
email.set("ashvedov@icerockdev.com")
92+
}
93+
94+
developer {
95+
id.set("oyakovlev")
96+
name.set("Oleg Yakovlev")
97+
email.set("oyakovlev@icerockdev.com")
98+
}
99+
}
100+
101+
scm {
102+
connection.set("scm:git:ssh://github.com/icerockdev/storage-service.git")
103+
developerConnection.set("scm:git:ssh://github.com/icerockdev/storage-service.git")
104+
url.set("https://github.com/icerockdev/storage-service")
105+
}
106+
}
107+
}
108+
109+
signing {
110+
val signingKeyId: String? = System.getenv("SIGNING_KEY_ID")
111+
val signingPassword: String? = System.getenv("SIGNING_PASSWORD")
112+
val signingKey: String? = System.getenv("SIGNING_KEY")?.let { base64Key ->
113+
String(Base64.getDecoder().decode(base64Key))
114+
}
115+
useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword)
116+
sign(publishing.publications["mavenJava"])
67117
}
68118
}
69119
}

0 commit comments

Comments
 (0)