Android-Password-Store/app/build.gradle

107 lines
3.8 KiB
Groovy
Raw Normal View History

/*
* 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-beta-3'
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'
}
}