diff options
Diffstat (limited to 'buildSrc/src/main')
-rw-r--r-- | buildSrc/src/main/groovy/buildSrc/DownloadTask.groovy | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/buildSrc/src/main/groovy/buildSrc/DownloadTask.groovy b/buildSrc/src/main/groovy/buildSrc/DownloadTask.groovy deleted file mode 100644 index 1a49dd5..0000000 --- a/buildSrc/src/main/groovy/buildSrc/DownloadTask.groovy +++ /dev/null @@ -1,61 +0,0 @@ -package buildSrc - -import org.apache.commons.codec.binary.Hex -import org.gradle.api.DefaultTask -import org.gradle.api.tasks.* - -import java.security.MessageDigest - -class DownloadTask extends DefaultTask { - @OutputFile - File destFile - - @Input - URL source - - String sha256sum - - void setSource(URL url) { - this.@source = url - if (destFile == null) { - final basename = url.path.substring(url.path.lastIndexOf('/') + 1) - destFile = new File(project.buildDir, basename) - } - } - - void source(URL url) { - setSource(url) - } - - void source(String sourceUrl) { - source new URL(sourceUrl) - } - - void sha256sum(String sha256sum) { - this.@sha256sum = sha256sum - } - - private void checkSha256Sum(File file, String sum) { - final md = MessageDigest.getInstance('SHA-256') - final digestBytes = md.digest(file.bytes) - final digestHex = Hex.encodeHexString(digestBytes) - if (digestHex != sum) { - throw new TaskExecutionException(this, - new Exception("Checksum mismatch, expected ${sum} got ${digestHex}")) - } - } - - @TaskAction - void doExecute() { - final tempFile = new File(destFile.path + '_download') - project.logger.info("Download ${source} to ${tempFile}") - ant.get(src: source, dest: tempFile, verbose: true) - - if (sha256sum) { - checkSha256Sum(tempFile, sha256sum) - } - - project.logger.info("Rename downloaded ${tempFile} to ${destFile}") - ant.rename(src: tempFile, dest: destFile) - } -}
\ No newline at end of file |