diff options
author | djsollen <djsollen@google.com> | 2015-07-22 11:33:24 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-22 11:33:25 -0700 |
commit | 425535f1626932e4e22f61a2571f9c3c2b1c5977 (patch) | |
tree | abea4aaaf77ea00c9f424ff8e003dffa9a4ce50f /platform_tools/android/apps/build.gradle | |
parent | 404d9d620d98b186890f9dbdd3498557206c2793 (diff) |
Update Android Apps to use gradle
This CL replaces ant with gradle for the task of building APKs.
The primary driver of this change is that it now allow us to
develop and test our apps using Android Studio.
DOCS_PREVIEW= https://skia.org/?cl=1215023017
Review URL: https://codereview.chromium.org/1215023017
Diffstat (limited to 'platform_tools/android/apps/build.gradle')
-rw-r--r-- | platform_tools/android/apps/build.gradle | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/platform_tools/android/apps/build.gradle b/platform_tools/android/apps/build.gradle new file mode 100644 index 0000000000..b20334b887 --- /dev/null +++ b/platform_tools/android/apps/build.gradle @@ -0,0 +1,86 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + repositories { + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:1.2.3' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + jcenter() + } +} + +def getLocalProperties() { + Properties properties = new Properties() + File propFile = project.rootProject.file('local.properties') + if (propFile.canRead()) { + properties.load(propFile.newDataInputStream()) + } + propFile = project.rootProject.file('gradle.properties') + if (propFile.canRead()) { + properties.load(propFile.newDataInputStream()) + } + return properties +} + +def getSDKPath() { + String path = System.getenv("ANDROID_SDK_ROOT") + if (path == null) { + path = getLocalProperties().getProperty('sdk.dir', null) + } + + if (path == null) { + throw new GradleScriptException("Android SDK not found! Please set ANDROID_SDK_ROOT to" + + " your path or define sdk.dir in gradle.properties") + } + return path +} + +def getPathWithDepotTools() { + System.getenv("PATH") + ":" + getLocalProperties().getProperty('depot_tools.dir', null) + String path = System.getenv("PATH") + if (!path.contains("depot_tools")) { + path += ":" + getLocalProperties().getProperty('depot_tools.dir', null) + } + + if (!path.contains("depot_tools")) { + throw GradleScriptException("Depot Tools not found! Please update your path to include" + + " depot_tools or define depot_tools.dir in gradle.properties") + } + return path +} + +def constructBuildCommand(variant, buildTarget) { + String cmdLine = "./platform_tools/android/bin/android_ninja $buildTarget" + String deviceType = null + if (variant.name.startsWith("arm64")) { + deviceType = "arm64" + } else if (variant.name.startsWith("arm")) { + deviceType = "arm_v7_neon" + } else if (variant.name.startsWith("x86_64")) { + deviceType = "x86_64" + } else if (variant.name.startsWith("x86")) { + deviceType = "x86" + } else if (variant.name.startsWith("mips")) { + deviceType = "mips" + } else if (variant.name.startsWith("mips64")) { + deviceType = "mips64" + } + + if (deviceType != null) { + cmdLine += " -d " + deviceType + } + + if (variant.name.endsWith("Release")) { + cmdLine += " --release" + } + return cmdLine +}
\ No newline at end of file |