bigbluebutton-Github/deskshare/app/build.gradle
2015-08-10 21:32:00 +00:00

161 lines
6.3 KiB
Groovy
Executable File

apply plugin: 'scala'
apply plugin: 'java'
apply plugin: 'war'
version = '0.9.0'
jar.enabled = true
archivesBaseName = 'bbb-deskshare-app'
task resolveDeps(type: Copy) {
into('lib')
from configurations.default
from configurations.default.allArtifacts.file
}
/*
* Seems like we need this here and in the sub-projects section for testng to resolve.
* (ralam Oct 4, 2009)
*/
repositories {
mavenCentral()
add(new org.apache.ivy.plugins.resolver.ChainResolver()) {
name = 'remote'
returnFirst = true
add(new org.apache.ivy.plugins.resolver.URLResolver()) {
name = "googlecode"
addArtifactPattern "http://red5.googlecode.com/svn/repository/[artifact](-[revision]).[ext]"
addArtifactPattern "http://red5.googlecode.com/svn/repository/[organisation]/[artifact](-[revision]).[ext]"
}
add(new org.apache.ivy.plugins.resolver.URLResolver()) {
name = "blindside-repos"
addArtifactPattern "http://blindside.googlecode.com/svn/repository/[artifact](-[revision]).[ext]"
addArtifactPattern "http://blindside.googlecode.com/svn/repository/[organisation]/[artifact](-[revision]).[ext]"
}
add(new org.apache.ivy.plugins.resolver.URLResolver()) {
name = "maven2-central"
m2compatible = true
addArtifactPattern "http://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[artifact](-[revision]).[ext]"
addArtifactPattern "http://repo1.maven.org/maven2/[organisation]/[artifact]/[revision]/[artifact](-[revision]).[ext]"
}
add(new org.apache.ivy.plugins.resolver.URLResolver()) {
name = "testng_ibiblio_maven2"
m2compatible = true
addArtifactPattern "http://repo1.maven.org/maven2/[organisation]/[module]/[revision]/[artifact](-[revision])-jdk15.[ext]"
addArtifactPattern "http://repo1.maven.org/maven2/[organisation]/[artifact]/[revision]/[artifact](-[revision])-jdk15.[ext]"
}
add(new org.apache.ivy.plugins.resolver.URLResolver()) {
name = "netty-dependency"
m2compatible = true
addArtifactPattern "http://repository.jboss.org/nexus/content/groups/public-jboss/[organisation]/[module]/[revision]/[artifact](-[revision]).[ext]"
addArtifactPattern "http://repo1.maven.org/maven2/[organisation]/[artifact]/[revision]/[artifact](-[revision]).[ext]"
}
add(new org.apache.ivy.plugins.resolver.URLResolver()) {
name = "spring-bundles"
m2compatible = true
addArtifactPattern "http://repository.springsource.com/maven/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
addArtifactPattern "http://repository.springsource.com/maven/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
}
add(new org.apache.ivy.plugins.resolver.URLResolver()) {
name = "Red5"
m2compatible = true
addArtifactPattern "http://red5.googlecode.com/svn/repository/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
addArtifactPattern "http://red5.googlecode.com/svn/repository/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
}
mavenRepo name: "sonatype-snapshot", urls: "http://oss.sonatype.org/content/repositories/snapshots"
mavenRepo name: "sonatype-releases", urls: "http://oss.sonatype.org/content/repositories/releases"
}
}
dependencies {
// Servlet
providedCompile 'javax.servlet:servlet-api:2.5@jar'
// Mina
providedCompile 'org.apache.mina:mina-core:2.0.8@jar'
providedCompile 'org.apache.mina:mina-integration-beans:2.0.8@jar'
providedCompile 'org.apache.mina:mina-integration-jmx:2.0.8@jar'
// Spring
providedCompile 'org.springframework:spring-web:4.0.8.RELEASE@jar'
providedCompile 'org.springframework:spring-beans:4.0.8.RELEASE@jar'
providedCompile 'org.springframework:spring-context:4.0.8.RELEASE@jar'
providedCompile 'org.springframework:spring-core:4.0.8.RELEASE@jar'
// Red5
providedCompile 'org.red5:red5-server:1.0.6-SNAPSHOT@jar'
providedCompile 'org.red5:red5-server-common:1.0.6-SNAPSHOT@jar'
providedCompile 'org.red5:red5-io:1.0.6-SNAPSHOT@jar'
// Logging
providedCompile 'ch.qos.logback:logback-core:1.1.2@jar'
providedCompile 'ch.qos.logback:logback-classic:1.1.2@jar'
providedCompile 'org.slf4j:log4j-over-slf4j:1.7.9@jar'
providedCompile 'org.slf4j:jcl-over-slf4j:1.7.9@jar'
providedCompile 'org.slf4j:jul-to-slf4j:1.7.9@jar'
providedCompile 'org.slf4j:slf4j-api:1.7.9@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:4.0.8.RELEASE@jar'
providedCompile 'aopalliance:aopalliance: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:4.0.7.RELEASE@jar'
compile project(':common')
// Need to put commons-fileupload and commons-io in red5/lib dir. Otherwise, we get an
// java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileItemFactory or
// java.lang.NoClassDefFoundError: org/apache/commons/io/output/DeferredFileOutputStream
// ralam (Feb 27, 2013)
providedCompile 'commons-fileupload:commons-fileupload:1.2.2@jar'
providedCompile '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@jar'
//redis
compile 'redis.clients:jedis:1.5.1'
providedCompile 'commons-pool:commons-pool:1.5.6'
compile 'com.google.code.gson:gson:1.7.1'
}
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")
}
}