diff options
author | Harsh Shandilya <msfjarvis@gmail.com> | 2019-11-06 19:41:15 +0530 |
---|---|---|
committer | Harsh Shandilya <msfjarvis@gmail.com> | 2019-11-06 19:41:15 +0530 |
commit | b2d352e3ea671e84cc4f356a49786d1d3b2eaef6 (patch) | |
tree | e33d23a825d3eaa81bc2ce0bd6a621894a36adcc /app/build.gradle | |
parent | 3fcf242c0770eb043b85d9d0a16e408780cf7527 (diff) |
Revert back to Groovy DSL
The Kotlin DSL's API is extremely terrible and makes the simplest tasks annoying. It also introduces a very noticeable build overhead that I'd rather not have.
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
Diffstat (limited to 'app/build.gradle')
-rw-r--r-- | app/build.gradle | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 00000000..a97ebab7 --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,106 @@ +/* + * 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' + } +} |