buildscript {
    repositories {
        mavenLocal()
        mavenCentral()
        maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
    }
}

allprojects {
    apply plugin: "eclipse"
    apply plugin: "idea"

    version = '1.0'
    ext {
        appName = "diablo"
        gdxVersion = '1.9.+'
        roboVMVersion = '2.3.3'
        box2DLightsVersion = '1.4'
        ashleyVersion = '1.7.+'
        aiVersion = '1.8.0'
    }

    ext {
        cliVersion = '1.4'
    }

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

project(":tester") {
    apply plugin: "java"

    ext {
        visuiVersion = '1.4.0'
    }

    dependencies {
        compile project(":core")
        compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
        compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"

    }

    dependencies {
        compile group: 'commons-cli', name: 'commons-cli', version: cliVersion
        compile "com.kotcrab.vis:vis-ui:$visuiVersion"
    }
}

project(":mapbuilder") {
    apply plugin: "java"

    ext {
        visuiVersion = '1.4.0'
    }

    dependencies {
        compile project(":core")
        compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
        compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"

    }

    dependencies {
        compile group: 'commons-cli', name: 'commons-cli', version: cliVersion
        compile "com.kotcrab.vis:vis-ui:$visuiVersion"
    }
}

project(":ds1viewer") {
    apply plugin: "java"

    ext {
        visuiVersion = '1.4.0'
    }

    dependencies {
        compile project(":core")
        compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
        compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"

    }

    dependencies {
        compile group: 'commons-cli', name: 'commons-cli', version: cliVersion
        compile "com.kotcrab.vis:vis-ui:$visuiVersion"
    }
}

project(":mpqviewer") {
    apply plugin: "java"

    ext {
        visuiVersion = '1.4.2'
    }

    dependencies {
        compile project(":core")
        compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
        compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"

    }

    dependencies {
        compile group: 'commons-cli', name: 'commons-cli', version: cliVersion
        compile "com.kotcrab.vis:vis-ui:$visuiVersion"
    }
}

project(":desktop") {
    apply plugin: "java"

    dependencies {
        compile project(":core")
        compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
        compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
        compile "com.badlogicgames.gdx:gdx-controllers-desktop:$gdxVersion"
        compile "com.badlogicgames.gdx:gdx-controllers-platform:$gdxVersion:natives-desktop"
    }

    dependencies {
        compile group: 'commons-cli', name: 'commons-cli', version: cliVersion
    }
}

project(":android") {
    apply plugin: "android"

    configurations { natives }

    dependencies {
        compile project(":core")
        compile "com.badlogicgames.gdx:gdx-backend-android:$gdxVersion"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-armeabi-v7a"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-arm64-v8a"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86"
        natives "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-x86_64"
        compile "com.badlogicgames.gdx:gdx-controllers:$gdxVersion"
        compile "com.badlogicgames.gdx:gdx-controllers-android:$gdxVersion"
    }

    repositories {
        jcenter()
    }

    dependencies {
        compile "org.sufficientlysecure:openpgp-api:12.0"
    }
}

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

    dependencies {
        compile "com.badlogicgames.gdx:gdx:$gdxVersion"
        compile "com.badlogicgames.gdx:gdx-backend-lwjgl:$gdxVersion"
        compile "com.badlogicgames.ashley:ashley:$ashleyVersion"
        compile "com.badlogicgames.gdx:gdx-ai:1.8.+"
        compile "com.badlogicgames.gdx:gdx-controllers:$gdxVersion"
    }

    dependencies {
        compile group: 'com.google.guava', name: 'guava', version: '20.0'
        compile group: 'com.android.support', name: 'support-annotations', version: '27.1.1'
        compile group: 'commons-io', name: 'commons-io', version: '2.5'
        compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.6'
        compile group: 'org.apache.commons', name: 'commons-collections4', version: '4.1'
        compile group: 'org.apache.commons', name: 'commons-math3', version: '3.6.1'
        compile group: 'com.jcraft', name: 'jzlib', version: '1.1.3'
    }

    dependencies {
        testCompile 'junit:junit:4.12'
        testCompile "com.badlogicgames.gdx:gdx-backend-headless:1.9.9"
        testCompile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
    }
}

project(":server") {
    apply plugin: "java"

    dependencies {
        // TODO: $gdxVersion is pulling an older file for some reason
        compile "com.badlogicgames.gdx:gdx-backend-headless:1.9.9"
        compile "com.badlogicgames.gdx:gdx-platform:$gdxVersion:natives-desktop"
    }

    dependencies {
        compile project(":core")
        compile group: 'commons-cli', name: 'commons-cli', version: cliVersion
        compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.6'
    }

    dependencies {
        testCompile 'junit:junit:4.12'
    }
}

tasks.eclipse.doLast {
    delete ".project"
}