mentat/sdks/android/Mentat/library/build.gradle
Nick Alexander a8cc9cb70d [sdks/android] Don't strip Mentat library.
Help folks debugging by including symbols in our native libraries.
Yes, this makes the resulting AAR very large.  The Android ecosystem
seems to be in flux around who is in charge of stripping native
binaries, but for now let's provide symbols and see how consumers
react.
2018-07-26 13:06:03 -07:00

88 lines
2.6 KiB
Groovy

apply plugin: 'com.android.library'
apply plugin: 'org.mozilla.rust-android-gradle.rust-android'
apply plugin: 'kotlin-android'
apply plugin: 'com.jfrog.bintray'
// Simply applying this plugin gets bintray to publish a pom file.
apply plugin: 'com.github.dcendents.android-maven'
android {
compileSdkVersion rootProject.ext.build['compileSdkVersion']
defaultConfig {
minSdkVersion rootProject.ext.build['minSdkVersion']
targetSdkVersion rootProject.ext.build['targetSdkVersion']
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
versionCode 0
versionName "0.7"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
androidTest.assets.srcDirs += '../../../../fixtures'
}
// TODO silences:
// [InvalidPackage]: not included in Android: java.awt. Referenced from com.sun.jna.Native.AWT.
lintOptions {
abortOnError false
}
// Help folks debugging by including symbols in our native libraries. Yes, this makes the
// resulting AAR very large. The Android ecosystem seems to be in flux around who is in charge
// of stripping native binaries, but for now let's provide symbols and see how consumers react.
packagingOptions {
doNotStrip "**/*.so"
}
}
cargo {
module = '../../../../ffi'
targetDirectory = '../../../../target'
targetInclude = 'libmentat_ffi.so'
targets = [
'x86',
'arm',
'arm64',
]
}
dependencies {
androidTestImplementation 'com.android.support:support-annotations:27.1.1'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test:rules:1.0.2'
testImplementation 'junit:junit:4.12'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'net.java.dev.jna:jna:4.5.2@aar'
}
repositories {
mavenCentral()
}
afterEvaluate {
// The `cargoBuild` tasks isn't available until after evaluation.
android.libraryVariants.all { variant ->
def productFlavor = ""
variant.productFlavors.each {
productFlavor += "${it.name.capitalize()}"
}
def buildType = "${variant.buildType.name.capitalize()}"
tasks["generate${productFlavor}${buildType}Assets"].dependsOn(tasks["cargoBuild"])
}
}
archivesBaseName = 'mentat'
apply from: '../publish.gradle'
ext.configurePublish(
'org.mozilla.mentat',
'mentat',
'A persistent, embedded knowledge base.')