66
77plugins {
88 id ' maven-publish'
9+ id ' org.jreleaser' version ' 1.18.0'
910 id ' jacoco'
1011 id ' signing'
1112 id ' pmd'
@@ -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,29 +147,32 @@ 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
168+ if (! hasSPDX) {
169+ if (hasTraditional) {
170+ noSPDX. add(file)
171+ } else {
172+ missing. add(file)
173+ }
162174 }
163175 }
164- if (! hasSPDX) {
165- if (hasTraditional) {
166- noSPDX. add(file)
167- } else {
168- missing. add(file)
169- }
170- }
171- }
172176 }
173177 }
174178
@@ -212,18 +216,12 @@ 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
226-
227225publishing {
228226 publications {
229227 shim(MavenPublication ) {
@@ -235,10 +233,12 @@ publishing {
235233 name = ' JavaChaincodeShim'
236234 packaging = ' jar'
237235 description = ' Hyperledger Fabric Java Chaincode Shim'
238- url = ' http ://www. hyperledger.org /'
236+ url = ' https ://hyperledger.github.io/fabric-chaincode-java /'
239237
240238 scm {
241- url = ' https://github.com/hyperledger/fabric-chaincode-java.git'
239+ connection = ' scm:git:https://github.com/hyperledger/fabric-chaincode-java.git'
240+ developerConnection = ' scm:git:ssh://github.com:hyperledger/fabric-chaincode-java.git'
241+ url = ' https://github.com/hyperledger/fabric-chaincode-java'
242242 }
243243 licenses {
244244 license {
@@ -248,26 +248,16 @@ publishing {
248248 }
249249
250250 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- }
266251 developer {
267252 id = ' denyeart'
268253 name = ' David Enyeart'
269254270255 }
256+ developer {
257+ id = ' bestbeforetoday'
258+ name = ' Mark S. Lewis'
259+ 260+ }
271261 }
272262 }
273263 }
@@ -276,17 +266,12 @@ publishing {
276266
277267 repositories {
278268 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-
269+ name = " Staging"
270+ url = layout. buildDirectory. dir(' staging-deploy' )
286271 }
287272
288273 maven {
289- name = " GitHubPackages "
274+ name = " GitHub "
290275 url = " https://maven.pkg.github.com/hyperledger/fabric-chaincode-java"
291276 credentials {
292277 username = System . getenv(" GITHUB_ACTOR" )
@@ -310,12 +295,40 @@ signing {
310295 }
311296}
312297
298+ jreleaser {
299+ gitRootSearch = true
300+ signing {
301+ active = ' ALWAYS'
302+ armored = true
303+ verify = false
304+ }
305+ deploy {
306+ maven {
307+ mavenCentral {
308+ sonatype {
309+ active = ' ALWAYS'
310+ url = ' https://central.sonatype.com/api/v1/publisher'
311+ stagingRepository(layout. buildDirectory. dir(' staging-deploy' ). get(). toString())
312+ retryDelay = 60
313+ }
314+ }
315+ }
316+ }
317+ release {
318+ github {
319+ skipRelease = true
320+ skipTag = true
321+ token = ' EMPTY'
322+ }
323+ }
324+ }
325+
313326// Need to specify the sourcesJar task BEFORE the java{withSourcesJar()} so that it picks up the duplicatesStratergy
314327// otherwise this fails with a duplicates error.
315328// (see https://github.com/gradle/gradle/issues/17236)
316329
317- task sourcesJar ( type : Jar ) {
318- duplicatesStrategy = ' include '
330+ tasks . register( ' sourcesJar ' , Jar ) {
331+ duplicatesStrategy = DuplicatesStrategy . INCLUDE
319332 archiveClassifier = ' sources'
320333 from sourceSets. main. allSource
321334}
@@ -332,16 +345,16 @@ build.dependsOn licenseCheck
332345import org.gradle.api.tasks.testing.logging.TestExceptionFormat
333346import org.gradle.api.tasks.testing.logging.TestLogEvent
334347
335- tasks. withType(Test ) {
348+ tasks. withType(Test ). configureEach {
336349
337350 environment " CORE_PEER_LOCALMSPID" , " mymsp"
338351
339352 testLogging {
340353 // set options for log level LIFECYCLE
341354 events TestLogEvent . FAILED ,
342- TestLogEvent . PASSED ,
343- TestLogEvent . SKIPPED ,
344- TestLogEvent . STANDARD_OUT
355+ TestLogEvent . PASSED ,
356+ TestLogEvent . SKIPPED ,
357+ TestLogEvent . STANDARD_OUT
345358 exceptionFormat = TestExceptionFormat . FULL
346359 showExceptions = true
347360 showCauses = true
@@ -350,22 +363,23 @@ tasks.withType(Test) {
350363 // set options for log level DEBUG and INFO
351364 debug {
352365 events TestLogEvent . STARTED ,
353- TestLogEvent . FAILED ,
354- TestLogEvent . PASSED ,
355- TestLogEvent . SKIPPED ,
356- TestLogEvent . STANDARD_ERROR ,
357- TestLogEvent . STANDARD_OUT
366+ TestLogEvent . FAILED ,
367+ TestLogEvent . PASSED ,
368+ TestLogEvent . SKIPPED ,
369+ TestLogEvent . STANDARD_ERROR ,
370+ TestLogEvent . STANDARD_OUT
358371 exceptionFormat = TestExceptionFormat . FULL
359372 }
360373 info. events = debug. events
361374 info. exceptionFormat = debug. exceptionFormat
362375
363- afterSuite { desc , result ->
376+ afterSuite {desc , result ->
364377 if (! desc. parent) { // will match the outermost suite
365378 def output = " Results: ${ result.resultType} (${ result.testCount} tests, ${ result.successfulTestCount} successes, ${ result.failedTestCount} failures, ${ result.skippedTestCount} skipped)"
366379 def startItem = ' | ' , endItem = ' |'
367380 def repeatLength = startItem. length() + output. length() + endItem. length()
368- println (' \n ' + (' -' * repeatLength) + ' \n ' + startItem + output + endItem + ' \n ' + (' -' * repeatLength))
381+ println (' \n ' + (' -' * repeatLength) + ' \n ' + startItem + output + endItem + ' \n ' +
382+ (' -' * repeatLength))
369383 }
370384 }
371385 }
0 commit comments