diff --git a/build-logic/electrum-binaries/src/main/kotlin/bisq/gradle/electrum/ElectrumBinaryDownloader.kt b/build-logic/electrum-binaries/src/main/kotlin/bisq/gradle/electrum/ElectrumBinaryDownloader.kt index e349a958ca..78dc6fa642 100644 --- a/build-logic/electrum-binaries/src/main/kotlin/bisq/gradle/electrum/ElectrumBinaryDownloader.kt +++ b/build-logic/electrum-binaries/src/main/kotlin/bisq/gradle/electrum/ElectrumBinaryDownloader.kt @@ -49,6 +49,8 @@ class ElectrumBinaryDownloader( detachedSignatureFile.set(signatureDownloadTask.flatMap { it.outputFile }) publicKeyUrls.set(getPublicKeyUrls()) publicKeyFingerprints.set(getPublicKeyFingerprints()) + + resultFile.set(project.layout.buildDirectory.file("$DOWNLOADS_DIR/sha256.result")) } } diff --git a/build-logic/electrum-binaries/src/main/kotlin/bisq/gradle/electrum/tasks/FileVerificationTask.kt b/build-logic/electrum-binaries/src/main/kotlin/bisq/gradle/electrum/tasks/FileVerificationTask.kt index bf50576a15..3593badd45 100644 --- a/build-logic/electrum-binaries/src/main/kotlin/bisq/gradle/electrum/tasks/FileVerificationTask.kt +++ b/build-logic/electrum-binaries/src/main/kotlin/bisq/gradle/electrum/tasks/FileVerificationTask.kt @@ -7,6 +7,7 @@ import org.gradle.api.file.RegularFileProperty import org.gradle.api.provider.SetProperty import org.gradle.api.tasks.Input import org.gradle.api.tasks.InputFile +import org.gradle.api.tasks.OutputFile import org.gradle.api.tasks.TaskAction import java.net.URL @@ -24,6 +25,9 @@ abstract class FileVerificationTask : DefaultTask() { @get:Input abstract val publicKeyFingerprints: SetProperty + @get:OutputFile + abstract val resultFile: RegularFileProperty + @TaskAction fun verify() { val signatureVerifier = SignatureVerifier( @@ -36,6 +40,8 @@ abstract class FileVerificationTask : DefaultTask() { fileToVerify = fileToVerify.get().asFile ) + resultFile.get().asFile.writeText("$isSignatureValid") + if (!isSignatureValid) { throw GradleException( "Signature verification failed for ${fileToVerify.get().asFile.absolutePath}."