From 3c06063153d0b7f71998128dc6fb4e5967e33624 Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sat, 2 Mar 2019 22:35:51 +0530 Subject: [PATCH] Rewrite Gradle configuration with Kotlin DSL (#488) Signed-off-by: Harsh Shandilya --- app/build.gradle | 93 ----------------------- app/build.gradle.kts | 95 ++++++++++++++++++++++++ build.gradle => build.gradle.kts | 8 +- gradle/wrapper/gradle-wrapper.properties | 2 +- settings.gradle | 1 - settings.gradle.kts | 1 + 6 files changed, 99 insertions(+), 101 deletions(-) delete mode 100644 app/build.gradle create mode 100644 app/build.gradle.kts rename build.gradle => build.gradle.kts (51%) delete mode 100644 settings.gradle create mode 100644 settings.gradle.kts diff --git a/app/build.gradle b/app/build.gradle deleted file mode 100644 index c4add7d3..00000000 --- a/app/build.gradle +++ /dev/null @@ -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' -} diff --git a/app/build.gradle.kts b/app/build.gradle.kts new file mode 100644 index 00000000..ae45304b --- /dev/null +++ b/app/build.gradle.kts @@ -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") +} diff --git a/build.gradle b/build.gradle.kts similarity index 51% rename from build.gradle rename to build.gradle.kts index 7bd17efe..6a8c4dd5 100644 --- a/build.gradle +++ b/build.gradle.kts @@ -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")) } } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8a957b5f..57f403f1 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -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 diff --git a/settings.gradle b/settings.gradle deleted file mode 100644 index e7b4def4..00000000 --- a/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -include ':app' diff --git a/settings.gradle.kts b/settings.gradle.kts new file mode 100644 index 00000000..15a801b1 --- /dev/null +++ b/settings.gradle.kts @@ -0,0 +1 @@ +include(":app")