Files
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00

129 lines
3.9 KiB
Groovy

/*
* 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"
}