/* * 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 { alias(libs.plugins.agp) alias(libs.plugins.kotlin.android) alias(libs.plugins.ksp) alias(libs.plugins.ktlint.plugin) } tasks.compileLint { dependsOn("updateTranslators") } /* Added on top of kotlinOptions to work around this issue: https://youtrack.jetbrains.com/issue/KTIJ-24311/task-current-target-is-17-and-kaptGenerateStubsProductionDebugKotlin-task-current-target-is-1.8-jvm-target-compatibility-should#focus=Comments-27-6798448.0-0 Updating gradle might fix this, so try again in the future to remove this and run: ./gradlew --rerun-tasks :uhabits-android:kaptGenerateStubsReleaseKotlin If this doesn't produce any warning, try to remove it. */ kotlin { jvmToolchain(11) } android { namespace = "org.isoron.uhabits" compileSdk = 36 defaultConfig { versionCode = 20300 versionName = "2.3.0" minSdk = 28 targetSdk = 36 applicationId = "org.isoron.uhabits" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } signingConfigs { if (System.getenv("LOOP_KEY_ALIAS") != null) { create("release") { keyAlias = System.getenv("LOOP_KEY_ALIAS") keyPassword = System.getenv("LOOP_KEY_PASSWORD") storeFile = file(System.getenv("LOOP_KEY_STORE")) storePassword = System.getenv("LOOP_STORE_PASSWORD") } } } buildTypes { release { isMinifyEnabled = true proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.txt") if (signingConfigs.findByName("release") != null) { signingConfig = signingConfigs.getByName("release") } } debug { enableUnitTestCoverage = true } } compileOptions { isCoreLibraryDesugaringEnabled = true targetCompatibility(JavaVersion.VERSION_11) sourceCompatibility(JavaVersion.VERSION_11) } kotlinOptions.jvmTarget = JavaVersion.VERSION_11.toString() buildFeatures.viewBinding = true lint.abortOnError = false } dependencies { compileOnly(libs.jsr250.api) coreLibraryDesugaring(libs.desugar.jdk.libs) implementation(libs.appIntro) implementation(libs.jsr305) implementation(libs.dagger) implementation(libs.guava) implementation(libs.ktor.client.android) implementation(libs.ktor.client.core) implementation(libs.ktor.client.jackson) implementation(libs.ktor.client.json) implementation(libs.kotlin.stdlib.jdk8) implementation(libs.kotlinx.coroutines.android) implementation(libs.kotlinx.coroutines.core) implementation(libs.appcompat) implementation(libs.legacy.preference.v14) implementation(libs.legacy.support.v4) implementation(libs.material) implementation(libs.opencsv) implementation(libs.konfetti.xml) implementation(project(":uhabits-core")) ksp(libs.dagger.compiler) androidTestImplementation(libs.bundles.androidTest) testImplementation(libs.bundles.test) }