apply plugin: 'com.android.application' android { compileSdkVersion 28 buildToolsVersion '28.0.2' defaultConfig { minSdkVersion 21 targetSdkVersion 28 renderscriptTargetApi 27 //must match target sdk and build tools vectorDrawables.useSupportLibrary = true applicationId "code.name.monkey.retromusic" versionCode 222 versionName '2.0.010' multiDexEnabled true buildConfigField("String", "LASTFM_API_KEY", "\"${getProperty(getProperties('../public.properties'), 'LASTFM_API_KEY')}\"") buildConfigField("String", "GOOGLE_PLAY_LICENSE_KEY", "\"${getProperty(getProperties('../public.properties'), 'GOOGLE_PLAY_LICENSE_KEY')}\"") } signingConfigs { release { Properties properties = getProperties('/Users/hemanths/Desktop/KeepSafe/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' resValue "string", "cast_app_id", "BA9C3F5E" signingConfig signingConfigs.release } debug { applicationIdSuffix '.debug' versionNameSuffix ' DEBUG' resValue "string", "cast_app_id", "BA9C3F5E" } } flavorDimensions "default" productFlavors { normal { versionCode defaultConfig.versionCode + 10000 versionName defaultConfig.versionName + "_" + getDate() dimension "default" } } packagingOptions { exclude 'META-INF/LICENSE' exclude 'META-INF/NOTICE' exclude 'META-INF/rxjava.properties' } lintOptions { disable 'MissingTranslation' disable 'InvalidPackage' abortOnError false } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } configurations.all { resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9' } /*configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> def requested = details.requested if (requested.group == 'com.android.support') { if (!(requested.name.startsWith("multidex") || requested.name.startsWith("mediarouter"))) { details.useVersion $supportLibVersion } } } }*/ } 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('MMdd') } dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'androidx.multidex:multidex:2.0.0' implementation "androidx.fragment:fragment:$supportLibVersion" implementation "androidx.appcompat:appcompat:$supportLibVersion" implementation "androidx.recyclerview:recyclerview:$supportLibVersion" implementation "androidx.gridlayout:gridlayout:$supportLibVersion" implementation "androidx.cardview:cardview:$supportLibVersion" implementation "androidx.palette:palette:$supportLibVersion" implementation "androidx.annotation:annotation:$supportLibVersion" implementation "androidx.preference:preference:$supportLibVersion" implementation "androidx.legacy:legacy-support-v13:$supportLibVersion" implementation "androidx.legacy:legacy-preference-v14:$supportLibVersion" implementation "com.google.android.material:material:$supportLibVersion" //For casting implementation 'androidx.mediarouter:mediarouter:1.0.0-beta01' implementation 'com.google.android.gms:play-services-cast-framework:16.0.2' implementation "com.squareup.retrofit2:retrofit:2.4.0" implementation "com.squareup.retrofit2:converter-gson:2.4.0" implementation "com.squareup.retrofit2:adapter-rxjava2:2.4.0" implementation "com.jakewharton:butterknife:$butterKnife" annotationProcessor "com.jakewharton:butterknife-compiler:$butterKnife" implementation "com.afollestad.material-dialogs:core:$materialDialog" implementation "com.afollestad.material-dialogs:commons:$materialDialog" implementation 'com.afollestad:material-cab:0.1.12' implementation 'io.reactivex.rxjava2:rxandroid:2.0.2' implementation 'io.reactivex.rxjava2:rxjava:2.1.9' 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.11.0' implementation 'com.squareup.okhttp3:okhttp:3.11.0' implementation('com.h6ah4i.android.widget.advrecyclerview:advrecyclerview:0.11.0@aar') { transitive = true } implementation 'com.github.ksoichiro:android-observablescrollview:1.6.0' implementation 'com.simplecityapps:recyclerview-fastscroll:1.0.18' implementation 'com.anjlab.android.iab.v3:library:1.0.44' /*UI Library*/ implementation 'uk.co.chrisjenx:calligraphy:2.3.0' implementation 'me.zhanghai.android.materialprogressbar:library:1.4.2' implementation 'com.r0adkll:slidableactivity:2.0.6' /*Backend all*/ implementation project(':appthemehelper') implementation 'com.sothree.slidinguppanel:library:3.4.0' implementation 'com.github.AdrienPoupa:jaudiotagger:2.2.3' implementation 'org.nanohttpd:nanohttpd:2.3.1' }