/* * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:4.2.1' classpath 'com.vanniktech:gradle-maven-publish-plugin:0.15.1' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { google() mavenCentral() } } ext { minSdkVersion = 14 targetSdkVersion = 29 compileSdkVersion = 29 buildToolsVersion = '30.0.2' ndkVersion = '21.3.6528147' 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 }