import kau.Dependencies apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-android-extensions' //apply plugin: 'com.bugsnag.android.gradle' apply plugin: 'com.github.triplet.play' apply plugin: 'dagger.hilt.android.plugin' apply plugin: 'com.mikepenz.aboutlibraries.plugin' play { serviceAccountCredentials = file('../files/gplay-keys.json') track = 'beta' } android { compileSdkVersion kau.Versions.targetSdk androidGitVersion { codeFormat = 'MMNNPPXX' format = '%tag%%.count%%-commit%' } defaultConfig { applicationId "ca.allanwang.kau.sample" minSdkVersion kau.Versions.minSdk targetSdkVersion kau.Versions.targetSdk versionName androidGitVersion.name() versionCode androidGitVersion.code() multiDexEnabled true testInstrumentationRunner "ca.allanwang.kau.sample.SampleTestRunner" } buildFeatures { viewBinding = true } def releaseSigning = file("../files/kau.properties") def hasSigning = releaseSigning.exists() signingConfigs { if (hasSigning) { def releaseProps = new Properties() releaseSigning.withInputStream { releaseProps.load(it) } release { storeFile file("../files/kau.keystore") storePassword releaseProps.getProperty('storePassword') keyAlias releaseProps.getProperty('keyAlias') keyPassword releaseProps.getProperty('keyPassword') } } debug { storeFile file("../files/debug.keystore") storePassword "debugKey" keyAlias "debugKey" keyPassword "debugKey" } } buildTypes { debug { applicationIdSuffix ".debug" versionNameSuffix "-debug" signingConfig signingConfigs.debug resValue "string", "app_name", "KAU Debug" ext.enableBugsnag = false } release { minifyEnabled true if (hasSigning) signingConfig signingConfigs.release resValue "string", "app_name", "KAU" proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } lintOptions { abortOnError false checkReleaseBuilds false } packagingOptions { pickFirst 'META-INF/core_release.kotlin_module' pickFirst 'META-INF/library_release.kotlin_module' pickFirst 'META-INF/library-core_release.kotlin_module' } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.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 'skipped', 'failed', 'standardOut', 'standardError' } } } } } dependencies { implementation project(':about') implementation project(':fastadapter') implementation project(':fastadapter-viewbinding') implementation project(':colorpicker') implementation project(':core') implementation project(':core-ui') implementation project(':kpref-activity') implementation project(':searchview') implementation project(':mediapicker') implementation Dependencies.hilt kapt Dependencies.hiltCompiler implementation Dependencies.bugsnag implementation Dependencies.materialDialog("input") testImplementation Dependencies.kotlinTest testImplementation Dependencies.junit testImplementation Dependencies.hiltTest kaptTest Dependencies.hiltCompiler androidTestImplementation Dependencies.kotlinTest androidTestImplementation Dependencies.espresso androidTestImplementation Dependencies.espresso("intents") androidTestImplementation Dependencies.espresso("contrib") androidTestImplementation Dependencies.testRules androidTestImplementation Dependencies.testRunner testImplementation Dependencies.hiltTest kaptTest Dependencies.hiltCompiler }