buildscript { repositories { mavenCentral() maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath 'org.wisepersist:gwt-gradle-plugin:1.1.19' classpath 'org.gretty:gretty:4.0.3' } } apply plugin: 'gwt' apply plugin: 'war' apply plugin: 'org.gretty' sourceSets { main.java.srcDirs = ['src'] } dependencies { providedCompile project(':vtm-gdx-poi3d') providedCompile project(':vtm-web') providedCompile 'ru.finam:slf4j-gwt:1.7.7.1' } // explicit dependencies for org.gradle.configureondemand=true evaluationDependsOn(':vtm') evaluationDependsOn(':vtm-themes') evaluationDependsOn(':vtm-gdx') evaluationDependsOn(':vtm-gdx-poi3d') evaluationDependsOn(':vtm-models') evaluationDependsOn(':vtm-web') gwt { gwtVersion = project.ext.gwtVersion modules 'org.oscim.web.VtmWebApp' minHeapSize = "512M" maxHeapSize = "2048M" 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-gdx-poi3d').sourceSets.main.allJava.srcDirs) src += files(project(':vtm-models').sourceSets.main.allJava.srcDirs) src += files(project(':vtm-models').sourceSets.main.resources.srcDirs) src += files(project(':vtm-web').sourceSets.main.allJava.srcDirs) } farm { webapp draftWar.getArchiveFile().get(), contextPath: "/$name" } project.afterEvaluate { farmRun.dependsOn draftWar } task copyThemeAssets(type: Copy) { from "$rootDir/vtm-themes/resources/assets" into "assets" include '**/*' } task copyModelAssets(type: Copy) { from "$rootDir/vtm-models/resources/assets" into "assets" include '**/*' } task copyThemeLocalAssets(type: Copy) { from "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 copyModelAssets compileTask.dependsOn copyThemeLocalAssets compileTask.dependsOn copyVtmAssets compileTask.dependsOn copyWarSources } clean { delete "assets" delete "war/WEB-INF" }