apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' apply plugin: "ru.cleverpumpkin.proguard-dictionaries-generator" apply plugin: "androidx.navigation.safeargs.kotlin" proguardDictionaries { dictionaryNames = [ "build/class-dictionary", "build/package-dictionary", "build/obfuscation-dictionary" ] } android { compileSdkVersion 29 buildToolsVersion = '29.0.3' defaultConfig { minSdkVersion 21 targetSdkVersion 29 renderscriptTargetApi 29 //must match target sdk and build tools vectorDrawables.useSupportLibrary = true applicationId "code.name.monkey.retromusic" versionCode 10438 versionName '3.5.650' + "_" + getDate() multiDexEnabled true buildConfigField("String", "GOOGLE_PLAY_LICENSING_KEY", "\"${getProperty(getProperties('../public.properties'), 'GOOGLE_PLAY_LICENSE_KEY')}\"") } signingConfigs { release { Properties properties = getProperties('/Users/apple/Documents/Github/retro.properties ') storeFile file(getProperty(properties, 'storeFile')) keyAlias getProperty(properties, 'keyAlias') storePassword getProperty(properties, 'storePassword') keyPassword getProperty(properties, 'keyPassword') } } buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } debug { applicationIdSuffix '.debug' versionNameSuffix ' DEBUG' } } packagingOptions { exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' exclude 'META-INF/java.properties' } lintOptions { disable 'MissingTranslation' disable 'InvalidPackage' abortOnError false } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } configurations.all { resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9' } androidExtensions { experimental = true } kapt { generateStubs = true } } def getProperties(String fileName) { final Properties properties = new Properties() def file = file(fileName) if (file.exists()) { file.withInputStream { stream -> properties.load(stream) } } return properties } static def getProperty(Properties properties, String name) { return properties.getProperty(name) ?: "$name missing" } static def getDate() { new Date().format('MMddyyyy') } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation project(':appthemehelper') implementation 'androidx.multidex:multidex:2.0.1' implementation "androidx.gridlayout:gridlayout:1.0.0" implementation "androidx.cardview:cardview:1.0.0" implementation "androidx.viewpager2:viewpager2:1.1.0-alpha01" implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'androidx.annotation:annotation:1.1.0' implementation 'androidx.preference:preference-ktx:1.1.1' implementation 'androidx.core:core-ktx:1.3.1' implementation 'androidx.fragment:fragment-ktx:1.2.5' implementation 'androidx.palette:palette-ktx:1.0.0' implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta8' implementation 'androidx.recyclerview:recyclerview:1.1.0' implementation 'com.google.android.material:material:1.3.0-alpha01' def retrofit_version = '2.9.0' implementation "com.squareup.retrofit2:retrofit:$retrofit_version" implementation "com.squareup.retrofit2:converter-gson:$retrofit_version" def material_dialog_version = "0.9.6.0" implementation "com.afollestad.material-dialogs:core:$material_dialog_version" implementation "com.afollestad.material-dialogs:commons:$material_dialog_version" implementation 'com.afollestad:material-cab:0.1.12' implementation 'com.afollestad:recyclical:1.1.1' implementation 'com.github.bumptech.glide:glide:3.8.0' implementation 'com.github.bumptech.glide:okhttp3-integration:1.5.0' implementation 'com.squareup.okhttp3:logging-interceptor:3.6.0' implementation('com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:0.11.0@aar') { transitive = true } def kotlin_coroutines_version = "1.3.8" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$kotlin_coroutines_version" implementation 'org.eclipse.mylyn.github:org.eclipse.egit.github.core:3.4.0.201406110918-r' implementation 'com.github.ksoichiro:android-observablescrollview:1.6.0' implementation 'com.github.kabouzeid:recyclerview-fastscroll:1.9-kmod' implementation 'com.github.AdrienPoupa:jaudiotagger:2.2.3' implementation 'com.anjlab.android.iab.v3:library:1.1.0' implementation 'com.r0adkll:slidableactivity:2.1.0' implementation 'com.heinrichreimersoftware:material-intro:1.6' implementation 'me.zhanghai.android.fastscroll:library:1.1.0' def lifecycle_version = "2.2.0" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version" implementation 'com.google.android.play:core:1.8.0' implementation 'me.jorgecastillo:androidcolorx:0.2.0' implementation 'com.github.dhaval2404:imagepicker:1.7.1' def koin_version = "2.1.5" implementation "org.koin:koin-core:$koin_version" implementation "org.koin:koin-core-ext:$koin_version" implementation "org.koin:koin-androidx-scope:$koin_version" implementation "org.koin:koin-androidx-viewmodel:$koin_version" implementation "org.koin:koin-androidx-fragment:$koin_version" implementation "org.koin:koin-androidx-ext:$koin_version" def nav_version = "2.3.0" implementation "androidx.navigation:navigation-fragment-ktx:$nav_version" implementation "androidx.navigation:navigation-ui-ktx:$nav_version" def room_version = "2.2.5" implementation "androidx.room:room-runtime:$room_version" kapt "androidx.room:room-compiler:$room_version" implementation "androidx.room:room-ktx:$room_version" debugImplementation 'com.amitshekhar.android:debug-db:1.0.6' }