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

apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'

android {
    namespace 'com.useideem.zsm.reactnative' // Define the package name
    compileSdk 34 // Compatible with customer requirements

    defaultConfig {
        minSdk 21 // Lower minimum SDK for broader compatibility
        targetSdk 34 // Compatible with customer requirements

        // Required for Kotlin and Java compatibility
        multiDexEnabled true
    }

    sourceSets {
        main {
            java.srcDirs = ['src/main/java']
            manifest.srcFile 'src/main/AndroidManifest.xml'
            jniLibs.srcDirs = ['src/main/jniLibs']
        }
    }

    buildTypes {
        release {
            minifyEnabled false // Disable minification for easier debugging
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17 // Updated to match React Native 0.79.3
        targetCompatibility JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = '17' // Align Kotlin JVM target with Java version
        freeCompilerArgs += ['-Xskip-metadata-version-check']
    }
}

repositories {
    google()
    mavenCentral()
    maven { url 'https://oss.sonatype.org/content/groups/public/' } // React Native repository
}

dependencies {
    // ZSM Android library - works for both internal development and distribution
    implementation fileTree(dir: "libs", include: ["*.jar"])

    // React Native dependency - specify version to avoid resolution issues
    implementation 'com.facebook.react:react-native:+'

    // Basic Android dependencies compatible with RN 0.72.4
    implementation 'androidx.appcompat:appcompat:1.6.1'
    implementation 'androidx.core:core-ktx:1.10.1'

    // Optional: Kotlin Standard Library
    implementation "org.jetbrains.kotlin:kotlin-stdlib:2.1.0"

    // MultiDex support (required for larger projects)
    implementation 'androidx.multidex:multidex:2.0.1'
}
