buildscript {
    ext.kotlinVersion = '1.8.0'

    repositories {
        mavenLocal()
        mavenCentral()
        gradlePluginPortal()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:8.5.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
        classpath "com.google.devtools.ksp:symbol-processing-gradle-plugin:1.5.30-1.0.0"


    }
}

allprojects {
    apply plugin: "eclipse"

    version = '1.0'
    ext {
        appName = "dermy-app"
        gdxVersion = '1.12.0'
        roboVMVersion = '2.3.20'
        box2DLightsVersion = '1.5'
        ashleyVersion = '1.7.4'
        aiVersion = '1.8.2'
        gdxControllersVersion = '2.2.1'
        retrofitVersion = '2.11.0'
        cameraxVersion = '1.3.4'
        roomVersion = '2.6.1'
    }

    repositories {
        mavenLocal()
        mavenCentral()
        google()
        gradlePluginPortal()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
        maven { url "https://oss.sonatype.org/content/repositories/releases/" }
        maven { url "https://jitpack.io" }
    }

}

project(":android") {
    apply plugin: "android"
    apply plugin: "kotlin-android"
    apply plugin: "com.google.devtools.ksp"

    configurations { natives }

    dependencies {
        implementation project(":core")

        api "com.badlogicgames.gdx:gdx:$gdxVersion"
        api "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
        api "com.badlogicgames.gdx:gdx-platform:$gdxVersion"
        api "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"

        //MongoDB
        implementation "org.mongodb:bson:5.1.1"

        //Retrofit2 & Jackson
        implementation "com.squareup.retrofit2:retrofit:$retrofitVersion"
        implementation "com.squareup.retrofit2:converter-jackson:$retrofitVersion"

        //Jsoup
        implementation "org.jsoup:jsoup:1.17.2"

        implementation 'androidx.core:core-ktx:1.13.1'
        implementation 'androidx.appcompat:appcompat:1.7.0'
        implementation 'com.google.android.material:material:1.12.0'
        implementation 'androidx.preference:preference:1.2.1'

        implementation 'androidx.test.ext:junit:1.2.1'
        implementation 'androidx.test.espresso:espresso-core:3.6.1'

        //Room
        implementation "androidx.room:room-ktx:$roomVersion"
        implementation "androidx.room:room-common:2.6.1"
        implementation "androidx.room:room-runtime:$roomVersion"
        ksp "androidx.room:room-compiler:$roomVersion"


        //CameraX
        implementation "androidx.camera:camera-core:$cameraxVersion"
        implementation "androidx.camera:camera-view:$cameraxVersion"
        implementation "androidx.camera:camera-lifecycle:$cameraxVersion"
        implementation "androidx.camera:camera-camera2:$cameraxVersion"

    }
}

project(":core") {
    apply plugin: "kotlin"

    dependencies {

        api "com.badlogicgames.gdx:gdx:$gdxVersion"
        api "com.badlogicgames.gdx:gdx-bullet:$gdxVersion"
        api "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
    }
}
