bigbluebutton-Github/bigbluebutton-apps/build.gradle
2019-01-09 15:39:12 +01:00

97 lines
2.9 KiB
Groovy
Executable File

plugins {
id 'java'
id 'war'
id 'eclipse'
id 'idea'
}
version = '0.10.0'
jar.enabled = true
def appName = 'bigbluebutton'
archivesBaseName = appName
task resolveDeps(type: Copy) {
into('lib')
from configurations.default
from configurations.default.allArtifacts.file
doLast { println '[bbb:task] Resolved dependencies for bigbluebutton application' }
}
repositories {
jcenter()
mavenLocal()
}
configurations {
runtime.exclude group: "org.slf4j", module: "slf4j-api"
runtime.exclude group: "org.red5", module: "red5-server"
runtime.exclude group: "org.red5", module: "red5-server-common"
runtime.exclude group: "org.red5", module: "red5-io"
}
dependencies {
// Servlet
providedCompile 'javax.servlet:servlet-api:2.5'
// Mina
providedCompile 'org.apache.mina:mina-core:2.0.19'
providedCompile 'org.apache.mina:mina-integration-beans:2.0.19'
providedCompile 'org.apache.mina:mina-integration-jmx:2.0.19'
// Spring
providedCompile 'org.springframework:spring-web:4.3.12.RELEASE'
providedCompile 'org.springframework:spring-beans:4.3.12.RELEASE'
providedCompile 'org.springframework:spring-context:4.3.12.RELEASE'
providedCompile 'org.springframework:spring-core:4.3.12.RELEASE'
// Red5
providedCompile 'org.red5:red5-server:1.0.10-M9'
providedCompile 'org.red5:red5-server-common:1.0.10-M9'
providedCompile 'org.red5:red5-io:1.0.10-M9'
// Logging
providedCompile 'ch.qos.logback:logback-core:1.2.3'
providedCompile 'ch.qos.logback:logback-classic:1.2.3'
providedCompile 'org.slf4j:log4j-over-slf4j:1.7.25'
providedCompile 'org.slf4j:jcl-over-slf4j:1.7.25'
providedCompile 'org.slf4j:jul-to-slf4j:1.7.25'
providedCompile 'org.slf4j:slf4j-api:1.7.25'
// 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.3.12.RELEASE'
compile 'aopalliance:aopalliance:1.0'
// Testing
compile 'org.easymock:easymock:3.6'
compile 'org.apache.commons:commons-pool2:2.6.0'
compile 'com.google.code.gson:gson:2.8.5'
providedCompile 'org.apache.commons:commons-lang3:3.7'
compile 'org.bigbluebutton:bbb-common-message_2.12:0.0.20-SNAPSHOT'
compile 'org.bigbluebutton:bbb-apps-common_2.12:0.0.4-SNAPSHOT'
}
test { useTestNG() }
war.doLast {
ant.unzip(src: war.archivePath, dest: "$buildDir/$appName")
println '[bbb:task] WAR file ready for bigbluebutton application'
}
task deploy() {
doLast {
def red5AppsDir = '/usr/share/red5/webapps'
def bbbDir = new File("${red5AppsDir}/$appName")
println "Deleting $red5AppsDir"
ant.delete(dir: bbbDir)
ant.mkdir(dir: bbbDir)
ant.copy(todir: bbbDir) {
fileset(dir: "$buildDir/$appName")
}
println '[bbb:task] WAR file deployed for bigbluebutton application'
}
}