d18b861061
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 Committed: https://skia.googlesource.com/skia/+/425535f1626932e4e22f61a2571f9c3c2b1c5977 Review URL: https://codereview.chromium.org/1215023017
86 lines
2.6 KiB
Groovy
86 lines
2.6 KiB
Groovy
// 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
|
|
} |