FINERACT-1506: Add WAR artifact to release distribution again
This commit is contained in:
committed by
Petri Tuomola
parent
07a8aa1650
commit
73723aca66
@@ -19,6 +19,8 @@
|
||||
description = 'Fineract WAR'
|
||||
|
||||
apply plugin: 'war'
|
||||
apply plugin: 'distribution'
|
||||
apply plugin: 'signing'
|
||||
|
||||
war {
|
||||
archiveFileName = 'fineract-provider.war'
|
||||
@@ -48,3 +50,90 @@ war {
|
||||
dependencies {
|
||||
implementation project(':fineract-provider')
|
||||
}
|
||||
|
||||
tasks.withType(Tar) {
|
||||
compression Compression.GZIP
|
||||
extension 'tar.gz'
|
||||
}
|
||||
|
||||
distributions {
|
||||
binary {
|
||||
if(project.hasProperty("distVersion")) {
|
||||
distributionBaseName = "apache-fineract-$distVersion-binary"
|
||||
} else {
|
||||
distributionBaseName = "apache-fineract-binary"
|
||||
}
|
||||
contents {
|
||||
from ("$rootDir/fineract-client/build/libs/") {
|
||||
include 'fineract-client-*.jar'
|
||||
}
|
||||
from ("$rootDir/fineract-provider/build/libs/") {
|
||||
include 'fineract-provider-*.jar'
|
||||
exclude 'fineract-provider-*-plain.jar'
|
||||
}
|
||||
from war
|
||||
from("$rootDir/licenses/") {
|
||||
into "licenses/"
|
||||
}
|
||||
from "$rootDir/LICENSE_RELEASE"
|
||||
from "$rootDir/NOTICE_RELEASE"
|
||||
rename ('LICENSE_RELEASE', 'LICENSE')
|
||||
rename ('NOTICE_RELEASE', 'NOTICE')
|
||||
|
||||
from "$rootDir/DISCLAIMER"
|
||||
from "$rootDir/README.md"
|
||||
}
|
||||
}
|
||||
src {
|
||||
if(project.hasProperty("distVersion")) {
|
||||
distributionBaseName = "apache-fineract-$distVersion-src"
|
||||
} else {
|
||||
distributionBaseName = "apache-fineract-src"
|
||||
}
|
||||
|
||||
contents {
|
||||
from "$rootDir/"
|
||||
exclude '**/build' , '.git', '**/.gradle', '.github', '**/.settings', '**/.project', '**/.classpath', '.idea', 'out', '._.DS_Store', '.DS_Store', 'WebContent', '**/.externalToolbuilders', '.theia', '.gitpod.yml', '.travis.yml', 'LICENSE_RELEASE', 'NOTICE_RELEASE', '**/licenses', '*.class', '**/bin', '*.log', '.dockerignore', '**/gradle', '**/.gitkeep'
|
||||
rename ('LICENSE_SOURCE', 'LICENSE')
|
||||
rename ('NOTICE_SOURCE', 'NOTICE')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tasks.binaryDistZip.enabled false
|
||||
tasks.srcDistZip.enabled false
|
||||
tasks.binaryDistTar.dependsOn war
|
||||
// tasks.srcDistTar.dependsOn prepareInputYaml
|
||||
|
||||
// create signatures and checksums only if project parameter "fineract.release" is provided on the command line
|
||||
if( project.hasProperty("fineract.release") ) {
|
||||
signing {
|
||||
useGpgCmd()
|
||||
sign (binaryDistTar, srcDistTar)
|
||||
}
|
||||
tasks.withType(Tar) { task ->
|
||||
task.doLast {
|
||||
ant.checksum file: task.archivePath, algorithm: 'SHA-512', fileext: '.sha512'
|
||||
}
|
||||
}
|
||||
tasks.withType(Sign) { task ->
|
||||
task.doLast {
|
||||
task.getFilesToSign().each { f ->
|
||||
new ByteArrayOutputStream().withStream { os ->
|
||||
def result = exec {
|
||||
workingDir "$buildDir/distributions"
|
||||
executable 'sh'
|
||||
args '-c', "gpg --verify ${f}.asc"
|
||||
standardOutput = os
|
||||
}
|
||||
if(result.exitValue==0) {
|
||||
println '+++ GPG signature correct!'
|
||||
} else {
|
||||
println '--- GPG signature incorrect!'
|
||||
throw new RuntimeException('--- GPG signature incorrect!')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user