149 lines
5.0 KiB
Groovy
149 lines
5.0 KiB
Groovy
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"
|
|
}
|