|  | repositories { | 
|  | google() | 
|  | jcenter() | 
|  | } | 
|  |  | 
|  | buildscript { | 
|  | repositories { | 
|  | google() | 
|  | jcenter() | 
|  | } | 
|  |  | 
|  | dependencies { | 
|  | classpath 'com.android.tools.build:gradle:4.0.0' | 
|  | } | 
|  | } | 
|  |  | 
|  | apply plugin: 'com.android.library' | 
|  |  | 
|  | def cmakeListDir = "${rootDir}/../../../" | 
|  | def hostBuildDir = "${cmakeListDir}/../iree-build-host" | 
|  | def hostInstallDir = "${hostBuildDir}/install" | 
|  |  | 
|  | android { | 
|  | compileSdkVersion 29 | 
|  |  | 
|  | defaultConfig { | 
|  | minSdkVersion 28 | 
|  | targetSdkVersion 29 | 
|  |  | 
|  | externalNativeBuild { | 
|  | cmake { | 
|  | arguments "-DIREE_BUILD_EXPERIMENTAL_JAVA_BINDINGS=ON", | 
|  | "-DIREE_HAL_DRIVERS_TO_BUILD=VMLA", | 
|  |  | 
|  | // Disable all but the runtime components needed for the | 
|  | // java bindings. | 
|  | "-DIREE_BUILD_COMPILER=OFF", | 
|  | "-DIREE_ENABLE_MLIR=OFF", | 
|  | "-DIREE_BUILD_TESTS=OFF", | 
|  | "-DIREE_BUILD_SAMPLES=OFF", | 
|  | "-DIREE_BUILD_PYTHON_BINDINGS=OFF", | 
|  | "-DIREE_HOST_BINARY_ROOT=${hostInstallDir}" | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | sourceSets { | 
|  | main { | 
|  | java.srcDirs = ['java/com/google/iree'] | 
|  | jni.srcDirs = ['java/com/google/iree/native'] | 
|  | manifest.srcFile 'com/google/iree/tests/TestManifest.xml' | 
|  | } | 
|  | } | 
|  |  | 
|  | externalNativeBuild { | 
|  | cmake { | 
|  | version "3.13.0+" | 
|  | path "../../../CMakeLists.txt" | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | // Task to cmake configure the host | 
|  | task cmakeConfigureHost(type: Exec) { | 
|  | doFirst { | 
|  | println "Configuring host tools with cmake..." | 
|  | } | 
|  | workingDir cmakeListDir | 
|  | commandLine "cmake", | 
|  | "-G" , "Ninja", | 
|  | "-B", hostBuildDir , | 
|  | "-DIREE_TARGET_BACKENDS_TO_BUILD=vmla", | 
|  | "-DIREE_HAL_DRIVERS_TO_BUILD=vmla", | 
|  | "-DIREE_BUILD_COMPILER=ON", | 
|  | "-DIREE_BUILD_TESTS=OFF ", | 
|  | "-DIREE_BUILD_SAMPLES=OFF", | 
|  | "-DCMAKE_INSTALL_PREFIX=${hostInstallDir}", | 
|  | "." | 
|  | } | 
|  |  | 
|  | // Task to cmake build the host | 
|  | task cmakeBuildHost(type: Exec) { | 
|  | doFirst { | 
|  | println "Building host tools with cmake..." | 
|  | } | 
|  | workingDir cmakeListDir | 
|  | commandLine "cmake", "--build", hostBuildDir, "--target", "install" | 
|  | } | 
|  |  | 
|  | // Build host tools before building the app | 
|  | preBuild.dependsOn cmakeBuildHost | 
|  | cmakeBuildHost.dependsOn cmakeConfigureHost |