usePlugin 'scala' usePlugin 'java' usePlugin 'war' version = '0.71' jar.enabled = true archivesBaseName = 'bbb-deskshare-app' dependencies { // Servlet providedCompile 'javax.servlet:servlet-api:2.5@jar' // Mina providedCompile 'org.apache.mina:mina-core:2.0.7@jar' providedCompile 'org.apache.mina:mina-integration-beans:2.0.7@jar' providedCompile 'org.apache.mina:mina-integration-jmx:2.0.7@jar' // Spring providedCompile 'org.springframework:spring-web:3.1.1.RELEASE@jar' providedCompile 'org.springframework:spring-beans:3.1.1.RELEASE@jar' providedCompile 'org.springframework:spring-context:3.1.1.RELEASE@jar' providedCompile 'org.springframework:spring-core:3.1.1.RELEASE@jar' // Red5 providedCompile 'org/red5:red5:1.0r4643@jar' // Logging providedCompile 'ch.qos.logback:logback-core:1.0.9@jar' providedCompile 'ch.qos.logback:logback-classic:1.0.9@jar' providedCompile 'org.slf4j:log4j-over-slf4j:1.7.2@jar' providedCompile 'org.slf4j:jcl-over-slf4j:1.7.2@jar' providedCompile 'org.slf4j:jul-to-slf4j:1.7.2@jar' providedCompile 'org.slf4j:slf4j-api:1.7.2@jar' // Needed for the JVM shutdown hook but needs to be put into red5/lib dir. // Otherwise we get exception on aop utils class not found. providedCompile 'org.springframework:spring-aop:3.1.1.RELEASE@jar' providedCompile 'aopalliance:aopalliance:1.0@jar' // Java Concurrency In Practice providedCompile 'net.jcip:jcip-annotations:1.0@jar' // Testing compile 'org.testng:testng:5.8@jar' compile 'org.easymock:easymock:2.4@jar' // Testing testRuntime 'org/testng:testng:5.8@jar' testRuntime 'org.easymock:easymock:2.4@jar' // Tunnelling servlet compile 'org.springframework:spring-webmvc:3.1.1.RELEASE@jar' compile project(':common') // Need to put commons file-upload in red5/lib dir. Otherwise, we get an // java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory // ralam (Feb 27, 2013) providedCompile 'commons-fileupload:commons-fileupload:1.2.2@jar' compile 'commons-io:commons-io:2.1@jar' // Libraries needed to run the scala tools scalaTools 'org.scala-lang:scala-compiler:2.9.2' scalaTools 'org.scala-lang:scala-library:2.9.2' // workaround for http://issues.gradle.org/browse/GRADLE-1273 compileScala.classpath = sourceSets.main.compileClasspath + files(sourceSets.main.classesDir) compileTestScala.classpath = sourceSets.test.compileClasspath + files(sourceSets.test.classesDir) // Libraries needed for scala api compile 'org.scala-lang:scala-library:2.9.2' compile 'net.lag:configgy:2.0.0' //redis compile 'redis.clients:jedis:1.5.1' providedCompile 'commons-pool:commons-pool:1.5.6' } test { useTestNG() } war.doLast { ant.unzip(src: war.archivePath, dest: "$buildDir/deskshare") } task deploy() << { def red5AppsDir = '/usr/share/red5/webapps' def deskshareDir = new File("${red5AppsDir}/deskshare") println "Deleting $deskshareDir" ant.delete(dir: deskshareDir) ant.mkdir(dir: deskshareDir) ant.copy(todir: deskshareDir) { fileset(dir: "$buildDir/deskshare") } }