diff options
| author | Eder Bastos <bastos.eder@gmail.com> | 2015-05-19 09:05:35 -0400 |
|---|---|---|
| committer | Eder Bastos <bastos.eder@gmail.com> | 2015-05-19 09:05:35 -0400 |
| commit | 4cded6532061385dab2e5d5d373ce5391a8274fe (patch) | |
| tree | 32ab229f33d846ad36dd3ddee21c744793fc9432 /Source/Android | |
| parent | 9c19d91e1815d71f74853434b5e8e34d8871b67a (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.gradle | 46 |
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 |
