plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) alias(libs.plugins.hilt) alias(libs.plugins.ksp) } android { namespace = "com.nuvio.tv" compileSdk { version = release(36) } defaultConfig { applicationId = "com.nuvio.tv" minSdk = 26 targetSdk = 36 versionCode = 1 versionName = "1.0" } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } kotlin { compilerOptions { jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_11) } } buildFeatures { compose = true } } dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.appcompat) implementation(platform(libs.androidx.compose.bom)) implementation(libs.androidx.compose.ui) implementation(libs.androidx.compose.ui.graphics) implementation(libs.androidx.compose.ui.tooling.preview) implementation("androidx.compose.material3:material3") implementation("androidx.compose.foundation:foundation") implementation("androidx.compose.material:material-icons-extended") implementation(libs.androidx.tv.foundation) implementation(libs.androidx.tv.material) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.activity.compose) // Hilt implementation(libs.hilt.android) ksp(libs.hilt.compiler) implementation(libs.hilt.navigation.compose) // Networking implementation(libs.retrofit) implementation(libs.retrofit.moshi) implementation(libs.okhttp) implementation(libs.okhttp.logging) implementation(libs.moshi) ksp(libs.moshi.codegen) // Coroutines implementation(libs.coroutines.core) implementation(libs.coroutines.android) // Image Loading implementation(libs.coil.compose) implementation(libs.coil.svg) // Navigation implementation(libs.navigation.compose) // DataStore implementation(libs.datastore.preferences) // ViewModel implementation(libs.lifecycle.viewmodel.compose) // Media3 ExoPlayer implementation(libs.media3.exoplayer) implementation(libs.media3.exoplayer.hls) implementation(libs.media3.exoplayer.dash) implementation(libs.media3.ui) implementation(libs.media3.session) implementation(libs.media3.common) // Media3 FFmpeg Decoder Extension (locally built AAR) implementation(files("libs/media3-decoder-ffmpeg.aar")) // Local Plugin System implementation(libs.quickjs.kt) implementation(libs.jsoup) implementation(libs.gson) // Bundle real crypto-js (JS) for QuickJS plugins implementation("org.webjars.npm:crypto-js:4.2.0") androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(libs.androidx.compose.ui.test.junit4) debugImplementation(libs.androidx.compose.ui.tooling) debugImplementation(libs.androidx.compose.ui.test.manifest) }