plugins { alias(libs.plugins.android.library) alias(libs.plugins.kotlin.android) alias(libs.plugins.kover) alias(libs.plugins.dokka) alias(libs.plugins.maven) alias(libs.plugins.compose.compiler) } android { namespace = "com.sebaslogen.resaca.koin" compileSdk = libs.versions.compileSdk.get().toInt() defaultConfig { minSdk = libs.versions.minSdk.get().toInt() testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") } buildFeatures { // Enables Jetpack Compose for this module compose = true } buildTypes { release { isMinifyEnabled = false proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = JavaVersion.VERSION_17.toString() } packaging { resources { excludes += setOf( // Exclude AndroidX version files "META-INF/*.version", // Exclude consumer proguard files "META-INF/proguard/*", // Exclude the Firebase/Fabric/other random properties files "/*.properties", "fabric/*.properties", "META-INF/*.properties", "/META-INF/{AL2.0,LGPL2.1}", ) } } } dependencies { api(project(":resaca")) implementation(libs.androidx.core.ktx) implementation(libs.koin.android) // Compose dependencies implementation(libs.compose.compiler) // Integration with ViewModels implementation(libs.bundles.androidx.lifecycle.viewmodel) } // Maven publishing configuration val artifactId = "resacakoin" val mavenGroup: String by project val defaultVersion: String by project val currentVersion = System.getenv("PACKAGE_VERSION") ?: defaultVersion group = mavenGroup version = currentVersion mavenPublishing { coordinates(mavenGroup, artifactId, currentVersion) }