11plugins {
22 id(" com.diffplug.spotless" ) version " 6.13.0"
3+ id(" org.jreleaser" ) version " 1.19.0"
34}
45
6+ ext {
7+ projectGroup = ' com.scalar-labs'
8+ projectVersion = ' 3.12.0-SNAPSHOT'
9+ }
10+
11+ group = projectGroup
12+ version = projectVersion
13+
514subprojects {
615 apply plugin : ' java'
716 apply plugin : ' eclipse'
@@ -10,7 +19,8 @@ subprojects {
1019 apply plugin : ' java-library-distribution'
1120 apply plugin : ' com.diffplug.spotless'
1221
13- project. version = ' 3.12.0-SNAPSHOT'
22+ group = projectGroup
23+ project. version = projectVersion
1424
1525 ext {
1626 grpcVersion = ' 1.73.0'
@@ -85,8 +95,6 @@ subprojects {
8595 sourceCompatibility = 1.8
8696 targetCompatibility = 1.8
8797
88- group = " com.scalar-labs"
89-
9098 distZip {
9199 archiveFileName = " ${ project.name} .zip"
92100 duplicatesStrategy = DuplicatesStrategy . EXCLUDE
@@ -113,3 +121,39 @@ subprojects {
113121 executable " ${ rootDir} /scripts/docker/lint.sh"
114122 }
115123}
124+
125+ jreleaser {
126+ gitRootSearch = true
127+
128+ signing {
129+ active = ' ALWAYS'
130+ armored = true
131+ }
132+
133+ deploy {
134+ maven {
135+ def stagingRepositories = [' client/build/staging-deploy' ,
136+ ' common/build/staging-deploy' ,
137+ ' ledger/build/staging-deploy' ,
138+ ' rpc/build/staging-deploy' ]
139+ mavenCentral {
140+ ' release-deploy' {
141+ active = ' RELEASE'
142+ url = ' https://central.sonatype.com/api/v1/publisher'
143+ stagingRepositories. each { stagingRepository(it) }
144+ }
145+ }
146+ nexus2 {
147+ ' snapshot-deploy' {
148+ active = ' SNAPSHOT'
149+ snapshotUrl = ' https://central.sonatype.com/repository/maven-snapshots/'
150+ applyMavenCentralRules = true
151+ snapshotSupported = true
152+ closeRepository = true
153+ releaseRepository = true
154+ stagingRepositories. each { stagingRepository(it) }
155+ }
156+ }
157+ }
158+ }
159+ }
0 commit comments