Use ".singleFile" instead of "[0]" when we expect just one file
This documents our intent more clearly, and actively checks for mistakes rather than silently ignoring unexpected extra files.
This commit is contained in:
parent
1d8869bb0a
commit
2a75244914
|
@ -17,7 +17,7 @@ task downloadNodeJS(type: de.undercouch.gradle.tasks.download.Download) {
|
|||
}
|
||||
|
||||
task verifyNodeJS(type: VerifyWithStamp, dependsOn: downloadNodeJS) {
|
||||
src files(downloadNodeJS)[0]
|
||||
src files(downloadNodeJS).singleFile
|
||||
checksum '33c5ba7a5d45644e70d268d8ad3e57df'
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ task downloadAjaxslt(type: de.undercouch.gradle.tasks.download.Download) {
|
|||
}
|
||||
|
||||
task verifyAjaxslt(type: VerifyWithStamp, dependsOn: downloadAjaxslt) {
|
||||
src files(downloadAjaxslt)[0]
|
||||
src files(downloadAjaxslt).singleFile
|
||||
checksum 'c995abe3310a401bb4db7f28a6409756'
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ task downloadBcel(type: Download) {
|
|||
}
|
||||
|
||||
task verifyBcel(type: VerifyWithStamp, dependsOn: downloadBcel) {
|
||||
src files(downloadBcel)[0]
|
||||
src files(downloadBcel).singleFile
|
||||
checksum '19bffd7f217b0eae415f1ef87af2f0bc'
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,7 @@ task cleanDownloadJavaCup(type: Delete) {
|
|||
}
|
||||
|
||||
task verifyJavaCup(type: VerifyWithStamp, dependsOn: downloadJavaCup) {
|
||||
src files(downloadJavaCup)[0]
|
||||
src files(downloadJavaCup).singleFile
|
||||
checksum '2bda8c40abd0cbc295d3038643d6e4ec'
|
||||
}
|
||||
|
||||
|
@ -108,7 +108,7 @@ task downloadOcamlJava(type: Download) {
|
|||
}
|
||||
|
||||
task verifyOcamlJava(type: VerifyWithStamp, dependsOn: downloadOcamlJava) {
|
||||
src downloadOcamlJava.outputFiles[0]
|
||||
src files(downloadOcamlJava).singleFile
|
||||
checksum '45feec6e3889f5073a39c2c4c84878d1'
|
||||
}
|
||||
|
||||
|
@ -120,9 +120,9 @@ task unpackOcamlJava(type: Sync, dependsOn: verifyOcamlJava) {
|
|||
task generateHelloHash(type: JavaExec, dependsOn: unpackOcamlJava) {
|
||||
inputs.file 'ocaml/hello_hash.ml'
|
||||
outputs.file 'hello_hash.jar'
|
||||
args inputs.files[0], '-o', outputs.files[0]
|
||||
args inputs.files.singleFile, '-o', outputs.files.singleFile
|
||||
|
||||
def ocamlJavaHome = new File(files(unpackOcamlJava)[0], downloadOcamlJava.basename)
|
||||
def ocamlJavaHome = new File(files(unpackOcamlJava).singleFile, downloadOcamlJava.basename)
|
||||
classpath new File(ocamlJavaHome, 'lib/ocamljava.jar')
|
||||
main 'ocaml.compilers.ocamljavaMain'
|
||||
inputs.dir ocamlJavaHome
|
||||
|
|
|
@ -40,7 +40,7 @@ task downloadAndroidSdk(type: Download) {
|
|||
}
|
||||
|
||||
task verifyAndroidSdk(type: VerifyWithStamp, dependsOn: downloadAndroidSdk) {
|
||||
src files(downloadAndroidSdk)[0]
|
||||
src files(downloadAndroidSdk).singleFile
|
||||
algorithm 'SHA-256'
|
||||
checksum downloadAndroidSdk.checksum
|
||||
}
|
||||
|
@ -52,31 +52,31 @@ task unpackAndroidSdk(type: Sync, dependsOn: verifyAndroidSdk) {
|
|||
|
||||
// TODO: factor out common code in installAndroidBuildTools and installAndroidPlatforms
|
||||
task installAndroidBuildTools(type: Exec, dependsOn: unpackAndroidSdk) {
|
||||
def manager = "${unpackAndroidSdk.outputs.files[0]}/tools/bin/sdkmanager"
|
||||
def manager = "${unpackAndroidSdk.outputs.files.singleFile}/tools/bin/sdkmanager"
|
||||
ext.version = '26.0.2'
|
||||
commandLine 'sh', '-ceu', "yes 2>/dev/null | $manager build-tools\\;$version >/dev/null"
|
||||
def androidSdk = unpackAndroidSdk.outputs.files[0]
|
||||
def androidSdk = unpackAndroidSdk.outputs.files.singleFile
|
||||
inputs.dir "$androidSdk/tools"
|
||||
outputs.dir "$androidSdk/build-tools"
|
||||
}
|
||||
|
||||
task copyDxJar(type: Sync, dependsOn: installAndroidBuildTools) {
|
||||
from "${installAndroidBuildTools.outputs.files[0]}/${installAndroidBuildTools.version}/lib/dx.jar"
|
||||
from "${installAndroidBuildTools.outputs.files.singleFile}/${installAndroidBuildTools.version}/lib/dx.jar"
|
||||
into 'lib'
|
||||
}
|
||||
|
||||
// TODO: factor out common code in installAndroidBuildTools and installAndroidPlatforms
|
||||
task installAndroidPlatforms(type: Exec, dependsOn: unpackAndroidSdk) {
|
||||
def manager = "${unpackAndroidSdk.outputs.files[0]}/tools/bin/sdkmanager"
|
||||
def manager = "${unpackAndroidSdk.outputs.files.singleFile}/tools/bin/sdkmanager"
|
||||
ext.version = "android-${installAndroidBuildTools.version.tokenize('.')[0]}"
|
||||
commandLine 'sh', '-ceu', "yes 2>/dev/null | $manager platforms\\;$version >/dev/null"
|
||||
def androidSdk = unpackAndroidSdk.outputs.files[0]
|
||||
def androidSdk = unpackAndroidSdk.outputs.files.singleFile
|
||||
inputs.dir "$androidSdk/tools"
|
||||
outputs.dir "$androidSdk/platforms"
|
||||
}
|
||||
|
||||
task copyAndroidJar(type: Sync, dependsOn: installAndroidPlatforms) {
|
||||
from "${installAndroidPlatforms.outputs.files[0]}/${installAndroidPlatforms.version}/android.jar"
|
||||
from "${installAndroidPlatforms.outputs.files.singleFile}/${installAndroidPlatforms.version}/android.jar"
|
||||
into temporaryDir
|
||||
}
|
||||
|
||||
|
@ -87,7 +87,7 @@ task downloadSampleCup(type: Download) {
|
|||
}
|
||||
|
||||
task verifySampleCup(type: VerifyWithStamp, dependsOn: downloadSampleCup) {
|
||||
src files(downloadSampleCup)[0]
|
||||
src files(downloadSampleCup).singleFile
|
||||
checksum '76b549e7c6e802b811a374248175ecf4'
|
||||
}
|
||||
|
||||
|
@ -98,7 +98,7 @@ task downloadSampleLex(type: Download) {
|
|||
}
|
||||
|
||||
task verifySampleLex(type: VerifyWithStamp, dependsOn: downloadSampleLex) {
|
||||
src files(downloadSampleLex)[0]
|
||||
src files(downloadSampleLex).singleFile
|
||||
checksum 'ae887758b2657981d023a72a165da830'
|
||||
}
|
||||
|
||||
|
@ -110,14 +110,14 @@ dependencies {
|
|||
testCompile(
|
||||
'junit:junit:4.11',
|
||||
'org.osgi:org.osgi.core:4.2.0',
|
||||
files("${copyDxJar.outputs.files[0]}/dx.jar"),
|
||||
files("${copyDxJar.outputs.files.singleFile}/dx.jar"),
|
||||
project(':com.ibm.wala.core'),
|
||||
project(':com.ibm.wala.dalvik'),
|
||||
project(':com.ibm.wala.shrike'),
|
||||
project(':com.ibm.wala.util'),
|
||||
project(configuration: 'testArchives', path: ':com.ibm.wala.core.tests'),
|
||||
)
|
||||
testRuntime files("${copyAndroidJar.outputs.files[0]}/android.jar")
|
||||
testRuntime files("${copyAndroidJar.outputs.files.singleFile}/android.jar")
|
||||
}
|
||||
|
||||
processTestResources {
|
||||
|
|
Loading…
Reference in New Issue