summaryrefslogtreecommitdiff
path: root/Source/Android
diff options
context:
space:
mode:
authorEder Bastos <bastos.eder@gmail.com>2015-05-19 09:05:35 -0400
committerEder Bastos <bastos.eder@gmail.com>2015-05-19 09:05:35 -0400
commit4cded6532061385dab2e5d5d373ce5391a8274fe (patch)
tree32ab229f33d846ad36dd3ddee21c744793fc9432 /Source/Android
parent9c19d91e1815d71f74853434b5e8e34d8871b67a (diff)
Android: No longer require specification of NDK or Git paths in build.gradle.
Diffstat (limited to 'Source/Android')
-rw-r--r--Source/Android/app/build.gradle46
1 files changed, 44 insertions, 2 deletions
diff --git a/Source/Android/app/build.gradle b/Source/Android/app/build.gradle
index 50ec4b23e0..8ccc80598f 100644
--- a/Source/Android/app/build.gradle
+++ b/Source/Android/app/build.gradle
@@ -82,8 +82,8 @@ task setupCMake(type: Exec) {
"-DANDROID_NATIVE_API_LEVEL=android-18",
"-DCMAKE_TOOLCHAIN_FILE=../../../android.toolchain.cmake",
"../../../../..",
- "-DGIT_EXECUTABLE=" + buildProperties.gitPath,
- "-DANDROID_NDK=" + buildProperties.ndkPath,
+ "-DGIT_EXECUTABLE=" + getGitPath(),
+ "-DANDROID_NDK=" + getNdkPath(),
"-DANDROID_TOOLCHAIN_NAME=" + buildProperties.toolchain,
"-DANDROID_ABI=" + buildProperties.abi
} else {
@@ -111,4 +111,46 @@ task compileNative(type: Exec, dependsOn: 'setupCMake') {
executable 'echo'
args 'No build.properties found; skipping native build.'
}
+}
+
+String getGitPath() {
+ try {
+ def stdout = new ByteArrayOutputStream()
+
+ exec {
+ commandLine 'which', 'git'
+ standardOutput = stdout
+ }
+
+ def gitPath = stdout.toString().trim()
+ project.logger.quiet("Gradle: Found git executuable:" + gitPath)
+
+ return gitPath
+ } catch (ignored) {
+ // Shouldn't happen. How did the user get this file without git?
+ project.logger.error("Gradle error: Couldn't find git executable.")
+ return null;
+ }
+}
+
+String getNdkPath() {
+ try {
+ def stdout = new ByteArrayOutputStream()
+
+ exec {
+ // ndk-build.cmd is a file unique to the root directory of android-ndk-r10d.
+ commandLine 'locate', 'ndk-build.cmd'
+ standardOutput = stdout
+ }
+
+ def ndkCmdPath = stdout.toString()
+ def ndkPath = ndkCmdPath.substring(0, ndkCmdPath.lastIndexOf('/'))
+
+ project.logger.quiet("Gradle: Found Android NDK:" + ndkPath)
+
+ return ndkPath
+ } catch (ignored) {
+ project.logger.error("Gradle error: Couldn't find NDK.")
+ return null;
+ }
} \ No newline at end of file