plugins { id "com.android.application" id "kotlin-android" id "androidx.navigation.safeargs.kotlin" id "kotlin-parcelize" id "dagger.hilt.android.plugin" id "kotlin-kapt" id "com.google.devtools.ksp" id "org.jetbrains.kotlin.android" } android { compileSdk 35 // Auxio implicitly depends on the native modules, explicitly specify it // here so the libraries are still stripped. ndkVersion ndk_version namespace "org.oxycblt.auxio" defaultConfig { applicationId namespace versionName "3.6.3" versionCode 53 minSdk target_sdk targetSdk target_sdk testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } compileOptions { coreLibraryDesugaringEnabled true sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" freeCompilerArgs += "-Xjvm-default=all" } buildTypes { debug { applicationIdSuffix ".debug" versionNameSuffix "-DEBUG" } release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" dependenciesInfo { includeInApk = false includeInBundle = false } } } packagingOptions { jniLibs { excludes += ['**/kotlin/**', '**/okhttp3/**'] } resources { excludes += ['DebugProbesKt.bin', 'kotlin-tooling-metadata.json', '**/kotlin/**', '**/okhttp3/**', 'META-INF/*.version'] } } buildFeatures { viewBinding true buildConfig true } } dependencies { // Kotlin implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-guava:$kotlin_coroutines_version" // --- SUPPORT --- // General implementation "androidx.core:core-ktx:1.15.0" implementation "androidx.appcompat:appcompat:1.7.0" implementation "androidx.activity:activity-ktx:1.9.3" // noinspection GradleDependency implementation "androidx.fragment:fragment-ktx:1.6.2" // Components // Deliberately kept on 1.2.1 to prevent a bug where the queue sheet will not collapse on // certain upwards scrolling events // TODO: Report this issue and hope for a timely fix // noinspection GradleDependency implementation "androidx.recyclerview:recyclerview:1.2.1" implementation "androidx.constraintlayout:constraintlayout:2.2.0" // 1.1.0 upgrades recyclerview to 1.3.0, keep it on 1.0.0 //noinspection GradleDependency implementation "androidx.viewpager2:viewpager2:1.0.0" // Lifecycle def lifecycle_version = "2.8.7" implementation "androidx.lifecycle:lifecycle-common:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version" // Navigation implementation "androidx.navigation:navigation-ui-ktx:$navigation_version" implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version" // Media implementation "androidx.media:media:1.7.0" // Android Auto implementation "androidx.car.app:app:1.4.0" // Preferences implementation "androidx.preference:preference-ktx:1.2.1" // Database implementation "androidx.room:room-runtime:$room_version" ksp "androidx.room:room-compiler:$room_version" implementation "androidx.room:room-ktx:$room_version" // Build coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:2.1.3" // --- SECOND PARTY --- // Musikr implementation project(":musikr") // --- THIRD PARTY --- // Exoplayer (Vendored) implementation project(":media-lib-exoplayer") implementation project(":media-lib-decoder-ffmpeg") // Image loading implementation 'io.coil-kt.coil3:coil-core:3.0.2' // Material // TODO: Exactly figure out the conditions that the 1.7.0 ripple bug occurred so you can just // PR a fix. implementation "com.google.android.material:material:1.13.0-alpha07" // Dependency Injection implementation "com.google.dagger:dagger:$hilt_version" kapt "com.google.dagger:dagger-compiler:$hilt_version" implementation "com.google.dagger:hilt-android:$hilt_version" kapt "com.google.dagger:hilt-android-compiler:$hilt_version" // Logging implementation 'com.jakewharton.timber:timber:5.0.1' // Speed dial implementation "com.leinardi.android:speed-dial:3.3.0" // Tasker integration implementation 'com.joaomgcd:taskerpluginlibrary:0.4.10' // Fuzzy search implementation 'org.apache.commons:commons-text:1.9' // Testing debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.12' testImplementation "junit:junit:4.13.2" testImplementation "io.mockk:mockk:1.13.7" testImplementation "org.robolectric:robolectric:4.11" testImplementation 'androidx.test:core-ktx:1.6.1' androidTestImplementation 'androidx.test.ext:junit:1.2.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1' }