Skip to content

Commit bec77e5

Browse files
authored
Merge pull request #1812 from 1c-syntax/feature/publishToSonatype
2 parents ae50156 + a36eeb5 commit bec77e5

File tree

2 files changed

+62
-0
lines changed

2 files changed

+62
-0
lines changed
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Publish to Sonatype
2+
3+
on:
4+
release:
5+
types: [published, edited]
6+
push:
7+
branches:
8+
- develop
9+
workflow_dispatch:
10+
11+
jobs:
12+
publish:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/[email protected]
16+
- name: Set up JDK
17+
uses: actions/setup-java@v2
18+
with:
19+
java-version: 16
20+
distribution: 'adopt'
21+
- name: Publish to Sonatype
22+
run: ./gradlew publishMavenPublicationToSonatypeRepository -PsimplifyVersion
23+
env:
24+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
25+
ORG_GRADLE_PROJECT_sonatypeUsername: ${{ secrets.SONATYPE_USERNAME }}
26+
ORG_GRADLE_PROJECT_sonatypePassword: ${{ secrets.SONATYPE_PASSWORD }}
27+
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.GPG_SIGNING_KEY }}
28+
ORG_GRADLE_PROJECT_signingInMemoryPassword: ${{ secrets.GPG_SIGNING_PASSWORD }}

build.gradle.kts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
import me.qoomon.gitversioning.commons.GitRefType
12
import org.apache.tools.ant.filters.EscapeUnicode
23
import java.util.*
34

45
plugins {
56
`java-library`
67
`maven-publish`
78
jacoco
9+
signing
810
id("org.cadixdev.licenser") version "0.6.1"
911
id("org.sonarqube") version "3.3"
1012
id("io.freefair.lombok") version "6.1.0"
@@ -43,6 +45,8 @@ gitVersioning.apply {
4345
}
4446
}
4547

48+
val isSnapshot = gitVersioning.gitVersionDetails.refType != GitRefType.TAG
49+
4650
val languageToolVersion = "5.4"
4751
aspectj.version.set("1.9.7")
4852

@@ -228,12 +232,42 @@ artifacts {
228232
archives(tasks["javadocJar"])
229233
}
230234

235+
signing {
236+
val signingInMemoryKey: String? by project // env.ORG_GRADLE_PROJECT_signingInMemoryKey
237+
val signingInMemoryPassword: String? by project // env.ORG_GRADLE_PROJECT_signingInMemoryPassword
238+
if (signingInMemoryKey != null) {
239+
useInMemoryPgpKeys(signingInMemoryKey, signingInMemoryPassword)
240+
sign(publishing.publications)
241+
}
242+
}
243+
231244
publishing {
245+
repositories {
246+
maven {
247+
name = "sonatype"
248+
url = if (isSnapshot)
249+
uri("https://s01.oss.sonatype.org/content/repositories/snapshots/")
250+
else
251+
uri("https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/")
252+
253+
val sonatypeUsername: String? by project
254+
val sonatypePassword: String? by project
255+
256+
credentials {
257+
username = sonatypeUsername // ORG_GRADLE_PROJECT_sonatypeUsername
258+
password = sonatypePassword // ORG_GRADLE_PROJECT_sonatypePassword
259+
}
260+
}
261+
}
232262
publications {
233263
create<MavenPublication>("maven") {
234264
from(components["java"])
235265
artifact(tasks["bootJar"])
236266

267+
if (isSnapshot && project.hasProperty("simplifyVersion")) {
268+
version = findProperty("git.ref.slug") as String + "-SNAPSHOT"
269+
}
270+
237271
pom {
238272
description.set("Language Server Protocol implementation for 1C (BSL) - 1C:Enterprise 8 and OneScript languages.")
239273
url.set("https://1c-syntax.github.io/bsl-language-server")

0 commit comments

Comments
 (0)