mentat/sdks/android/Mentat/library/build.gradle

89 lines
2.6 KiB
Groovy
Raw Normal View History

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.')