buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath("com.android.tools.build:gradle")
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin")
        classpath("com.facebook.react:react-native-gradle-plugin")
    }
}

plugins {
    id("com.android.library")
    id("org.jetbrains.kotlin.android")
    id("com.facebook.react")
}

ext {
    name = "OwnID React Native Core SDK"
    groupId = "com.ownid.android-sdk"
    artifactId = "react-native-core"
    versionName = "3.12.1"
}

group = ext.groupId

android {
    namespace = "com.ownid.sdk.reactnative"
    compileSdk = 35
    buildToolsVersion = "35.0.0"

    defaultConfig {
        minSdk = 24
        targetSdk = 35

        consumerProguardFiles 'consumer-rules.pro'

        gradle.projectsEvaluated {
            preBuild.dependsOn(setVersionProperties)
        }
    }

    kotlinOptions {
        freeCompilerArgs += ["-module-name", "com.ownid.sdk.reactnative.core"]
        freeCompilerArgs += "-Xexplicit-api=strict"
    }

    lint {
        enable "Interoperability"
    }
}

dependencies {
    api("com.facebook.react:react-android")
    api("com.ownid.android-sdk:core:3.11.0")
}

def propertiesFileName = "src/main/assets/com/ownid/sdk/react-native-core.properties"
clean { delete propertiesFileName }
tasks.register("setVersionProperties", WriteProperties) {
    destinationFile.set(file(propertiesFileName))
    property "name", "OwnIDReactNativeCore"
    property "version", project.ext.versionName
}
