Skip to content

Commit 4f663fc

Browse files
authored
Merge pull request #77 from komamitsu/use-jreleaser
Use Jreleaser
2 parents de100c1 + f06cba0 commit 4f663fc

File tree

3 files changed

+56
-49
lines changed

3 files changed

+56
-49
lines changed

.github/workflows/publish.yml

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

.github/workflows/release.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Release
2+
on:
3+
workflow_dispatch:
4+
push:
5+
tags:
6+
- 'v[0-9]+.[0-9]+.[0-9]+'
7+
8+
jobs:
9+
release:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: write
13+
steps:
14+
- name: Checkout
15+
uses: actions/checkout@v6
16+
with:
17+
fetch-depth: 0
18+
- name: Set up JDK
19+
uses: actions/setup-java@v5
20+
with:
21+
distribution: temurin
22+
java-version: 17
23+
- name: Setup Gradle
24+
uses: gradle/actions/setup-gradle@v5
25+
- name: Build
26+
run: ./gradlew build
27+
- name: Publish with JReleaser
28+
run: ./gradlew jreleaserFullRelease
29+
env:
30+
JRELEASER_GPG_SECRET_KEY: ${{ secrets.MAVEN_CENTRAL_GPG_SECRET_KEY }}
31+
JRELEASER_GPG_PUBLIC_KEY: ${{ secrets.MAVEN_CENTRAL_GPG_PUBLIC_KEY }}
32+
JRELEASER_GPG_PASSPHRASE: ${{ secrets.MAVEN_CENTRAL_GPG_PASSPHRASE }}
33+
JRELEASER_MAVENCENTRAL_SONATYPE_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
34+
JRELEASER_MAVENCENTRAL_SONATYPE_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
35+
JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

build.gradle

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
plugins {
22
id "java-library"
33
id "maven-publish"
4-
id "signing"
4+
id "org.jreleaser" version "1.22.0"
55
id "com.diffplug.spotless" version "6.25.0"
66
}
77

@@ -65,6 +65,8 @@ compileIntegrationTestJava {
6565
options.compilerArgs << "-parameters"
6666
}
6767

68+
def stagingDir = layout.buildDirectory.dir("staging-deploy")
69+
6870
publishing {
6971
publications {
7072
mavenJava(MavenPublication) {
@@ -97,35 +99,30 @@ publishing {
9799
}
98100
repositories {
99101
maven {
100-
url = uri(project.version.toString().endsWith("-SNAPSHOT") ?
101-
"https://oss.sonatype.org/content/repositories/snapshots/" :
102-
"https://oss.sonatype.org/service/local/staging/deploy/maven2/")
103-
credentials {
104-
username = project.hasProperty("ossrhUsername") ?
105-
project.property("ossrhUsername").toString() : ""
106-
password = project.hasProperty("ossrhPassword") ?
107-
project.property("ossrhPassword").toString() : ""
108-
}
102+
name = "staging"
103+
url = uri(stagingDir)
109104
}
110105
}
111106
}
112107

113-
signing {
114-
if (project.hasProperty("signing.gnupg.keyName")) {
115-
setRequired(true)
116-
}
117-
else if (project.hasProperty("signingKey")) {
118-
// def signingKeyId = project.property("signingKeyId").toString()
119-
def signingKey = project.property("signingKey").toString()
120-
def signingPassword = project.property("signingPassword").toString()
121-
// useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword)
122-
useInMemoryPgpKeys(signingKey, signingPassword)
123-
setRequired(true)
108+
jreleaser {
109+
signing {
110+
pgp {
111+
active = 'ALWAYS'
112+
armored = true
113+
}
124114
}
125-
else {
126-
setRequired(false)
115+
deploy {
116+
maven {
117+
mavenCentral {
118+
sonatype {
119+
active = 'RELEASE'
120+
url = 'https://central.sonatype.com/api/v1/publisher'
121+
stagingRepository(stagingDir.get().asFile.path)
122+
}
123+
}
124+
}
127125
}
128-
sign publishing.publications.mavenJava
129126
}
130127

131128
spotless {

0 commit comments

Comments
 (0)