Summary: This adds the same logic that we have in place with Litho for Yoga, allowing unit tests to run with Gradle for Yoga. It'll still shell out to Buck to build the native library, but that's hopefully only until we have found a way to reuse the NDK build. For CI this shouldn't matter as we want to run `buck build` anyway and the build step should be a no-op. FB-Only: This should unlock D5020044. Reviewed By: emilsjolander Differential Revision: D5104154 fbshipit-source-id: 48732fff6c1d100a155452f675de343aaf06427b
81 lines
1.9 KiB
Groovy
81 lines
1.9 KiB
Groovy
apply plugin: 'com.jfrog.bintray'
|
|
apply plugin: 'com.android.library'
|
|
apply plugin: 'com.github.dcendents.android-maven'
|
|
apply plugin: 'maven-publish'
|
|
|
|
group = GROUP
|
|
version = VERSION_NAME
|
|
|
|
android {
|
|
compileSdkVersion rootProject.compileSdkVersion
|
|
buildToolsVersion rootProject.buildToolsVersion
|
|
|
|
defaultConfig {
|
|
minSdkVersion rootProject.minSdkVersion
|
|
targetSdkVersion rootProject.targetSdkVersion
|
|
|
|
ndk {
|
|
abiFilters 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'arm64-v8a'
|
|
}
|
|
|
|
externalNativeBuild {
|
|
cmake {
|
|
arguments '-DANDROID_TOOLCHAIN=clang', '-DANDROID_STL=c++_static'
|
|
}
|
|
}
|
|
}
|
|
|
|
externalNativeBuild {
|
|
cmake {
|
|
path 'CMakeLists.txt'
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
targetCompatibility rootProject.targetCompatibilityVersion
|
|
sourceCompatibility rootProject.sourceCompatibilityVersion
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
java.srcDir 'com'
|
|
manifest.srcFile 'AndroidManifest.xml'
|
|
res.srcDirs = ['res']
|
|
}
|
|
|
|
test {
|
|
java.srcDirs 'tests'
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
compile 'com.google.code.findbugs:jsr305:3.0.1'
|
|
compile 'com.facebook.soloader:soloader:0.2.0'
|
|
provided project(':yoga:proguard-annotations')
|
|
testCompile 'junit:junit:4.12'
|
|
}
|
|
|
|
task sourcesJar(type: Jar) {
|
|
classifier = 'source'
|
|
from android.sourceSets.main.java.srcDirs
|
|
}
|
|
|
|
task javadoc(type: Javadoc) {
|
|
failOnError false
|
|
source = android.sourceSets.main.java.sourceFiles
|
|
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
|
|
classpath += configurations.compile
|
|
}
|
|
|
|
task javadocJar(type: Jar, dependsOn: javadoc) {
|
|
classifier = 'javadoc'
|
|
from javadoc.destinationDir
|
|
}
|
|
|
|
ext {
|
|
bintrayName = 'com.facebook.yoga:yoga'
|
|
}
|
|
|
|
apply from: rootProject.file('gradle/release.gradle')
|