buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.2' classpath 'com.github.ben-manes:gradle-versions-plugin:0.13.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 { jcenter() } dependencies { compile 'eu.chainfire:libsuperuser:1.0.0.201608240809' compile 'com.android.support:design:25.0.0' compile 'com.google.zxing:android-integration:3.3.0' compile 'com.google.code.gson:gson:2.7' compile 'org.mindrot:jbcrypt:0.3m' compile 'com.google.guava:guava:19.0' androidTestCompile 'com.android.support.test:rules:0.5' } project.archivesBaseName = 'syncthing' android { compileSdkVersion 25 buildToolsVersion "25.0.0" defaultConfig { applicationId "com.nutomic.syncthingandroid" minSdkVersion 11 targetSdkVersion 25 versionCode 105 versionName "0.8.6" testApplicationId 'com.nutomic.syncthingandroid.test' testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner' testHandleProfiling true testFunctionalTest true jackOptions { enabled true } } 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 { 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) } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } 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' }