From 848530f39aaf2488958c7455dfa578086ad15b01 Mon Sep 17 00:00:00 2001 From: Ben Liblit Date: Mon, 5 Mar 2018 13:05:31 -0600 Subject: [PATCH] Experimental combined task for download and checksum verification Not working yet: . --- com.ibm.wala.cast.java.test.data/build.gradle | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/com.ibm.wala.cast.java.test.data/build.gradle b/com.ibm.wala.cast.java.test.data/build.gradle index 840d92fd0..4686420e6 100644 --- a/com.ibm.wala.cast.java.test.data/build.gradle +++ b/com.ibm.wala.cast.java.test.data/build.gradle @@ -6,23 +6,33 @@ sourceSets.test.java.srcDirs = ['src'] // download JLex // -task downloadJLex { - outputs.file 'src/JLex/Main.java' - doLast { +class VerifiedDownload extends org.gradle.api.DefaultTask { + + @Input String src + @Input String checksum + @OutputFile File dest + + @TaskAction + downloadAndVerify() { download { - src 'http://www.cs.princeton.edu/~appel/modern/java/JLex/current/Main.java' - dest outputs.files.singleFile + src this.src + dest this.dest overwrite true onlyIfModified true - useETag true } verifyChecksum { - src outputs.files.singleFile - checksum 'fe0cff5db3e2f0f5d67a153cf6c783af' + src this.dest + checksum this.checksum } } } +task downloadJLex(type: VerifiedDownload) { + src 'http://www.cs.princeton.edu/~appel/modern/java/JLex/current/Main.java' + checksum 'fe0cff5db3e2f0f5d67a153cf6c783af' + dest file('src/JLex/Main.java') +} + task cleanDownloadJLex(type: Delete) { delete files(downloadJLex).singleFile.parent }