buildscript {
    ext {
        agp_version = '8.7.3'
        kotlin_version = '2.0.21'
        kotlin_coroutines_version = '1.7.2'
        navigation_version = "2.8.3"
        hilt_version = '2.51.1'
        room_version = '2.6.1'
        core_version = '1.15.0'
        desugaring_version = '2.1.3'

        min_sdk = 24
        target_sdk = 35
        ndk_version = "27.2.12479018"

    }

    dependencies {
        // Hilt isn't compatible with the new plugin syntax yet.
        classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
        classpath "org.jetbrains.dokka:dokka-gradle-plugin:2.0.0"
    }
}

plugins {
    // Android studio doesn't understand this syntax
    //noinspection GradlePluginVersion
    id "com.android.application" version "$agp_version" apply false
    id "androidx.navigation.safeargs.kotlin" version "$navigation_version" apply false
    //noinspection GradlePluginVersion
    id 'com.android.library' version "$agp_version" apply false
    id "org.jetbrains.kotlin.android" version "$kotlin_version" apply false
    id "com.google.devtools.ksp" version '2.0.21-1.0.25' apply false
    id "com.diffplug.spotless" version "6.25.0" apply true
}

spotless {
    kotlin {
        target "*/src/**/*.kt"
        ktfmt().dropboxStyle()
        licenseHeaderFile("NOTICE")
    }

    cpp {
        target "*/src/**/cpp/*.cpp"
        eclipseCdt()
        licenseHeaderFile("NOTICE")
    }
}
