206 lines
6.2 KiB
Kotlin
206 lines
6.2 KiB
Kotlin
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.serialization)
|
|
alias(libs.plugins.apollo)
|
|
alias(libs.plugins.google.devtools.ksp)
|
|
alias(libs.plugins.google.dagger.hilt.android)
|
|
alias(libs.plugins.androidx.baselineprofile)
|
|
}
|
|
|
|
val appPackageName = "com.axiel7.anihyou"
|
|
val versionProps = Properties().also {
|
|
it.load(project.rootProject.file("version.properties").reader())
|
|
}
|
|
|
|
android {
|
|
namespace = appPackageName
|
|
compileSdk = 35
|
|
|
|
defaultConfig {
|
|
applicationId = appPackageName
|
|
minSdk = 23
|
|
targetSdk = 35
|
|
versionCode = versionProps.getProperty("code").toInt()
|
|
versionName = versionProps.getProperty("name")
|
|
setProperty("archivesBaseName", "anihyou-$versionName")
|
|
|
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
|
resourceConfigurations.addAll(
|
|
listOf(
|
|
"en",
|
|
"ja-rJP",
|
|
"ru-rRU",
|
|
"es-rES",
|
|
"tr-rTR",
|
|
"pt-rBR",
|
|
"ar-rSA",
|
|
"in-rID",
|
|
"it-rIT",
|
|
"uk-rUA",
|
|
"pl-rPL",
|
|
"az-rAZ",
|
|
"de-rDE",
|
|
"zh-rCN",
|
|
"fr-rFR"
|
|
)
|
|
)
|
|
vectorDrawables {
|
|
useSupportLibrary = true
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
val clientId = "8527"
|
|
val malClientId = "\"9d64c3963e0f5de53083571d45016565\""
|
|
|
|
debug {
|
|
applicationIdSuffix = ".debug"
|
|
versionNameSuffix = "-DEBUG"
|
|
isDebuggable = true
|
|
isMinifyEnabled = false
|
|
isShrinkResources = false
|
|
proguardFiles(
|
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
|
"proguard-rules.pro"
|
|
)
|
|
buildConfigField("int", "CLIENT_ID", clientId)
|
|
buildConfigField("String", "MAL_CLIENT_ID", malClientId)
|
|
resValue("string", "app_name", "AniHyou Debug")
|
|
}
|
|
release {
|
|
isDebuggable = false
|
|
isMinifyEnabled = true
|
|
isShrinkResources = false
|
|
proguardFiles(
|
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
|
"proguard-rules.pro"
|
|
)
|
|
buildConfigField("int", "CLIENT_ID", clientId)
|
|
buildConfigField("String", "MAL_CLIENT_ID", malClientId)
|
|
}
|
|
}
|
|
splits {
|
|
abi {
|
|
isEnable = true
|
|
reset()
|
|
include("armeabi-v7a", "arm64-v8a", "x86", "x86_64")
|
|
isUniversalApk = true
|
|
}
|
|
}
|
|
compileOptions {
|
|
isCoreLibraryDesugaringEnabled = true
|
|
sourceCompatibility = JavaVersion.VERSION_11
|
|
targetCompatibility = JavaVersion.VERSION_11
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = "11"
|
|
}
|
|
buildFeatures {
|
|
compose = true
|
|
buildConfig = true
|
|
aidl = false
|
|
renderScript = false
|
|
shaders = false
|
|
}
|
|
androidResources {
|
|
aaptOptions.cruncherEnabled = false
|
|
}
|
|
packaging {
|
|
resources {
|
|
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
|
}
|
|
}
|
|
dependenciesInfo {
|
|
includeInApk = false
|
|
}
|
|
baselineProfile {
|
|
dexLayoutOptimization = true
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
|
|
implementation(libs.androidx.core.ktx)
|
|
implementation(libs.androidx.appcompat)
|
|
implementation(libs.androidx.activity.compose)
|
|
|
|
implementation(libs.androidx.lifecycle.runtime.compose)
|
|
implementation(libs.androidx.lifecycle.viewmodel.savedstate)
|
|
|
|
implementation(libs.androidx.datastore.preferences)
|
|
implementation(libs.androidx.work.runtime)
|
|
implementation(libs.androidx.core.splashscreen)
|
|
|
|
implementation(platform(libs.androidx.compose.bom))
|
|
implementation(libs.androidx.ui)
|
|
implementation(libs.androidx.ui.graphics)
|
|
implementation(libs.androidx.ui.tooling.preview)
|
|
|
|
implementation(libs.androidx.glance.appwidget)
|
|
implementation(libs.androidx.glance.preview)
|
|
implementation(libs.androidx.glance.appwidget.preview)
|
|
|
|
implementation(libs.androidx.material3)
|
|
implementation(libs.androidx.material3.window.sizeclass)
|
|
|
|
implementation(libs.androidx.navigation.compose)
|
|
|
|
implementation(libs.accompanist.permissions)
|
|
|
|
implementation(libs.placeholder.material3)
|
|
implementation(libs.material.kolor)
|
|
|
|
implementation(libs.coil.compose)
|
|
implementation(libs.coil.gif)
|
|
implementation(libs.coil.network.okhttp)
|
|
|
|
implementation(libs.apollo.runtime)
|
|
implementation(libs.apollo.normalized.cache)
|
|
|
|
implementation(libs.compose.markdown)
|
|
|
|
implementation(libs.hilt.android)
|
|
ksp(libs.hilt.android.compiler)
|
|
ksp(libs.androidx.hilt.compiler)
|
|
implementation(libs.androidx.hilt.navigation.compose)
|
|
implementation(libs.androidx.hilt.work)
|
|
|
|
implementation(libs.kotlinx.coroutines.core)
|
|
implementation(libs.kotlinx.coroutines.android)
|
|
implementation(libs.kotlinx.serialization.json)
|
|
|
|
testImplementation(libs.junit)
|
|
androidTestImplementation(libs.androidx.junit)
|
|
androidTestImplementation(libs.androidx.espresso.core)
|
|
androidTestImplementation(platform(libs.androidx.compose.bom))
|
|
androidTestImplementation(libs.ui.test.junit4)
|
|
debugImplementation(libs.ui.tooling)
|
|
debugImplementation(libs.ui.test.manifest)
|
|
|
|
coreLibraryDesugaring(libs.desugar.jdk.libs)
|
|
|
|
implementation(libs.androidx.profileinstaller)
|
|
"baselineProfile"(project(":baselineprofile"))
|
|
}
|
|
|
|
apollo {
|
|
generateSourcesDuringGradleSync.set(false)
|
|
service("service") {
|
|
packageName.set(appPackageName)
|
|
generateFragmentImplementations.set(true)
|
|
mapScalarToKotlinInt("FuzzyDateInt")
|
|
mapScalar(
|
|
"CountryCode",
|
|
"com.axiel7.anihyou.data.model.media.CountryOfOrigin",
|
|
"com.axiel7.anihyou.data.model.media.CountryOfOrigin.countryOfOriginAdapter",
|
|
)
|
|
introspection {
|
|
endpointUrl.set("https://graphql.anilist.co")
|
|
schemaFile.set(file("src/main/graphql/schema.graphqls"))
|
|
}
|
|
}
|
|
} |