apply plugin: 'scala' apply plugin: 'idea' def findPlayHome(){ project.ext.playHome = System.getenv()['PLAY_HOME'] if (null == project.ext.playHome) { throw new GradleException('PLAY_HOME env variable not set!') } project.ext.playExec = "${playHome}/play" } findPlayHome() repositories{ mavenCentral() // Play framework manages its own dependencies in a local Ivy repo jcenter() maven { name "typesafe-maven-release" url "https://repo.typesafe.com/typesafe/maven-releases" } ivy { name "typesafe-ivy-release" url "https://repo.typesafe.com/typesafe/ivy-releases" layout "ivy" } flatDir name: 'extralibs', dirs: "${projectDir}/metadata-etl/extralibs" } configurations{ //Libraries needed at compilation time but not to be //exported as part of the distribution provided } dependencies{ // User defined libraries (will be copied to lib/ before `play compile`) // compile 'group:name:0.1' compile project(":wherehows-common") compile project(":metadata-etl") compile externalDependency.play compile externalDependency.play_java_jdbc compile externalDependency.play_ebean compile externalDependency.play_cache compile externalDependency.spring_context compile externalDependency.spring_jdbc compile externalDependency.mockito compile externalDependency.slf4j_api compile externalDependency.jasypt provided project(":wherehows-common") provided project(":metadata-etl") } configurations { all*.exclude group: 'org.slf4j', module: 'slf4j-log4j12' all*.exclude group: 'log4j', module: 'log4j' } clean { delete "lib/" } task copyPlayLibs(type: Copy){ from configurations.provided into 'lib' } task "playCompile" (type: Exec, dependsOn: copyPlayLibs) { commandLine playExec, 'compile' } task "playTest" (type: Exec, dependsOn: playCompile) { commandLine playExec, 'test' } task "playClean" (type: Exec) { commandLine playExec, 'clean' } sourceSets.main{ java.srcDir 'app' compileClasspath += configurations.provided } // optional: if using 'idea' plugin idea { module{ scopes.PROVIDED.plus += [configurations.provided] } } task "build" (type: Exec, dependsOn: [playClean, playCompile], overwrite: true) { commandLine playExec, 'stage' } task "dist" (type: Exec, overwrite: true) { commandLine playExec, 'dist' } task "check" (overwrite: true) { }