Files
APKDownloader/app/build.gradle.kts
Aayush Gupta 44e7a6f6f9 4.5.0
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-06-06 08:48:35 +05:30

207 lines
6.1 KiB
Kotlin

/*
* Aurora Store
* Copyright (C) 2021, Rahul Kumar Patel <whyorean@gmail.com>
* Copyright (C) 2022, The Calyx Institute
* Copyright (C) 2023, grrfe <grrfe@420blaze.it>
*
* Aurora Store 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 2 of the License, or
* (at your option) any later version.
*
* Aurora Store 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 Aurora Store. If not, see <http://www.gnu.org/licenses/>.
*
*/
import java.util.Properties
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.jetbrains.kotlin.android)
alias(libs.plugins.jetbrains.kotlin.compose)
alias(libs.plugins.jetbrains.kotlin.parcelize)
alias(libs.plugins.google.ksp)
alias(libs.plugins.androidx.navigation)
alias(libs.plugins.ktlint)
alias(libs.plugins.rikka.tools.refine.plugin)
alias(libs.plugins.hilt.android.plugin)
}
kotlin {
jvmToolchain(17)
}
android {
namespace = "com.aurora.store"
compileSdk = 34
defaultConfig {
applicationId = "com.aurora.store"
minSdk = 21
targetSdk = 34
versionCode = 59
versionName = "4.5.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
if (File("signing.properties").exists()) {
create("release") {
val properties = Properties().apply {
File("signing.properties").inputStream().use { load(it) }
}
keyAlias = properties["KEY_ALIAS"] as String
keyPassword = properties["KEY_PASSWORD"] as String
storeFile = file(properties["STORE_FILE"] as String)
storePassword = properties["KEY_PASSWORD"] as String
}
}
create("aosp") {
// Generated from the AOSP test key:
// https://android.googlesource.com/platform/build/+/refs/tags/android-11.0.0_r29/target/product/security/testkey.pk8
keyAlias = "testkey"
keyPassword = "testkey"
storeFile = file("testkey.jks")
storePassword = "testkey"
}
}
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
if (File("signing.properties").exists()) {
signingConfig = signingConfigs.getByName("release")
}
}
register("nightly") {
initWith(getByName("release"))
applicationIdSuffix = ".nightly"
}
debug {
applicationIdSuffix = ".debug"
signingConfig = signingConfigs.getByName("aosp")
}
}
buildFeatures {
buildConfig = true
viewBinding = true
aidl = true
compose = true
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
lint {
lintConfig = file("lint.xml")
}
androidResources {
generateLocaleConfig = true
}
}
dependencies {
//Google's Goodies
implementation(libs.google.android.material)
implementation(libs.google.gson)
implementation(libs.google.protobuf.javalite)
//AndroidX
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.browser)
implementation(libs.androidx.lifecycle.viewmodel.ktx)
implementation(libs.androidx.lifecycle.process)
implementation(libs.androidx.navigation.fragment.ktx)
implementation(libs.androidx.navigation.ui.ktx)
implementation(libs.androidx.preference.ktx)
implementation(libs.androidx.swiperefreshlayout)
implementation(libs.androidx.viewpager2)
implementation(libs.androidx.work.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.material3)
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
//Coil
implementation(libs.coil.kt)
implementation(libs.coil.compose)
//Shimmer
implementation(libs.facebook.shimmer)
//Epoxy
implementation(libs.airbnb.epoxy.android)
ksp(libs.airbnb.epoxy.processor)
//HTTP Clients
implementation(libs.squareup.okhttp)
//EventBus
implementation(libs.greenrobot.eventbus)
//Lib-SU
implementation(libs.github.topjohnwu.libsu)
//GPlayApi
implementation(libs.gitlab.auroraoss.gplayapi)
//Shizuku
compileOnly(libs.rikka.hidden.stub)
implementation(libs.rikka.tools.refine.runtime)
implementation(libs.rikka.shizuku.api)
implementation(libs.rikka.shizuku.provider)
implementation(libs.lsposed.hiddenapibypass)
//Test
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
//Hilt
ksp(libs.hilt.android.compiler)
ksp(libs.hilt.androidx.compiler)
implementation(libs.hilt.android.core)
implementation(libs.hilt.androidx.work)
//Room
ksp(libs.androidx.room.compiler)
implementation(libs.androidx.room.ktx)
implementation(libs.androidx.room.runtime)
// TODO: Re-enable when fixed: https://github.com/square/leakcanary/issues/2677
// LeakCanary
// debugImplementation(libs.squareup.leakcanary.android)
}