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

buildscript {
    ext {
        buildToolsVersion = "31.0.0"
        minSdkVersion = 24
        compileSdkVersion = 31
        targetSdkVersion = 31
        supportLibVersion = "31.0.0"
        kotlinVersion = "1.5.30"
        kotlin_version = "1.5.30"
        firebaseVersion = "21.0.0"
        RNNKotlinVersion = kotlinVersion
        if (System.properties['os.arch'] == "aarch64") {
            // For M1 Users we need to use the NDK 24 which added support for aarch64
            ndkVersion = "24.0.8215888"
        } else {
            // Otherwise we default to the side-by-side NDK version from AGP.
            ndkVersion = "21.4.7075529"
        }
    }
    repositories {
        mavenCentral()
        mavenLocal()
        google()
    }
    dependencies {
        classpath("com.android.tools.build:gradle:7.2.1")
        classpath("com.facebook.react:react-native-gradle-plugin")
        classpath("de.undercouch:gradle-download-task:5.0.1")
        classpath('com.google.gms:google-services:4.3.14')
        classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion")

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        exclusiveContent {
           // We get React Native's Android binaries exclusively through npm,
           // from a local Maven repo inside node_modules/react-native/.
           // (The use of exclusiveContent prevents looking elsewhere like Maven Central
           // and potentially getting a wrong version.)
           filter {
               includeGroup "com.facebook.react"
           }
           forRepository {
               maven {
                   url "$rootDir/../node_modules/react-native/android"
               }
           }
       }
        google()
        mavenCentral()
        mavenLocal()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url("$rootDir/../node_modules/react-native/android")

            // Replace AAR from original RN with AAR from react-native-v8
            // url("$rootDir/../node_modules/react-native-v8/dist")
        }
        maven {
            // Local Maven repo containing AARs with JSC library built for Android
            url("$rootDir/../node_modules/jsc-android/dist")

            // prebuilt libv8android.so
            // url("$rootDir/../node_modules/v8-android/dist")
        }
        maven {
            url "https://www.jitpack.io"
        }
        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"
            }
        }
    }
}

subprojects {
    afterEvaluate { subproject ->
        if(subproject['name'] == 'react-native-create-thumbnail'){
            def myAttribute = Attribute.of("com.android.build.api.attributes.BuildTypeAttr", String)
            dependencies.attributesSchema {
                attribute(myAttribute)
            }
            configurations {
                implementation {
                    attributes {
                        attribute(myAttribute, "release")
                    }
                }
            }
        }
    }
}
