Rewrite Gradle configuration with Kotlin DSL (#488)

Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
This commit is contained in:
Harsh Shandilya 2019-03-02 22:35:51 +05:30 committed by Mohamed Zenadi
parent 0b6ba542a8
commit 3c06063153
6 changed files with 99 additions and 101 deletions

View file

@ -1,93 +0,0 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'eclipse'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.zeapo.pwdstore"
minSdkVersion 21
targetSdkVersion 28
versionCode 10302
versionName "1.3.2"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
debug {
applicationIdSuffix ".debug"
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
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'
}
//
// 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(mStoreFile)
storePassword mStorePassword
keyAlias mKeyAlias
keyPassword mKeyPassword
}
}
buildTypes.release.signingConfig = signingConfigs.release
} else {
buildTypes.release.signingConfig = null
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.annotation:annotation:1.0.0'
implementation 'org.sufficientlysecure:openpgp-api:11.0'
implementation 'com.nononsenseapps:filepicker:2.4.2'
implementation('org.eclipse.jgit:org.eclipse.jgit:3.7.1.201504261725-r') {
exclude group: 'org.apache.httpcomponents', module: 'httpclient'
}
implementation 'com.jcraft:jsch:0.1.54'
implementation 'commons-io:commons-io:2.5'
implementation 'commons-codec:commons-codec:1.11'
implementation 'com.jayway.android.robotium:robotium-solo:5.3.1'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
// Testing-only dependencies
androidTestImplementation 'junit:junit:4.12'
androidTestImplementation 'org.mockito:mockito-core:2.18.0'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'androidx.test:rules:1.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-intents:3.1.0-alpha4'
}

95
app/build.gradle.kts Normal file
View file

@ -0,0 +1,95 @@
import org.jetbrains.kotlin.config.KotlinCompilerVersion
plugins {
id("com.android.application")
id("kotlin-android")
id("kotlin-android-extensions")
id("eclipse")
}
val buildTypeRelease = "release"
android {
compileSdkVersion(28)
defaultConfig {
applicationId = "com.zeapo.pwdstore"
minSdkVersion(21)
targetSdkVersion(28)
versionCode = 10302
versionName = "1.3.2"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
getByName("debug") {
applicationIdSuffix = ".debug"
}
}
compileOptions {
setSourceCompatibility(JavaVersion.VERSION_1_8)
setTargetCompatibility(JavaVersion.VERSION_1_8)
}
lintOptions {
isAbortOnError = true // make sure build fails with lint errors!
disable("MissingTranslation", "PluralsCandidate")
}
packagingOptions {
exclude(".readme")
exclude("META-INF/LICENSE.txt")
exclude("META-INF/NOTICE.txt")
}
/*
* 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 {
getByName(buildTypeRelease) {
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.getByName(buildTypeRelease).signingConfig = signingConfigs.getByName(buildTypeRelease)
}
}
dependencies {
implementation("androidx.appcompat:appcompat:1.0.0")
implementation("androidx.recyclerview:recyclerview:1.0.0")
implementation("androidx.cardview:cardview:1.0.0")
implementation("com.google.android.material:material:1.0.0")
implementation("androidx.annotation:annotation:1.0.0")
implementation("org.sufficientlysecure:openpgp-api:11.0")
implementation("com.nononsenseapps:filepicker:2.4.2")
implementation("org.eclipse.jgit:org.eclipse.jgit:3.7.1.201504261725-r") {
exclude(group = "org.apache.httpcomponents", module = "httpclient")
}
implementation("com.jcraft:jsch:0.1.54")
implementation("commons-io:commons-io:2.5")
implementation("commons-codec:commons-codec:1.11")
implementation("com.jayway.android.robotium:robotium-solo:5.3.1")
implementation(kotlin("stdlib-jdk7", KotlinCompilerVersion.VERSION))
implementation("androidx.constraintlayout:constraintlayout:1.1.3")
// Testing-only dependencies
androidTestImplementation("junit:junit:4.12")
androidTestImplementation("org.mockito:mockito-core:2.18.0")
androidTestImplementation("androidx.test:runner:1.1.0-alpha4")
androidTestImplementation("androidx.test:rules:1.1.0-alpha4")
androidTestImplementation("androidx.test.espresso:espresso-core:3.1.0-alpha4")
androidTestImplementation("androidx.test.espresso:espresso-intents:3.1.0-alpha4")
}

View file

@ -1,18 +1,14 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.2.71'
repositories {
google()
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath("com.android.tools.build:gradle:3.2.1")
classpath(kotlin("gradle-plugin", "1.2.71"))
}
}

View file

@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-all.zip

View file

@ -1 +0,0 @@
include ':app'

1
settings.gradle.kts Normal file
View file

@ -0,0 +1 @@
include(":app")