/* * Copyright © 2014-2019 The Android Password Store Authors. All Rights Reserved. * SPDX-License-Identifier: GPL-3.0-only */ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id 'kotlin-android' id 'kotlin-kapt' id 'kotlin-android-extensions' } android { defaultConfig { applicationId 'com.zeapo.pwdstore' } lintOptions { abortOnError = true // make sure build fails with lint errors! disable 'MissingTranslation', 'PluralsCandidate' } packagingOptions { exclude '.readme' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' } buildTypes { release { minifyEnabled = true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } debug { applicationIdSuffix = '.debug' versionNameSuffix = '-debug' minifyEnabled = false } } /* * To sign release builds, create the file `gradle.properties` in * $HOME/.gradle or in your project directory with this content: * * mStoreFile=/path/to/key.store * mStorePassword=xxx * mKeyAlias=alias * mKeyPassword=xxx */ if (project.hasProperty('mStoreFile') && project.hasProperty('mStorePassword') && project.hasProperty('mKeyAlias') && project.hasProperty('mKeyPassword')) { signingConfigs { release { storeFile = file(project.properties['mStoreFile'] as String) storePassword = project.properties['mStorePassword'] as String keyAlias = project.properties['mKeyAlias'] as String keyPassword = project.properties['mKeyPassword'] as String } } buildTypes.release.signingConfig = signingConfigs.release } } dependencies { implementation 'androidx.appcompat:appcompat:' + versions.appcompat implementation 'androidx.cardview:cardview:' + versions.cardview implementation 'androidx.core:core-ktx:' + versions.coreKtx implementation 'androidx.constraintlayout:constraintlayout:' + versions.constraintLayout implementation 'androidx.documentfile:documentfile:' + versions.documentfile implementation 'androidx.preference:preference:' + versions.preference implementation ('androidx.recyclerview:recyclerview:' + versions.recyclerview) { force = true } implementation 'com.google.android.material:material:' + versions.material implementation 'androidx.annotation:annotation:' + versions.annotation implementation 'androidx.biometric:biometric:' + versions.biometric implementation 'org.sufficientlysecure:openpgp-api:' + versions.openpgp implementation('org.eclipse.jgit:org.eclipse.jgit:' + versions.jgit) { exclude group: 'org.apache.httpcomponents', module: 'httpclient' } implementation 'com.jcraft:jsch:' + versions.jsch implementation 'commons-io:commons-io:' + versions.commons_io implementation 'commons-codec:commons-codec:' + versions.commons_codec implementation 'org.sufficientlysecure:sshauthentication-api:' + versions.sshauth // Testing-only dependencies androidTestImplementation 'junit:junit:4.13-rc-1' androidTestImplementation 'org.mockito:mockito-core:3.1.0' androidTestImplementation 'androidx.test:runner:1.3.0-alpha02' androidTestImplementation 'androidx.test:rules:1.3.0-alpha02' androidTestImplementation 'androidx.test.ext:junit:1.1.2-alpha02' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0-alpha02' androidTestImplementation 'androidx.test.espresso:espresso-intents:3.3.0-alpha02' } tasks.withType(JavaCompile) { options.compilerArgs << '-Xlint:unchecked' options.deprecation = true } tasks.withType(KotlinCompile) { kotlinOptions { jvmTarget = '1.8' } }