build.gradle.kts (2214B) - raw


      1 import java.io.ByteArrayOutputStream
      2 
      3 plugins {
      4     alias(libs.plugins.androidLibrary)
      5     alias(libs.plugins.kotlinAndroid)
      6     alias(libs.plugins.compose.compiler)
      7     id("kotlin-parcelize")
      8 }
      9 
     10 android {
     11     namespace = rootProject.ext["applicationId"].toString() + ".common"
     12     compileSdk = 34
     13 
     14     buildFeatures {
     15         aidl = true
     16         buildConfig = true
     17         compose = true
     18     }
     19 
     20     defaultConfig {
     21         minSdk = 28
     22         buildConfigField("String", "VERSION_NAME", "\"${rootProject.ext["appVersionName"]}\"")
     23         buildConfigField("int", "VERSION_CODE", "${rootProject.ext["appVersionCode"]}")
     24         buildConfigField("String", "APPLICATION_ID", "\"${rootProject.ext["applicationId"]}\"")
     25         buildConfigField("long", "BUILD_TIMESTAMP", "${System.currentTimeMillis()}L")
     26         buildConfigField("String", "BUILD_HASH", "\"${rootProject.ext["buildHash"]}\".toString()")
     27         val gitHash = ByteArrayOutputStream()
     28         exec {
     29             commandLine("git", "rev-parse", "HEAD")
     30             standardOutput = gitHash
     31         }
     32         buildConfigField("String", "GIT_HASH", "\"${gitHash.toString(Charsets.UTF_8).trim()}\"")
     33         buildConfigField("String", "SIF_ENDPOINT", "\"${properties["debug_sif_endpoint"]?.toString() ?: "https://github.com/SnapEnhance/resources/raw/refs/heads/main/sif"}\"")
     34     }
     35 
     36     compileOptions {
     37         sourceCompatibility = JavaVersion.VERSION_21
     38         targetCompatibility = JavaVersion.VERSION_21
     39     }
     40 
     41     kotlinOptions {
     42         jvmTarget = "21"
     43     }
     44 }
     45 
     46 dependencies {
     47     implementation(libs.coroutines)
     48     implementation(libs.gson)
     49     implementation(libs.okhttp)
     50     implementation(libs.androidx.documentfile)
     51     implementation(libs.rhino)
     52     implementation(libs.rhino.android) {
     53         exclude(group = "org.mozilla", module = "rhino-runtime")
     54     }
     55 
     56     compileOnly(libs.androidx.activity.ktx)
     57     compileOnly(platform(libs.androidx.compose.bom))
     58     compileOnly(libs.androidx.navigation.compose)
     59     compileOnly(libs.androidx.material.icons.core)
     60     compileOnly(libs.androidx.material.ripple)
     61     compileOnly(libs.androidx.material.icons.extended)
     62     compileOnly(libs.androidx.material3)
     63 
     64     implementation(project(":mapper"))
     65 }