buildscript {
    repositories {
        mavenLocal()
        mavenCentral()
        maven { url 'http://dl.bintray.com/steffenschaefer/maven' }
    }
    dependencies {
        classpath 'de.richsource.gradle.plugins:gwt-gradle-plugin:0.5'
    }
}

repositories {
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}

apply plugin: 'war'
apply plugin: 'jetty'
apply plugin: 'gwt'

sourceSets {
    //main.java.srcDirs = ['src', 'src/org/oscim/gdx/emu']
    main.java.srcDirs = ['src']
}

dependencies {
    providedCompile project(':vtm-web')
    providedCompile "com.badlogicgames.gdx:gdx:$gdxVersion:sources"
    providedCompile "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion:sources"
    providedCompile "com.badlogicgames.gdx:gdx-backend-gwt:$gdxVersion"
    providedCompile 'ru.finam:slf4j-gwt:1.2.1'
    providedCompile 'org.slf4j:slf4j-api:1.7.5'
}

// explicit dependencies for org.gradle.configureondemand=true
evaluationDependsOn(':vtm')
evaluationDependsOn(':vtm-themes')
evaluationDependsOn(':vtm-gdx')
evaluationDependsOn(':vtm-web')

gwt {
    gwtVersion = '2.6.1'
    modules 'org.oscim.web.VtmWebApp'

    superDev {
        noPrecompile = true
    }
    compiler {
        enableClosureCompiler = false; // activates -XenableClosureCompiler
        disableClassMetadata = true; // activates -XdisableClassMetadata
        disableCastChecking = true; // activates -XdisableCastChecking
    }

    src += files(sourceSets.main.java.srcDirs)
    src += files(project(':vtm').sourceSets.main.allJava.srcDirs)
    src += files(project(':vtm-themes').sourceSets.main.allJava.srcDirs)
    src += files(project(':vtm-themes').sourceSets.main.resources.srcDirs)
    src += files(project(':vtm-gdx').sourceSets.main.allJava.srcDirs)
    src += files(project(':vtm-web').sourceSets.main.allJava.srcDirs)
}

// Run jetty with draft compiled war
task jettyDraftWar(type: JettyRunWar) {
    dependsOn draftWar
    dependsOn.remove('war')
    webApp = draftWar.archivePath
}

task copyThemeAssets(type: Copy) {
    from "$rootDir/vtm-themes/resources/assets"
    into "assets"
    include '**/*'
}

task copyVtmAssets(type: Copy) {
    from "$rootDir/vtm/resources/assets"
    into "assets"
    include '**/*'
}

task copyWarSources(type: Copy) {
    from 'war/index.html'
    from 'war/default.css'
    into "src/main/webapp"
}

tasks.withType(JavaCompile) { compileTask ->
    compileTask.dependsOn copyThemeAssets
    compileTask.dependsOn copyVtmAssets
    compileTask.dependsOn copyWarSources
}