mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-21 07:09:56 +01:00
Skip second verification if first succeeds.
This commit is contained in:
@@ -69,22 +69,23 @@ def torBinaries = [
|
|||||||
"geoip" : '8239b98374493529a29096e45fc5877d4d6fdad0146ad8380b291f90d61484ea'
|
"geoip" : '8239b98374493529a29096e45fc5877d4d6fdad0146ad8380b291f90d61484ea'
|
||||||
]
|
]
|
||||||
|
|
||||||
def verifyOrDeleteBinary(name, chksum) {
|
def verifyOrDeleteBinary(name, chksum, alreadyVerified) {
|
||||||
return tasks.create("verifyOrDeleteBinary${name}", VerifyOrDelete) {
|
return tasks.create("verifyOrDeleteBinary${name}", VerifyOrDelete) {
|
||||||
src "${torBinaryDir}/${name}.zip"
|
src "${torBinaryDir}/${name}.zip"
|
||||||
algorithm 'SHA-256'
|
algorithm 'SHA-256'
|
||||||
checksum chksum
|
checksum chksum
|
||||||
|
result alreadyVerified
|
||||||
onlyIf {
|
onlyIf {
|
||||||
src.exists()
|
src.exists()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
def downloadBinary(name, chksum) {
|
def downloadBinary(name, chksum, alreadyVerified) {
|
||||||
return tasks.create([
|
return tasks.create([
|
||||||
name: "downloadBinary${name}",
|
name: "downloadBinary${name}",
|
||||||
type: Download,
|
type: Download,
|
||||||
dependsOn: verifyOrDeleteBinary(name, chksum)]) {
|
dependsOn: verifyOrDeleteBinary(name, chksum, alreadyVerified)]) {
|
||||||
src "${torDownloadUrl}${name}.zip"
|
src "${torDownloadUrl}${name}.zip"
|
||||||
.replace('tor_', "tor-${torVersion}-")
|
.replace('tor_', "tor-${torVersion}-")
|
||||||
.replace('geoip', "geoip-${geoipVersion}")
|
.replace('geoip', "geoip-${geoipVersion}")
|
||||||
@@ -97,13 +98,17 @@ def downloadBinary(name, chksum) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
def verifyBinary(name, chksum) {
|
def verifyBinary(name, chksum) {
|
||||||
|
boolean[] alreadyVerified = [false]
|
||||||
return tasks.create([
|
return tasks.create([
|
||||||
name : "verifyBinary${name}",
|
name : "verifyBinary${name}",
|
||||||
type : Verify,
|
type : Verify,
|
||||||
dependsOn: downloadBinary(name, chksum)]) {
|
dependsOn: downloadBinary(name, chksum, alreadyVerified)]) {
|
||||||
src "${torBinaryDir}/${name}.zip"
|
src "${torBinaryDir}/${name}.zip"
|
||||||
algorithm 'SHA-256'
|
algorithm 'SHA-256'
|
||||||
checksum chksum
|
checksum chksum
|
||||||
|
onlyIf {
|
||||||
|
!alreadyVerified[0]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -115,11 +120,14 @@ project.afterEvaluate {
|
|||||||
|
|
||||||
class VerifyOrDelete extends Verify {
|
class VerifyOrDelete extends Verify {
|
||||||
|
|
||||||
|
boolean[] result
|
||||||
|
|
||||||
@TaskAction
|
@TaskAction
|
||||||
@Override
|
@Override
|
||||||
void verify() throws IOException, NoSuchAlgorithmException {
|
void verify() throws IOException, NoSuchAlgorithmException {
|
||||||
try {
|
try {
|
||||||
super.verify()
|
super.verify()
|
||||||
|
result[0] = true
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
println "${src} failed verification - deleting"
|
println "${src} failed verification - deleting"
|
||||||
src.delete()
|
src.delete()
|
||||||
|
|||||||
Reference in New Issue
Block a user