diff --git a/gradle.properties b/gradle.properties index f961b8b49..a1f977f3b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,19 +1,3 @@ -VERSION_CODE = 20001 -VERSION_NAME = 2.0.1-alpha - -MIN_SDK_VERSION = 23 -TARGET_SDK_VERSION = 29 -COMPILE_SDK_VERSION = 29 - -DAGGER_VERSION = 2.25.4 -KOTLIN_VERSION = 1.4.21 -KX_COROUTINES_VERSION = 1.4.2 -SUPPORT_LIBRARY_VERSION = 28.0.0 -AUTO_FACTORY_VERSION = 1.0-beta6 -BUILD_TOOLS_VERSION = 4.0.0 -KTOR_VERSION=1.4.2 -ESPRESSO_VERSION=3.3.0 - org.gradle.parallel=false org.gradle.daemon=true org.gradle.jvmargs=-Xms2048m -Xmx2048m -XX:MaxPermSize=2048m diff --git a/uhabits-android/build.gradle b/uhabits-android/build.gradle deleted file mode 100644 index 248b26f6d..000000000 --- a/uhabits-android/build.gradle +++ /dev/null @@ -1,132 +0,0 @@ -/* - * Copyright (C) 2016-2021 Álinson Santos Xavier - * - * This file is part of Loop Habit Tracker. - * - * Loop Habit Tracker is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by the - * Free Software Foundation, either version 3 of the License, or (at your - * option) any later version. - * - * Loop Habit Tracker is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along - * with this program. If not, see . - */ - -plugins { - id 'com.github.triplet.play' version '3.1.0' - id 'com.android.application' - id "org.jetbrains.kotlin.android" - id "org.jetbrains.kotlin.kapt" - id "org.jetbrains.kotlin.android.extensions" - id "org.jlleitschuh.gradle.ktlint" -} - -android { - compileSdkVersion COMPILE_SDK_VERSION as Integer - - def secretPropsFile = file(".secret/gradle.properties") - if (secretPropsFile.exists()) { - def secrets = new Properties() - secretPropsFile.withInputStream { secrets.load(it) } - signingConfigs { - release { - storeFile file(secrets.LOOP_KEY_STORE) - storePassword secrets.LOOP_STORE_PASSWORD - keyAlias secrets.LOOP_KEY_ALIAS - keyPassword secrets.LOOP_KEY_PASSWORD - } - } - buildTypes.release.signingConfig signingConfigs.release - } - - defaultConfig { - versionCode VERSION_CODE as Integer - versionName "$VERSION_NAME" - minSdkVersion MIN_SDK_VERSION as Integer - targetSdkVersion TARGET_SDK_VERSION as Integer - applicationId "org.isoron.uhabits" - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" - } - - buildTypes { - release { - minifyEnabled true - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' - } - - debug { - testCoverageEnabled true - } - } - - lintOptions { - checkReleaseBuilds false - abortOnError false - disable 'GoogleAppIndexingWarning' - } - - compileOptions { - coreLibraryDesugaringEnabled true - targetCompatibility JavaVersion.VERSION_1_8 - sourceCompatibility JavaVersion.VERSION_1_8 - } - - buildFeatures { - viewBinding true - } -} - -dependencies { - androidTestImplementation "androidx.test.espresso:espresso-contrib:$ESPRESSO_VERSION" - androidTestImplementation "androidx.test.espresso:espresso-core:$ESPRESSO_VERSION" - androidTestImplementation "com.google.dagger:dagger:$DAGGER_VERSION" - androidTestImplementation "com.linkedin.dexmaker:dexmaker-mockito:2.28.0" - androidTestImplementation "com.linkedin.testbutler:test-butler-library:1.3.1" - androidTestImplementation "io.ktor:ktor-client-mock:$KTOR_VERSION" - androidTestImplementation "io.ktor:ktor-jackson:$KTOR_VERSION" - androidTestImplementation "org.mockito:mockito-core:2.28.2" - androidTestImplementation 'androidx.annotation:annotation:1.1.0' - androidTestImplementation 'androidx.test.ext:junit:1.1.2' - androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0' - androidTestImplementation 'androidx.test:rules:1.3.0' - compileOnly "javax.annotation:jsr250-api:1.0" - coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.1' - implementation "com.github.paolorotolo:appintro:3.4.0" - implementation "com.google.code.findbugs:jsr305:3.0.2" - implementation "com.google.dagger:dagger:$DAGGER_VERSION" - implementation "com.google.guava:guava:30.0-android" - implementation "io.ktor:ktor-client-android:$KTOR_VERSION" - implementation "io.ktor:ktor-client-core:$KTOR_VERSION" - implementation "io.ktor:ktor-client-jackson:$KTOR_VERSION" - implementation "io.ktor:ktor-client-json:$KTOR_VERSION" - implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$KOTLIN_VERSION" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$KX_COROUTINES_VERSION" - implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$KX_COROUTINES_VERSION" - implementation 'androidx.appcompat:appcompat:1.2.0' - implementation 'androidx.legacy:legacy-preference-v14:1.0.0' - implementation 'androidx.legacy:legacy-support-v4:1.0.0' - implementation 'com.google.android.material:material:1.2.1' - implementation 'com.google.zxing:core:3.4.1' - implementation 'com.opencsv:opencsv:3.10' - implementation project(":uhabits-core") - kapt "com.google.dagger:dagger-compiler:$DAGGER_VERSION" - kaptAndroidTest "com.google.dagger:dagger-compiler:$DAGGER_VERSION" - testImplementation "com.google.dagger:dagger:$DAGGER_VERSION" - testImplementation "junit:junit:4.12" - testImplementation "org.mockito:mockito-core:2.28.2" - testImplementation "org.mockito:mockito-inline:2.8.9" -} - -kapt { - correctErrorTypes = true -} - -play { - serviceAccountCredentials = file("../.secret/gcp-key.json") - track = "alpha" -} diff --git a/uhabits-android/build.gradle.kts b/uhabits-android/build.gradle.kts new file mode 100644 index 000000000..4c79fa473 --- /dev/null +++ b/uhabits-android/build.gradle.kts @@ -0,0 +1,123 @@ +/* + * Copyright (C) 2016-2021 Álinson Santos Xavier + * + * This file is part of Loop Habit Tracker. + * + * Loop Habit Tracker is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * Loop Habit Tracker is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +plugins { + id("com.github.triplet.play") version "3.2.0" + id("com.android.application") + id("org.jetbrains.kotlin.android") + id("org.jetbrains.kotlin.kapt") + id("org.jetbrains.kotlin.android.extensions") + id("org.jlleitschuh.gradle.ktlint") +} + +android { + compileSdkVersion(29) + + defaultConfig { + versionCode(20001) + versionName("2.0.1-alpha") + minSdkVersion(23) + targetSdkVersion(29) + applicationId("org.isoron.uhabits") + testInstrumentationRunner("androidx.test.runner.AndroidJUnitRunner") + } + + buildTypes { + getByName("release") { + minifyEnabled(true) + proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.txt") + } + + getByName("debug") { + isTestCoverageEnabled = true + } + } + + lintOptions { + isCheckReleaseBuilds = false + isAbortOnError = false + disable("GoogleAppIndexingWarning") + } + + compileOptions { + isCoreLibraryDesugaringEnabled = true + targetCompatibility(JavaVersion.VERSION_1_8) + sourceCompatibility(JavaVersion.VERSION_1_8) + } + + buildFeatures { + viewBinding = true + } +} + +dependencies { + val daggerVersion = "2.25.4" + val kotlinVersion = "1.4.21" + val kxCoroutinesVersion = "1.4.2" + val ktorVersion = "1.4.2" + val espressoVersion = "3.3.0" + + androidTestImplementation("androidx.test.espresso:espresso-contrib:$espressoVersion") + androidTestImplementation("androidx.test.espresso:espresso-core:$espressoVersion") + androidTestImplementation("com.google.dagger:dagger:$daggerVersion") + androidTestImplementation("com.linkedin.dexmaker:dexmaker-mockito:2.28.0") + androidTestImplementation("com.linkedin.testbutler:test-butler-library:1.3.1") + androidTestImplementation("io.ktor:ktor-client-mock:$ktorVersion") + androidTestImplementation("io.ktor:ktor-jackson:$ktorVersion") + androidTestImplementation("org.mockito:mockito-core:2.28.2") + androidTestImplementation("androidx.annotation:annotation:1.1.0") + androidTestImplementation("androidx.test.ext:junit:1.1.2") + androidTestImplementation("androidx.test.uiautomator:uiautomator:2.2.0") + androidTestImplementation("androidx.test:rules:1.3.0") + compileOnly("javax.annotation:jsr250-api:1.0") + coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:1.1.1") + implementation("com.github.paolorotolo:appintro:3.4.0") + implementation("com.google.code.findbugs:jsr305:3.0.2") + implementation("com.google.dagger:dagger:$daggerVersion") + implementation("com.google.guava:guava:30.0-android") + implementation("io.ktor:ktor-client-android:$ktorVersion") + implementation("io.ktor:ktor-client-core:$ktorVersion") + implementation("io.ktor:ktor-client-jackson:$ktorVersion") + implementation("io.ktor:ktor-client-json:$ktorVersion") + implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:$kxCoroutinesVersion") + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kxCoroutinesVersion") + implementation("androidx.appcompat:appcompat:1.2.0") + implementation("androidx.legacy:legacy-preference-v14:1.0.0") + implementation("androidx.legacy:legacy-support-v4:1.0.0") + implementation("com.google.android.material:material:1.2.1") + implementation("com.google.zxing:core:3.4.1") + implementation("com.opencsv:opencsv:3.10") + implementation(project(":uhabits-core")) + kapt("com.google.dagger:dagger-compiler:$daggerVersion") + kaptAndroidTest("com.google.dagger:dagger-compiler:$daggerVersion") + testImplementation("com.google.dagger:dagger:$daggerVersion") + testImplementation("junit:junit:4.12") + testImplementation("org.mockito:mockito-core:2.28.2") + testImplementation("org.mockito:mockito-inline:2.8.9") +} + +kapt { + correctErrorTypes = true +} + +play { + serviceAccountCredentials.set(file("../.secret/gcp-key.json")) + track.set("alpha") +}