66
77plugins {
88 id ' maven-publish'
9- id ' jacoco'
109 id ' signing'
10+ id ' org.jreleaser' version ' 1.18.0'
11+ id ' jacoco'
1112 id ' pmd'
1213}
1314
@@ -137,7 +138,7 @@ jacocoTestCoverageVerification {
137138test. finalizedBy(jacocoTestReport)
138139test. finalizedBy(jacocoTestCoverageVerification)
139140
140- task licenseCheck {
141+ tasks . register( ' licenseCheck' ) {
141142 group = " license"
142143 description = " Checks the License part of each source file"
143144
@@ -146,34 +147,37 @@ task licenseCheck {
146147 def missing = new LinkedList<File > ()
147148 sourceSets. forEach {
148149 sourceSet ->
149- sourceSet. allSource. findAll { ! it. path. contains(" build" ) && ! (it. path. contains(" test" ) && it. path. contains(" resources" ))}. each {
150+ sourceSet. allSource. findAll {
151+ ! it. path. contains(" build" ) &&
152+ ! (it. path. contains(" test" ) && it. path. contains(" resources" ))
153+ }. each {
150154 file ->
151- if (! file. name. contains(" json" )){
152- BufferedReader r = new BufferedReader (new FileReader (file))
153- def line, hasSPDX = false , hasTraditional = false
154- while ((line = r. readLine()) != null ) {
155- if (line. contains(" SPDX-License-Identifier" )) {
156- hasSPDX = true
157- break
155+ if (! file. name. contains(" json" )) {
156+ BufferedReader r = new BufferedReader (new FileReader (file))
157+ def line, hasSPDX = false , hasTraditional = false
158+ while ((line = r. readLine()) != null ) {
159+ if (line. contains(" SPDX-License-Identifier" )) {
160+ hasSPDX = true
161+ break
162+ }
163+ if (line. contains(" http://www.apache.org/licenses/LICENSE-2.0" )) {
164+ hasTraditional = true
165+ break
166+ }
158167 }
159- if (line. contains(" http://www.apache.org/licenses/LICENSE-2.0" )) {
160- hasTraditional = true
161- break
162- }
163- }
164- if (! hasSPDX) {
165- if (hasTraditional) {
166- noSPDX. add(file)
167- } else {
168- missing. add(file)
168+ if (! hasSPDX) {
169+ if (hasTraditional) {
170+ noSPDX. add(file)
171+ } else {
172+ missing. add(file)
173+ }
169174 }
170175 }
171- }
172176 }
173177 }
174178
175179 if (noSPDX. isEmpty()) {
176- println " All remaining files have Apache 2.0 headers"
180+ println " All remaining files have Apache 2.0 headers. "
177181 } else {
178182 println " We are standardizing with the SPDX style license headers."
179183 println " The following files contain the traditional license headers which are still valid:"
@@ -212,17 +216,13 @@ javadoc {
212216
213217 classpath = sourceSets. main. runtimeClasspath
214218
215- javadoc. options. addStringOption(' Xdoclint:none' , ' -quiet' )
219+ options. addStringOption(' Xdoclint:none' , ' -quiet' )
220+ options. addStringOption(' Xwerror' , ' -quiet' )
216221 options. overview = " src/main/java/org/hyperledger/fabric/overview.html"
217- }
218222
219- if (JavaVersion . current(). isJava8Compatible()) {
220- project. tasks. withType(Javadoc ) {
221- options. addStringOption(' Xdoclint:all' , ' -quiet' )
222- options. addStringOption(' Xwerror' , ' -quiet' )
223- }
224223}
225224
225+ def final stagingDeployUrl = layout. buildDirectory. dir(' staging-deploy' )
226226
227227publishing {
228228 publications {
@@ -235,10 +235,12 @@ publishing {
235235 name = ' JavaChaincodeShim'
236236 packaging = ' jar'
237237 description = ' Hyperledger Fabric Java Chaincode Shim'
238- url = ' http ://www. hyperledger.org /'
238+ url = ' https ://hyperledger.github.io/fabric-chaincode-java /'
239239
240240 scm {
241- url = ' https://github.com/hyperledger/fabric-chaincode-java.git'
241+ connection = ' scm:git:https://github.com/hyperledger/fabric-chaincode-java.git'
242+ developerConnection = ' scm:git:ssh://github.com:hyperledger/fabric-chaincode-java.git'
243+ url = ' https://github.com/hyperledger/fabric-chaincode-java'
242244 }
243245 licenses {
244246 license {
@@ -248,26 +250,16 @@ publishing {
248250 }
249251
250252 developers {
251- developer {
252- id = ' gennadylaventman'
253- name = ' Gennady Laventman'
254- 255- }
256- developer {
257- id = ' luiss'
258- name = ' Luis Sanchez'
259- 260- }
261- developer {
262- id = ' C0rWin'
263- name = ' Artem Barger'
264- 265- }
266253 developer {
267254 id = ' denyeart'
268255 name = ' David Enyeart'
269256270257 }
258+ developer {
259+ id = ' bestbeforetoday'
260+ name = ' Mark S. Lewis'
261+ 262+ }
271263 }
272264 }
273265 }
@@ -276,17 +268,12 @@ publishing {
276268
277269 repositories {
278270 maven {
279- name = " release"
280- url = " https://oss.sonatype.org/service/local/staging/deploy/maven2/"
281- credentials {
282- username = project. findProperty(' ossrhUsername' )
283- password = project. findProperty(' ossrhPassword' )
284- }
285-
271+ name = " Staging"
272+ url = stagingDeployUrl
286273 }
287274
288275 maven {
289- name = " GitHubPackages "
276+ name = " GitHub "
290277 url = " https://maven.pkg.github.com/hyperledger/fabric-chaincode-java"
291278 credentials {
292279 username = System . getenv(" GITHUB_ACTOR" )
@@ -297,25 +284,47 @@ publishing {
297284}
298285
299286signing {
300- println " Signing"
301- if (project. findProperty(' signing.key' )) {
302- def signingKey = project. findProperty(' signing.key' )
303- def signingPassword = project. findProperty(' signing.password' )
304- useInMemoryPgpKeys(signingKey, signingPassword)
287+ println " Signing..."
305288
289+ def signingKey = findProperty(' signingKey' )
290+ def signingPassword = findProperty(' signingPassword' )
291+
292+ if (signingKey) {
293+ useInMemoryPgpKeys(signingKey, signingPassword)
306294 sign publishing. publications. shim
307- println " ... signed "
295+ println " Signed. "
308296 } else {
309- println " ... no keys to use "
297+ println " No keys to use."
298+ }
299+ }
300+
301+ jreleaser {
302+ gitRootSearch = true
303+ deploy {
304+ maven {
305+ mavenCentral {
306+ sonatype {
307+ active = ' ALWAYS'
308+ url = ' https://central.sonatype.com/api/v1/publisher'
309+ sign = false
310+ stagingRepository(file(stagingDeployUrl). toString())
311+ }
312+ }
313+ }
314+ }
315+ release {
316+ github {
317+ enabled = false
318+ }
310319 }
311320}
312321
313322// Need to specify the sourcesJar task BEFORE the java{withSourcesJar()} so that it picks up the duplicatesStratergy
314323// otherwise this fails with a duplicates error.
315324// (see https://github.com/gradle/gradle/issues/17236)
316325
317- task sourcesJar ( type : Jar ) {
318- duplicatesStrategy = ' include '
326+ tasks . register( ' sourcesJar ' , Jar ) {
327+ duplicatesStrategy = DuplicatesStrategy . INCLUDE
319328 archiveClassifier = ' sources'
320329 from sourceSets. main. allSource
321330}
@@ -332,16 +341,16 @@ build.dependsOn licenseCheck
332341import org.gradle.api.tasks.testing.logging.TestExceptionFormat
333342import org.gradle.api.tasks.testing.logging.TestLogEvent
334343
335- tasks. withType(Test ) {
344+ tasks. withType(Test ). configureEach {
336345
337346 environment " CORE_PEER_LOCALMSPID" , " mymsp"
338347
339348 testLogging {
340349 // set options for log level LIFECYCLE
341350 events TestLogEvent . FAILED ,
342- TestLogEvent . PASSED ,
343- TestLogEvent . SKIPPED ,
344- TestLogEvent . STANDARD_OUT
351+ TestLogEvent . PASSED ,
352+ TestLogEvent . SKIPPED ,
353+ TestLogEvent . STANDARD_OUT
345354 exceptionFormat = TestExceptionFormat . FULL
346355 showExceptions = true
347356 showCauses = true
@@ -350,22 +359,23 @@ tasks.withType(Test) {
350359 // set options for log level DEBUG and INFO
351360 debug {
352361 events TestLogEvent . STARTED ,
353- TestLogEvent . FAILED ,
354- TestLogEvent . PASSED ,
355- TestLogEvent . SKIPPED ,
356- TestLogEvent . STANDARD_ERROR ,
357- TestLogEvent . STANDARD_OUT
362+ TestLogEvent . FAILED ,
363+ TestLogEvent . PASSED ,
364+ TestLogEvent . SKIPPED ,
365+ TestLogEvent . STANDARD_ERROR ,
366+ TestLogEvent . STANDARD_OUT
358367 exceptionFormat = TestExceptionFormat . FULL
359368 }
360369 info. events = debug. events
361370 info. exceptionFormat = debug. exceptionFormat
362371
363- afterSuite { desc , result ->
372+ afterSuite {desc , result ->
364373 if (! desc. parent) { // will match the outermost suite
365374 def output = " Results: ${ result.resultType} (${ result.testCount} tests, ${ result.successfulTestCount} successes, ${ result.failedTestCount} failures, ${ result.skippedTestCount} skipped)"
366375 def startItem = ' | ' , endItem = ' |'
367376 def repeatLength = startItem. length() + output. length() + endItem. length()
368- println (' \n ' + (' -' * repeatLength) + ' \n ' + startItem + output + endItem + ' \n ' + (' -' * repeatLength))
377+ println (' \n ' + (' -' * repeatLength) + ' \n ' + startItem + output + endItem + ' \n ' +
378+ (' -' * repeatLength))
369379 }
370380 }
371381 }
0 commit comments