152 lines
4.4 KiB
Plaintext
152 lines
4.4 KiB
Plaintext
|
plugins {
|
||
|
alias(libs.plugins.android.application)
|
||
|
alias(libs.plugins.jetbrains.kotlin.android)
|
||
|
alias(libs.plugins.kotlin.serialization)
|
||
|
alias(libs.plugins.hilt.android)
|
||
|
alias(libs.plugins.kotlin.ksp)
|
||
|
alias(libs.plugins.openapi.generator)
|
||
|
id("kotlin-kapt")
|
||
|
}
|
||
|
|
||
|
val openapiOutputDir: String = layout.buildDirectory.dir("generated/api").get().asFile.path
|
||
|
|
||
|
android {
|
||
|
namespace = "top.rrricardo.chiara"
|
||
|
compileSdk = 34
|
||
|
|
||
|
defaultConfig {
|
||
|
applicationId = "top.rrricardo.chiara"
|
||
|
minSdk = 28
|
||
|
targetSdk = 34
|
||
|
versionCode = 1
|
||
|
versionName = "1.0"
|
||
|
|
||
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||
|
vectorDrawables {
|
||
|
useSupportLibrary = true
|
||
|
}
|
||
|
}
|
||
|
|
||
|
sourceSets["main"].kotlin {
|
||
|
srcDir("$openapiOutputDir/src/main/kotlin")
|
||
|
}
|
||
|
|
||
|
buildTypes {
|
||
|
release {
|
||
|
isMinifyEnabled = false
|
||
|
proguardFiles(
|
||
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||
|
"proguard-rules.pro"
|
||
|
)
|
||
|
}
|
||
|
}
|
||
|
compileOptions {
|
||
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
||
|
targetCompatibility = JavaVersion.VERSION_1_8
|
||
|
}
|
||
|
kotlinOptions {
|
||
|
jvmTarget = "1.8"
|
||
|
}
|
||
|
buildFeatures {
|
||
|
compose = true
|
||
|
}
|
||
|
composeOptions {
|
||
|
kotlinCompilerExtensionVersion = "1.5.1"
|
||
|
}
|
||
|
packaging {
|
||
|
resources {
|
||
|
excludes += "/META-INF/{AL2.0,LGPL2.1}"
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
dependencies {
|
||
|
|
||
|
// Default
|
||
|
implementation(libs.androidx.core.ktx)
|
||
|
implementation(libs.androidx.lifecycle.runtime.ktx)
|
||
|
implementation(libs.androidx.activity.compose)
|
||
|
implementation(platform(libs.androidx.compose.bom))
|
||
|
implementation(libs.androidx.ui)
|
||
|
implementation(libs.androidx.ui.graphics)
|
||
|
implementation(libs.androidx.ui.tooling.preview)
|
||
|
implementation(libs.androidx.material3)
|
||
|
testImplementation(libs.junit)
|
||
|
androidTestImplementation(libs.androidx.junit)
|
||
|
androidTestImplementation(libs.androidx.espresso.core)
|
||
|
androidTestImplementation(platform(libs.androidx.compose.bom))
|
||
|
androidTestImplementation(libs.androidx.ui.test.junit4)
|
||
|
debugImplementation(libs.androidx.ui.tooling)
|
||
|
debugImplementation(libs.androidx.ui.test.manifest)
|
||
|
|
||
|
// ViewModel
|
||
|
implementation(libs.androidx.lifecycle.viewmodel.ktx)
|
||
|
// ViewModel utilities for Compose
|
||
|
implementation(libs.androidx.lifecycle.viewmodel.compose)
|
||
|
// LiveData
|
||
|
implementation(libs.androidx.lifecycle.livedata.ktx)
|
||
|
// Lifecycles only (without ViewModel or LiveData)
|
||
|
implementation(libs.androidx.lifecycle.runtime.ktx)
|
||
|
// Lifecycle utilities for Compose
|
||
|
implementation(libs.androidx.lifecycle.runtime.compose)
|
||
|
|
||
|
// Saved state module for ViewModel
|
||
|
implementation(libs.androidx.lifecycle.viewmodel.savedstate)
|
||
|
|
||
|
// Annotation processor
|
||
|
kapt(libs.androidx.lifecycle.compiler)
|
||
|
|
||
|
// Navigation Controller
|
||
|
implementation(libs.androidx.navigation.compose)
|
||
|
|
||
|
// Palette
|
||
|
implementation(libs.androidx.palette)
|
||
|
|
||
|
// Media Exo Player
|
||
|
implementation(libs.media3.exoplayer)
|
||
|
implementation(libs.media3.session)
|
||
|
implementation(libs.media3.ui)
|
||
|
implementation(libs.media3.hls)
|
||
|
|
||
|
// Hilt
|
||
|
implementation(libs.hilt.android)
|
||
|
implementation(libs.hilt.navigation.compose)
|
||
|
kapt(libs.hilt.android.compiler)
|
||
|
|
||
|
// Constraint Layout
|
||
|
implementation(libs.constraintlayout.compose)
|
||
|
|
||
|
// Coil
|
||
|
implementation(libs.coil)
|
||
|
|
||
|
// openapi
|
||
|
implementation(libs.okhttp3)
|
||
|
implementation(libs.retrofit.retrofit)
|
||
|
implementation(libs.retrofit.converter.scalars)
|
||
|
implementation(libs.retrofit.serialization.converter)
|
||
|
implementation(libs.kotlinx.serialization)
|
||
|
}
|
||
|
|
||
|
|
||
|
openApiGenerate {
|
||
|
generatorName.set("kotlin")
|
||
|
inputSpec.set("$rootDir/app/src/main/openapi/chiara.json")
|
||
|
outputDir.set(openapiOutputDir)
|
||
|
apiPackage.set("top.rrricardo.chiara.openapi.api")
|
||
|
modelPackage.set("top.rrricardo.chiara.openapi.model")
|
||
|
packageName.set("top.rrricardo.chiara.openapi.client")
|
||
|
generateApiTests.set(false)
|
||
|
generateModelTests.set(false)
|
||
|
configOptions.set(
|
||
|
mapOf(
|
||
|
"dataLibrary" to "java8"
|
||
|
)
|
||
|
)
|
||
|
additionalProperties.set(
|
||
|
mapOf(
|
||
|
"library" to "jvm-retrofit2",
|
||
|
"serializationLibrary" to "kotlinx_serialization",
|
||
|
"useCoroutines" to "true",
|
||
|
)
|
||
|
)
|
||
|
}
|