8e504aa2a8
a way to detect that webcam stream stopped server side because when the client's connection to bbb-video is disconnected due to network issue, the notification that the stream stopped from the client side can't be sent to the server.
117 lines
4.2 KiB
Groovy
Executable File
117 lines
4.2 KiB
Groovy
Executable File
apply plugin: 'java'
|
|
apply plugin: 'war'
|
|
apply plugin: 'eclipse'
|
|
|
|
version = '0.9.0'
|
|
jar.enabled = true
|
|
archivesBaseName = 'video'
|
|
|
|
task resolveDeps(type: Copy) {
|
|
into('lib')
|
|
from configurations.default
|
|
from configurations.default.allArtifacts.file
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
mavenLocal()
|
|
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 = "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 = "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]"
|
|
}
|
|
mavenRepo name: "jboss", urls: "http://repository.jboss.org/nexus/content/groups/public-jboss"
|
|
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.7.RELEASE@jar'
|
|
providedCompile 'org.springframework:spring-context:4.0.7.RELEASE@jar'
|
|
providedCompile 'org.springframework:spring-core:4.0.7.RELEASE@jar'
|
|
|
|
// Red5
|
|
providedCompile 'org/red5:red5-server:1.0.5-RELEASE@jar'
|
|
providedCompile 'org.red5:red5-server-common:1.0.5-RELEASE@jar'
|
|
providedCompile 'org.red5:red5-io:1.0.5-RELEASE@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'
|
|
compile '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'
|
|
|
|
//redis
|
|
compile 'redis.clients:jedis:2.0.0'
|
|
providedCompile 'commons-pool:commons-pool:1.5.6'
|
|
compile 'com.google.code.gson:gson:1.7.1'
|
|
|
|
compile 'org.bigbluebutton:bbb-common-message:0.0.5'
|
|
}
|
|
|
|
test {
|
|
useTestNG()
|
|
}
|
|
|
|
war.doLast {
|
|
ant.unzip(src: war.archivePath, dest: "$buildDir/video")
|
|
}
|
|
|
|
|
|
task deploy() << {
|
|
def red5AppsDir = '/usr/share/red5/webapps'
|
|
def videoDir = new File("${red5AppsDir}/video")
|
|
if (videoDir.exists()) ant.delete(dir: videoDir)
|
|
ant.mkdir(dir: videoDir)
|
|
ant.copy(todir: videoDir) {
|
|
fileset(dir: "$buildDir/video")
|
|
}
|
|
}
|
|
|