// 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:2.3.3' classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7.3' classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1' classpath 'com.nabilhachicha:android-native-dependencies:0.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() } } ext { minSdkVersion = 15 targetSdkVersion = 25 compileSdkVersion = 25 buildToolsVersion = '25.0.2' sourceCompatibilityVersion = JavaVersion.VERSION_1_7 targetCompatibilityVersion = JavaVersion.VERSION_1_7 } // If you have an idea on how to avoid this, please get in touch or // answer https://stackoverflow.com/questions/43867014/how-to-use-the-gradle-ndk-build-to-compile-for-the-host-machine. task copyNativeLibs(type: Copy, dependsOn: ':buckBuildNative') { from "${rootDir}/buck-out/gen/java/tests#default,shared-library-symlink-tree/" include '*.so' include '*.dylib' into "$buildDir/jniLibs" } task buckBuildNative(type: Exec) { workingDir rootDir environment BUCKVERSION: 'last' commandLine 'buck', 'build', '//java/...' } allprojects { afterEvaluate { tasks.withType(Test) { dependsOn copyNativeLibs def libDir = "${rootDir}/build/jniLibs" systemProperty 'java.library.path', libDir environment 'LD_LIBRARY_PATH', libDir environment 'DYLD_LIBRARY_PATH', libDir } } } task clean(type: Delete) { delete rootProject.buildDir }