42 lines
830 B
Groovy
42 lines
830 B
Groovy
sourceSets.test.java.srcDirs = ['src']
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// download JLex
|
|
//
|
|
|
|
class VerifiedDownload extends org.gradle.api.DefaultTask {
|
|
|
|
@Input String src
|
|
@Input String checksum
|
|
@OutputFile File dest
|
|
|
|
@TaskAction
|
|
downloadAndVerify() {
|
|
download {
|
|
src this.src
|
|
dest this.dest
|
|
overwrite true
|
|
onlyIfModified true
|
|
}
|
|
verifyChecksum {
|
|
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
|
|
}
|
|
|
|
compileTestJava.dependsOn downloadJLex
|
|
clean.dependsOn cleanDownloadJLex
|