From e70ddf4decbec25c0dbc29d550a71173d7bccb16 Mon Sep 17 00:00:00 2001 From: Ben Liblit Date: Wed, 7 Feb 2018 20:38:06 -0600 Subject: [PATCH] Use an "android.jar" that matches the "dx.jar" we are already using Nothing was obviously failing with the older "android.jar", but I feel more comfortable knowing that these two are more closely matched. --- com.ibm.wala.dalvik.test/build.gradle | 30 +++++++++++++-------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/com.ibm.wala.dalvik.test/build.gradle b/com.ibm.wala.dalvik.test/build.gradle index 08e1d3606..d69eb4927 100644 --- a/com.ibm.wala.dalvik.test/build.gradle +++ b/com.ibm.wala.dalvik.test/build.gradle @@ -16,18 +16,6 @@ task cloneDroidBench(type: Exec) { // TODO: should check out a specific tag or hash } -// TODO: can Gradle's dependency system manage this download for us? -task downloadAndroidJar(type: de.undercouch.gradle.tasks.download.Download) { - src 'http://central.maven.org/maven2/com/google/android/android/4.1.1.4/android-4.1.1.4.jar' - dest new File(temporaryDir, 'android.jar') - overwrite false -} - -task verifyAndroidJar(type: VerifyWithStamp, dependsOn: downloadAndroidJar) { - src files(downloadAndroidJar)[0] - checksum '88be04f4d84d58fadee2e780a322fdb9' -} - task downloadAndroidSdk(type: de.undercouch.gradle.tasks.download.Download) { src 'https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip' dest temporaryDir @@ -45,6 +33,19 @@ task unpackAndroidSdk(type: Sync, dependsOn: verifyAndroidSdk) { into temporaryDir } +task installAndroidPlatforms(type: Exec, dependsOn: unpackAndroidSdk) { + def manager = "${unpackAndroidSdk.outputs.files[0]}/tools/bin/sdkmanager" + ext.version = 'android-26' + commandLine 'sh', '-ceu', "yes 2>/dev/null | $manager platforms\\;$version >/dev/null" + inputs.dir "${unpackAndroidSdk.outputs.files[0]}/tools" + outputs.dir "${unpackAndroidSdk.outputs.files[0]}/platforms" +} + +task copyAndroidJar(type: Sync, dependsOn: installAndroidPlatforms) { + from "${installAndroidPlatforms.outputs.files[0]}/${installAndroidPlatforms.version}/android.jar" + into temporaryDir +} + task installAndroidBuildTools(type: Exec, dependsOn: unpackAndroidSdk) { def manager = "${unpackAndroidSdk.outputs.files[0]}/tools/bin/sdkmanager" ext.version = '26.0.2' @@ -73,14 +74,13 @@ dependencies { project(':com.ibm.wala.util'), project(configuration: 'testArchives', path: ':com.ibm.wala.core.tests'), ) - testRuntime 'com.google.android:android:4.1.1.4' + testRuntime files("${copyAndroidJar.outputs.files[0]}/android.jar") } processTestResources { dependsOn cloneDroidBench - dependsOn verifyAndroidJar - from downloadAndroidJar + from copyAndroidJar def testdata = project(':com.ibm.wala.core.testdata') dependsOn testdata.verifyJavaCup