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.9.7-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.9.7-SNAPSHOT'
22+ group = projectGroup
23+ project. version = projectVersion
1424
1525 ext {
1626 grpcVersion = ' 1.68.1'
@@ -77,8 +87,6 @@ subprojects {
7787 sourceCompatibility = 1.8
7888 targetCompatibility = 1.8
7989
80- group = " com.scalar-labs"
81-
8290 distZip {
8391 archiveFileName = " ${ project.name} .zip"
8492 duplicatesStrategy = DuplicatesStrategy . EXCLUDE
@@ -105,3 +113,39 @@ subprojects {
105113 executable " ${ rootDir} /scripts/docker/lint.sh"
106114 }
107115}
116+
117+ jreleaser {
118+ gitRootSearch = true
119+
120+ signing {
121+ active = ' ALWAYS'
122+ armored = true
123+ }
124+
125+ deploy {
126+ maven {
127+ def stagingRepositories = [' client/build/staging-deploy' ,
128+ ' common/build/staging-deploy' ,
129+ ' ledger/build/staging-deploy' ,
130+ ' rpc/build/staging-deploy' ]
131+ mavenCentral {
132+ ' release-deploy' {
133+ active = ' RELEASE'
134+ url = ' https://central.sonatype.com/api/v1/publisher'
135+ stagingRepositories. each { stagingRepository(it) }
136+ }
137+ }
138+ nexus2 {
139+ ' snapshot-deploy' {
140+ active = ' SNAPSHOT'
141+ snapshotUrl = ' https://central.sonatype.com/repository/maven-snapshots/'
142+ applyMavenCentralRules = true
143+ snapshotSupported = true
144+ closeRepository = true
145+ releaseRepository = true
146+ stagingRepositories. each { stagingRepository(it) }
147+ }
148+ }
149+ }
150+ }
151+ }
0 commit comments