plugins { id 'com.android.application' id 'kotlin-android' id 'com.adarshr.test-logger' version '3.0.0' } apply from: 'jacoco.gradle' android { compileSdkVersion 30 defaultConfig { applicationId 'com.github.ashutoshgngwr.noice' minSdkVersion 21 targetSdkVersion 30 versionCode 52 versionName '1.3.3' testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' } buildFeatures { viewBinding true } buildTypes { debug { applicationIdSuffix '.debug' testCoverageEnabled true } release { shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } flavorDimensions 'tier' productFlavors { free { dimension 'tier' buildConfigField 'boolean', 'IS_FREE_BUILD', 'true' } full { dimension 'tier' buildConfigField 'boolean', 'IS_FREE_BUILD', 'false' } } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { useIR = true jvmTarget = 1.8 freeCompilerArgs += ["-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi"] } testOptions { unitTests { includeAndroidResources = true all { testlogger { theme 'mocha' } } } } } dependencies { def fragmentVersion = '1.3.6' def testCoreVersion = '1.3.0' def junitVersion = '4.13.2' def mockkVersion = '1.12.0' def espressoVersion = '3.3.0' def coroutinesVersion = '1.5.2' // TODO: move this to stable release. The latest stable release (2.3.5) causes a crash with error // `java.lang.RuntimeException: Unknown animation name: x` // Although, the crash only occurs on the Play Store variant..? def navVersion = '2.4.0-alpha06' implementation 'androidx.activity:activity-ktx:1.3.1' implementation 'androidx.appcompat:appcompat:1.3.1' implementation 'androidx.browser:browser:1.3.0' implementation 'androidx.cardview:cardview:1.0.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.0' implementation 'androidx.core:core-ktx:1.6.0' implementation 'androidx.drawerlayout:drawerlayout:1.1.1' implementation "androidx.fragment:fragment-ktx:$fragmentVersion" implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1' implementation 'androidx.media:media:1.4.1' implementation 'androidx.mediarouter:mediarouter:1.2.5' implementation "androidx.navigation:navigation-fragment-ktx:$navVersion" implementation "androidx.navigation:navigation-ui-ktx:$navVersion" implementation 'androidx.preference:preference-ktx:1.1.1' implementation 'androidx.recyclerview:recyclerview:1.2.1' implementation 'com.github.AppIntro:AppIntro:6.1.0' implementation 'io.github.medyo:android-about-page:2.0.0' implementation 'com.google.android.exoplayer:exoplayer-core:2.11.8' implementation 'com.google.android:flexbox:2.0.1' implementation 'com.google.android.material:material:1.4.0' implementation 'com.google.code.gson:gson:2.8.8' implementation 'com.hopenlib.library:flextools:1.0.1' implementation 'com.ncorti:slidetoact:0.9.0' implementation 'io.noties.markwon:core:4.6.2' implementation 'org.greenrobot:eventbus:3.1.1' implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" fullImplementation 'com.android.billingclient:billing-ktx:4.0.0' fullImplementation 'com.google.android.gms:play-services-base:17.6.0' fullImplementation 'com.google.android.gms:play-services-cast-framework:20.0.0' fullImplementation 'com.google.android.play:core:1.10.1' fullImplementation platform('com.google.firebase:firebase-bom:28.4.0') fullImplementation 'com.google.firebase:firebase-analytics-ktx' fullImplementation 'com.google.firebase:firebase-crashlytics-ktx' fullImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion" testImplementation "androidx.test:core:$testCoreVersion" testImplementation "io.mockk:mockk:$mockkVersion" testImplementation "junit:junit:$junitVersion" testImplementation 'org.robolectric:robolectric:4.5.1' testImplementation 'org.skyscreamer:jsonassert:1.5.0' testFullImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutinesVersion" androidTestImplementation "androidx.test:core:$testCoreVersion" androidTestImplementation "androidx.test:rules:1.4.0" androidTestImplementation "androidx.test:runner:1.4.0" androidTestImplementation "androidx.test.espresso:espresso-core:$espressoVersion" androidTestImplementation "androidx.test.espresso:espresso-contrib:$espressoVersion" androidTestImplementation "androidx.test.espresso:espresso-intents:$espressoVersion" androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation "io.mockk:mockk-android:$mockkVersion" androidTestImplementation "junit:junit:$junitVersion" androidTestFullImplementation 'tools.fastlane:screengrab:2.1.0' debugImplementation "androidx.fragment:fragment-testing:$fragmentVersion" }