import groovy.json.JsonSlurper

plugins {
    id 'com.android.library'
}

def isNewArchEnabled =
        project.hasProperty("newArchEnabled") &&
                project.getProperty("newArchEnabled") == "true"

android {
    compileSdk 34

    buildFeatures {
        buildConfig = true
    }

    defaultConfig {
        minSdk 26
        targetSdk 33
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        consumerProguardFiles "consumer-rules.pro"
        buildConfigField(
                "boolean",
                "IS_NEW_ARCHITECTURE_ENABLED",
                isNewArchEnabled.toString()
        )
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    sourceSets {
        main {
            java {
                if (!isNewArchEnabled) {
                    exclude "**/arch_new/**"
                } else {
                    exclude "**/arch_legacy/**"
                }
            }
        }
    }
}

def jsPackageJsonFile = file('../package.json')
def jsPackageJsonObject = new JsonSlurper().parseText(jsPackageJsonFile.text)
def prestoplayAndroidSdkVersion = "${jsPackageJsonObject.prestoplayAndroidSdkVersion}-RN"

dependencies {
    implementation "com.facebook.react:react-native:+"
    implementation "androidx.localbroadcastmanager:localbroadcastmanager:1.1.0"

    // CastLabs Dependencies
    implementation ("com.castlabs.player:castlabs-sdk:$prestoplayAndroidSdkVersion") {
        exclude group: 'androidx.legacy', module: 'legacy-support-v4'
    }
}

if (isNewArchEnabled) {
    apply plugin: "com.facebook.react"
}