/* * Copyright (c) 2021 Shabinder Singh * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-parcelize' id 'kotlin-kapt' id 'dagger.hilt.android.plugin' id 'kotlinx-serialization' id 'com.google.gms.google-services' id 'com.google.firebase.crashlytics' } kapt { correctErrorTypes = true useBuildCache = true } android { compileSdkVersion 30 buildToolsVersion "30.0.3" defaultConfig { applicationId "com.shabinder.spotiflyer" minSdkVersion 22 //Some Os's Don't give Access to Music Dir , In API 29 if we Target 30 //noinspection OldTargetApi targetSdkVersion 29 versionCode 12 versionName "2.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { // Flag to enable support for the new language APIs coreLibraryDesugaringEnabled true sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' useIR = true } buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion compose_version kotlinCompilerVersion '1.4.21' } packagingOptions { exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/license.txt' exclude 'META-INF/NOTICE' exclude 'META-INF/NOTICE.txt' exclude 'META-INF/notice.txt' exclude 'META-INF/ASL2.0' exclude 'META-INF/LGPL2.1' exclude("META-INF/*.kotlin_module") } } dependencies { //Android implementation "androidx.core:core-ktx:1.5.0-alpha05" implementation "androidx.palette:palette-ktx:1.0.0" implementation 'androidx.appcompat:appcompat:1.2.0' //Compose implementation "androidx.compose.ui:ui:$compose_version" implementation "androidx.compose.ui:ui-tooling:$compose_version" implementation "androidx.compose.animation:animation:$compose_version" implementation "androidx.compose.runtime:runtime-livedata:$compose_version" implementation "androidx.compose.material:material:$compose_version" implementation "androidx.compose.material:material-icons-extended:$compose_version" //Compose-Navigation implementation "androidx.navigation:navigation-compose:1.0.0-alpha04" //Lifecycle implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version" //Coroutines implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version" //implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version" //implementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines_version" //Room kapt "androidx.room:room-compiler:$room_version" implementation "androidx.room:room-ktx:$room_version" implementation "androidx.room:room-runtime:$room_version" //Hilt kapt 'androidx.hilt:hilt-compiler:1.0.0-alpha02' kapt "com.google.dagger:hilt-android-compiler:$hilt_version" implementation "com.google.dagger:hilt-android:$hilt_version" implementation 'androidx.hilt:hilt-lifecycle-viewmodel:1.0.0-alpha02' //FFmpeg implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs') //Okhttp implementation "com.squareup.okhttp3:okhttp:$okhttp_version" implementation "com.squareup.okhttp3:logging-interceptor:$okhttp_version" //Retrofit implementation 'com.squareup.retrofit2:retrofit:2.9.0' //Json implementation 'com.beust:klaxon:5.4' implementation 'com.squareup.moshi:moshi:1.11.0' implementation 'com.squareup.moshi:moshi-kotlin:1.11.0' implementation "com.squareup.retrofit2:converter-moshi:2.9.0" implementation "com.squareup.retrofit2:converter-scalars:2.9.0" implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.0.1" //Coil-Image Loading implementation "dev.chrisbanes.accompanist:accompanist-coil:$coil_version" implementation "dev.chrisbanes.accompanist:accompanist-insets:$coil_version" //DataStore implementation "androidx.datastore:datastore-preferences:1.0.0-alpha05" //Extras implementation 'me.xdrop:fuzzywuzzy:1.3.1' implementation 'com.mpatric:mp3agic:0.9.1' implementation 'com.razorpay:checkout:1.6.4' implementation "com.github.amitbd1508:AppUpdater:4.1.0" implementation "androidx.tonyodev.fetch2:xfetch2:3.1.5" implementation 'com.github.sealedtx:java-youtube-downloader:2.4.4' //Crashlytics & Analytics implementation platform('com.google.firebase:firebase-bom:26.2.0') implementation 'com.google.firebase:firebase-crashlytics-ktx' implementation 'com.google.firebase:firebase-analytics-ktx' //Test testImplementation 'junit:junit:4.13.1' androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' //Desugaring coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:1.1.1" }