plugins { alias(libs.plugins.android.library) alias(libs.plugins.kotlin.android) alias(libs.plugins.ksp) } version = "1.0.0" android { namespace = "com.yuanxuan.tracking_point.library" compileSdk { version = release(36) } defaultConfig { minSdk = 23 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") } buildTypes { debug { buildConfigField("String", "BASE_URL", "\"http://192.168.2.7:18828\"") } release { buildConfigField("String", "BASE_URL", "\"http://192.168.2.7:18828\"") isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = "11" } buildFeatures { buildConfig = true } } dependencies { testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) implementation(libs.androidx.core.ktx) implementation(libs.androidx.work.ktx) implementation(libs.retrofit) implementation(libs.retrofit.converter.moshi) implementation(libs.okhttp.logging.interceptor) implementation(libs.moshi) ksp(libs.moshi.kotlin.codegen) implementation(libs.androidx.room) implementation(libs.androidx.room.ktx) ksp(libs.androidx.room.ksp) } tasks.register("buildAar") { group = "build" description = "Build AAR manually" dependsOn("assembleRelease") doLast { val releaseDestDir = rootProject.file("aar/release") copy { from(layout.buildDirectory.file("outputs/aar/library-release.aar")) into(releaseDestDir) rename { "trackingPoint-${project.version}.aar" } } println( """ AARs have been built and copied: - Release: ${releaseDestDir.absolutePath}/trackingPoint.aar """.trimIndent() ) } }