plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.parcelize) alias(libs.plugins.hilt) alias(libs.plugins.ksp) alias(libs.plugins.ktlint) } android { namespace = "dev.jdtech.jellyfin" compileSdk = Versions.compileSdk buildToolsVersion = Versions.buildTools defaultConfig { applicationId = "dev.jdtech.jellyfin" minSdk = Versions.minSdk targetSdk = Versions.targetSdk versionCode = Versions.appCode versionName = Versions.appName } buildTypes { named("debug") { applicationIdSuffix = ".debug" } named("release") { isMinifyEnabled = true isShrinkResources = true proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro", ) } register("staging") { initWith(getByName("release")) applicationIdSuffix = ".staging" } } flavorDimensions += "variant" productFlavors { register("libre") { dimension = "variant" isDefault = true } } splits { abi { isEnable = true reset() include("armeabi-v7a", "arm64-v8a", "x86", "x86_64") } } compileOptions { sourceCompatibility = Versions.java targetCompatibility = Versions.java } buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = Versions.composeCompiler } packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" } } } ktlint { version.set(Versions.ktlint) android.set(true) ignoreFailures.set(false) } dependencies { implementation(project(":core")) implementation(project(":data")) implementation(project(":preferences")) implementation(project(":player:core")) implementation(project(":player:video")) implementation(libs.androidx.activity.compose) implementation(libs.androidx.compose.ui.tooling.preview) implementation(libs.androidx.compose.material3) implementation(libs.androidx.core) implementation(libs.androidx.hilt.navigation.compose) implementation(libs.androidx.lifecycle.runtime) implementation(libs.androidx.lifecycle.viewmodel.compose) implementation(libs.androidx.media3.exoplayer) implementation(libs.androidx.media3.ui) implementation(libs.androidx.media3.session) implementation(libs.androidx.paging.compose) implementation(libs.coil.compose) implementation(libs.coil.svg) implementation(libs.compose.destinations.core) ksp(libs.compose.destinations.ksp) implementation(libs.hilt.android) ksp(libs.hilt.compiler) implementation(libs.jellyfin.core) implementation(libs.androidx.tv.foundation) implementation(libs.androidx.tv.material) debugImplementation(libs.androidx.compose.ui.tooling) }