def checkExecResult(execResult) {
    if (execResult) {
        if (execResult.getExitValue() != 0) {
            throw new GradleException('Non-zero exit value: ' + execResult.getExitValue())
        }

    } else {
        throw new GradleException('Returned a null execResult object')
    }
}

task buildLibrariesForAndroid(type: Exec) {
    workingDir '../'

    def sdkDir = System.env.ANDROID_HOME
    def ndkDir = System.env.ANDROID_NDK_HOME

    if (rootProject.file("local.properties").exists()) {
        Properties properties = new Properties()
        properties.load(project.rootProject.file('local.properties').newDataInputStream())
        sdkDir = properties.getProperty('sdk.dir')
        ndkDir = properties.getProperty('ndk.dir')
    }

    def path = System.env.PATH

    def envMap = [
            'ANDROID_HOME'    : sdkDir,
            'ANDROID_NDK_HOME': ndkDir,
            '_ARCH_'          : 'armeabi',
            'PATH'            : ndkDir,
    ]
    environment envMap

    print envMap

    commandLine 'python', 'build_android.py', '2', 'armeabi'

    doLast {
        checkExecResult(execResult)
    }
} 
