// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext {
        minSdkVersion = 24
        supportLibVersion = "28.0.0"
        buildToolsVersion = "33.0.0"
        compileSdkVersion = 34
        targetSdkVersion = 34
        googlePlayServicesVersion = "16.+"
        googlePlayServicesIidVersion = "16.0.1"
        firebaseVersion = "17.3.4"
        firebaseMessagingVersion = "21.1.0"

        // We use NDK 23 which has both M1 support and is the side-by-side NDK version from AGP.
        ndkVersion = "23.1.7779620"
        kotlin_version = '1.9.25'
        kotlinVersion = '1.9.25'
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath("com.android.tools.build:gradle")
        classpath("com.facebook.react:react-native-gradle-plugin")
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version")
        classpath("com.bugsnag:bugsnag-android-gradle-plugin:5.+")
        classpath 'com.google.gms:google-services:4.4.2'  // Google Services plugin
    	
    }
}

allprojects {
    repositories {
        maven {
            url("$rootDir/../node_modules/detox/Detox-android")
        }

            mavenCentral {
	            // We don't want to fetch react-native from Maven Central as there are
	            // older versions over there.
	            content {
	                excludeGroup "com.facebook.react"
	            }
	        }
        mavenLocal()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url("$rootDir/../node_modules/react-native/android")
        }
        maven {
            // Android JSC is installed from npm
            url("$rootDir/../node_modules/jsc-android/dist")
        }
        google()
                maven { url 'https://www.jitpack.io' }
    }
     configurations.all {
        resolutionStrategy {
            force 'androidx.activity:activity:1.5.1'
        }
    }
}

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                buildToolsVersion "33.0.0"
                compileSdkVersion 34
                 defaultConfig {
                    minSdkVersion 24
                }
            }
        }
        tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
            if (project.plugins.hasPlugin("com.android.application") || project.plugins.hasPlugin("com.android.library")) {
                kotlinOptions.jvmTarget = android.compileOptions.sourceCompatibility
            } else {
                kotlinOptions.jvmTarget = sourceCompatibility
            }
        }

    }
}