/* * Tinc App, an Android binding and user interface for the tinc mesh VPN daemon * Copyright (C) 2017-2018 Pacien TRAN-GIRARD * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' apply plugin: 'com.github.triplet.play' def keystorePropertiesFile = rootProject.file("keystore.properties") def keystoreAvailable = keystorePropertiesFile.exists() def keystoreProperties = new Properties() if (keystoreAvailable) keystoreProperties.load(new FileInputStream(keystorePropertiesFile)) android { compileSdkVersion 27 defaultConfig { applicationId 'org.pacien.tincapp' minSdkVersion 21 //noinspection OldTargetApi targetSdkVersion 27 multiDexEnabled true versionCode 19 versionName '0.19' ndk { abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' } } if (keystoreAvailable) signingConfigs { release { keyAlias keystoreProperties['keyAlias'] keyPassword keystoreProperties['keyPassword'] storeFile file(keystoreProperties['storeFile']) storePassword keystoreProperties['storePassword'] } } buildTypes { release { if (keystoreAvailable) signingConfig signingConfigs.release minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } externalNativeBuild { cmake { path 'CMakeLists.txt' } } dataBinding { enabled = true } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'net.sourceforge.streamsupport:streamsupport-cfuture:1.6.3' implementation "android.arch.lifecycle:extensions:1.1.1" implementation "com.android.support:support-compat:27.1.1" implementation 'com.android.support:design:27.1.1' implementation 'com.journeyapps:zxing-android-embedded:3.6.0' implementation 'org.bouncycastle:bcpkix-jdk15on:1.59' implementation 'org.slf4j:slf4j-api:1.7.25' //noinspection GradleDependency: inspection tool bug for logback-android implementation 'com.github.tony19:logback-android:1.1.1-12' implementation('org.apache.commons:commons-configuration2:2.2') { exclude group: 'commons-logging', module: 'commons-logging' } implementation('commons-beanutils:commons-beanutils:1.9.3') { exclude group: 'commons-logging', module: 'commons-logging' } implementation('commons-io:commons-io:2.6') { exclude group: 'commons-logging', module: 'commons-logging' } } repositories { jcenter() google() } play { if (keystoreAvailable) jsonFile = file(keystoreProperties['apiKeyFile']) track = 'beta' untrackOld = true uploadImages = true }