/* * Copyright 2020 Shreyas Patil * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ plugins { id 'com.google.devtools.ksp' } apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' apply plugin: 'dagger.hilt.android.plugin' apply plugin: 'kover' android { compileSdkVersion ProjectConfig.compileSdkVersion defaultConfig { minSdkVersion ProjectConfig.minSdkVersion targetSdkVersion ProjectConfig.targetSdkVersion } compileOptions { sourceCompatibility JavaVersion.VERSION_11 targetCompatibility JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = "11" } // Include sources generated by Mutekt libraryVariants.all { variant -> kotlin.sourceSets { def name = variant.name getByName(name) { kotlin.srcDir("build/generated/ksp/$name/kotlin") } } } testOptions { unitTests.returnDefaultValues = true unitTests.all { useJUnitPlatform() reports { junitXml.enabled = true html.enabled = true } } } lint { abortOnError false } namespace 'dev.shreyaspatil.noty' } tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all { kotlinOptions { jvmTarget = "11" } } dependencies { // Core Module implementation project(":core") // Repository Module api project(":repository") // Android implementation "androidx.core:core-ktx:$coreKtxVersion" implementation "androidx.legacy:legacy-support-v4:$legacySupportVersion" // Material Design implementation "com.google.android.material:material:$materialDesignVersion" // Lifecycle api "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycleVersion" api "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycleVersion" api "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycleVersion" // WorkManager implementation "androidx.work:work-runtime-ktx:$workmanagerVersion" implementation "androidx.work:work-multiprocess:$workmanagerVersion" // Jetpack DataStore implementation "androidx.datastore:datastore-preferences:$dataStoreVersion" // JetPack Security implementation "androidx.security:security-crypto:$securityCryptoVersion" // Hilt + JetPack api "androidx.hilt:hilt-work:$jetpackHiltVersion" kapt "androidx.hilt:hilt-compiler:$jetpackHiltVersion" // Dagger + Hilt implementation "com.google.dagger:hilt-android:$daggerHiltVersion" kapt "com.google.dagger:hilt-android-compiler:$daggerHiltVersion" // Mutekt implementation("dev.shreyaspatil.mutekt:mutekt-core:$mutektVersion") ksp("dev.shreyaspatil.mutekt:mutekt-codegen:$mutektVersion") // Compose runtime - For @Immutable annotation implementation platform("androidx.compose:compose-bom:$composeBomVersion") testImplementation platform("androidx.compose:compose-bom:$composeBomVersion") implementation "androidx.compose.runtime:runtime" // Testing testImplementation "junit:junit:$jUnitVersion" testImplementation "io.kotest:kotest-runner-junit5:$kotestVersion" testImplementation "io.kotest:kotest-assertions-core:$kotestVersion" testImplementation "io.kotest:kotest-property:$kotestVersion" testImplementation "io.mockk:mockk:$mockkVersion" testImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutinesVersion" }