syncthing-android/build.gradle

134 lines
3.6 KiB
Groovy

buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0'
classpath 'com.github.ben-manes:gradle-versions-plugin:0.12.0'
classpath 'com.github.triplet.gradle:play-publisher:1.1.4'
}
}
apply plugin: 'com.android.application'
apply plugin: 'com.github.ben-manes.versions'
apply plugin: 'com.github.triplet.play'
repositories {
mavenCentral()
jcenter()
}
dependencies {
compile 'eu.chainfire:libsuperuser:1.0.0.201602271131'
compile 'com.android.support:design:23.3.0'
compile 'com.google.zxing:android-integration:3.2.1'
androidTestCompile 'com.squareup.okhttp:mockwebserver:2.4.0'
}
project.archivesBaseName = 'syncthing'
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.nutomic.syncthingandroid"
minSdkVersion 11
targetSdkVersion 23
versionCode 90
versionName "0.7.14"
testApplicationId 'com.nutomic.syncthingandroid.test'
testInstrumentationRunner 'android.test.InstrumentationTestRunner'
testHandleProfiling true
testFunctionalTest true
}
// Without this parameter, all builds fail with error:
// Execution failed for task ':mergeArmeabiDebugResources'.
// > Some file crunching failed, see logs for details
// https://code.google.com/p/android/issues/detail?id=163378
aaptOptions.setProperty("cruncherEnabled", false)
// We haven't upgraded to the new HTTP library yet.
useLibrary 'org.apache.http.legacy'
signingConfigs {
release {
if (System.getenv("key_alias")) {
storeFile = file(System.getenv("key_store"))
storePassword = System.getenv("key_store_password")
keyAlias = System.getenv("key_alias")
keyPassword = System.getenv("key_alias_password")
}
}
}
buildTypes {
debug {
applicationIdSuffix ".debug"
debuggable true
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-android.txt'
if (System.getenv("key_alias")) {
signingConfig signingConfigs.release
}
}
}
productFlavors {
x86 {
versionCode Integer.parseInt("4" + defaultConfig.versionCode)
ndk {
abiFilter "x86"
}
}
armeabi {
versionCode Integer.parseInt("3" + defaultConfig.versionCode)
ndk {
abiFilter "armeabi"
}
}
fat {
versionCode Integer.parseInt("0" + defaultConfig.versionCode)
}
}
}
task buildNative(type: Exec) {
outputs.upToDateWhen { false }
executable = './make-all.bash'
}
task cleanNative(type: Delete) {
delete 'src/main/jniLibs/'
delete 'ext/syncthing/bin/'
delete 'ext/syncthing/pkg/'
}
play {
jsonFile = file('keys.json')
uploadImages = false
}
/**
* Some languages are not supported by Google Play, so we ignore them.
*/
task deleteUnsupportedPlayTranslations(type: Delete) {
delete 'src/fat/play/en/'
delete 'src/fat/play/da_DK'
delete 'src/fat/play/el-EL'
delete 'src/fat/play/es_EC'
delete 'src/fat/play/es_MX'
delete 'src/fat/play/fr_FR'
delete 'src/fat/play/no_NO'
delete 'src/fat/play/zh_TW'
delete 'src/fat/play/zh_CN'
delete 'src/fat/play/pt_BR'
delete 'src/fat/play/pl_PL'
delete 'src/fat/play/nb'
delete 'src/fat/play/nn'
}