import kau.Dependencies import kau.Versions apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-parcelize' //apply plugin: 'com.getkeepsafe.dexcount' group = "ca.allanwang" android { compileSdkVersion Versions.targetSdk androidGitVersion { codeFormat = 'MMNNPPXX' format = '%tag%%.count%%-commit%' } def kauMinSdk = Versions.minSdk if (project.hasProperty('kauSubModuleMinSdk')) kauMinSdk = kauSubModuleMinSdk def kauResourcePrefix = "kau_" if (project.hasProperty('kauSubModuleResourcePrefix')) kauResourcePrefix = kauSubModuleResourcePrefix resourcePrefix kauResourcePrefix defaultConfig { minSdkVersion kauMinSdk targetSdkVersion Versions.targetSdk versionName androidGitVersion.name() versionCode androidGitVersion.code() consumerProguardFiles 'progress-proguard.txt' multiDexEnabled true testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildFeatures { viewBinding = true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } lintOptions { // warningsAsErrors true disable 'UnusedResources', 'ContentDescription', 'RtlSymmetry', 'RtlHardcoded', 'RtlEnabled', 'Overdraw', 'MissingTranslation', 'MissingQuantity', 'UnspecifiedImmutableFlag', 'QueryPermissionsNeeded', 'AnnotateVersionCheck', 'Recycle', 'MissingSuperCall', 'UnsafeExperimentalUsageError', 'UnsafeExperimentalUsageWarning' abortOnError false xmlReport false textReport true textOutput 'stdout' } packagingOptions { pickFirst 'META-INF/core_release.kotlin_module' pickFirst 'META-INF/library_release.kotlin_module' pickFirst 'META-INF/library-core_release.kotlin_module' exclude "**/module-info.class" } compileOptions { sourceCompatibility Versions.java targetCompatibility Versions.java } kotlinOptions { jvmTarget = Versions.java.toString() } sourceSets { main.java.srcDirs += 'src/main/kotlin' test.java.srcDirs += 'src/test/kotlin' androidTest.java.srcDirs += 'src/androidTest/kotlin' main.res.srcDirs += 'src/main/res-public' } testOptions.unitTests { // Don't throw runtime exceptions for android calls that are not mocked returnDefaultValues = true // Always show the result of every unit test, even if it passes. all { testLogging { events 'passed', 'skipped', 'failed', 'standardOut', 'standardError' } } } } dependencies { testImplementation Dependencies.kotlinTest testImplementation Dependencies.junit androidTestImplementation Dependencies.kotlinTest androidTestImplementation Dependencies.espresso androidTestImplementation Dependencies.testRules androidTestImplementation Dependencies.testRunner }