apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'jacoco-android' apply from: "../gradle_scripts/code_quality.gradle" android { compileSdkVersion versions.compileSdk defaultConfig { applicationId "org.moire.ultrasonic" versionCode versions.versionCode versionName versions.versionName minSdkVersion versions.minSdk targetSdkVersion versions.targetSdk resConfigs "en", "es", "fr", "hu", "pt", "pt-rBR" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } debug { minifyEnabled false testCoverageEnabled true } } sourceSets { main.java.srcDirs += "${projectDir}/src/main/kotlin" test.java.srcDirs += "${projectDir}/src/test/kotlin" } packagingOptions { exclude 'META-INF/LICENSE' } lintOptions { baselineFile file("lint-baseline.xml") abortOnError true } } dependencies { implementation project(':menudrawer') implementation project(':pulltorefresh') implementation project(':library') implementation project(':subsonic-api') implementation androidSupport.support implementation androidSupport.design implementation other.kotlinStdlib implementation other.semver testImplementation other.kotlinReflect testImplementation testing.junit testImplementation testing.kotlinJunit testImplementation testing.mockitoKotlin testImplementation testing.kluent } // Excluding all non-kotlin classes ext { jacocoExclude = [ '**/activity/**', '**/audiofx/**', '**/domain/**', '**/fragment/**', '**/provider/**', '**/receiver/**', '**/service/**', '**/Test/**', '**/util/**', '**/view/**', '**/R$*.class', '**/R.class', '**/BuildConfig.class' ] } jacocoAndroidUnitTestReport { excludes += jacocoExclude } afterEvaluate { testDebugUnitTest.finalizedBy jacocoTestDebugUnitTestReport }