bigbluebutton-Github/bigbluebutton-apps/build.gradle
2011-05-28 17:57:09 +00:00

141 lines
5.5 KiB
Groovy
Executable File

usePlugin 'scala'
usePlugin 'groovy'
usePlugin 'java'
usePlugin 'war'
usePlugin 'eclipse'
version = '0.7'
jar.enabled = true
def appName = 'bigbluebutton'
archivesBaseName = appName
task resolveDeps(dependsOn: configurations.default.buildArtifacts, type: Copy) {
into('lib')
from configurations.default
from configurations.default.allArtifacts*.file
}
repositories {
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/ivy/bundles/external/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
addArtifactPattern "http://repository.springsource.com/ivy/bundles/release/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
}
}
mavenRepo urls: 'http://scala-tools.org/repo-releases/'
flatDir name: 'fileRepo', dirs: System.getenv()['FLAT_REPO']
}
dependencies {
// JMS
compile 'org.apache.activemq:activemq-core:5.1.0@jar'
compile 'org/apache/geronimo:geronimo-j2ee-management_1.0_spec:1.0@jar'
compile 'org/apache/geronimo:geronimo-jms_1.1_spec:1.0@jar'
// Servlet
providedCompile 'javax.servlet:servlet-api:2.5@jar'
// Mina
providedCompile 'org.apache.mina:mina-core:2.0.0-RC1@jar'
providedCompile 'org.apache.mina:mina-integration-spring:1.1.7@jar'
// Asterisk-Java
compile 'org.asteriskjava:asterisk-java:1.0.0.M3@jar'
// Spring
providedCompile 'org.springframework:spring-web:3.0.5.RELEASE@jar', 'aopalliance:aopalliance:1.0:@jar'
providedCompile 'org.springframework:spring-beans:3.0.5.RELEASE@jar'
providedCompile 'org.springframework:spring-context:3.0.5.RELEASE@jar', 'org.springframework:spring-core:3.0.5.RELEASE@jar'
compile 'org.springframework:spring-tx:3.0.5.RELEASE@jar', 'org.springframework:spring-jms:3.0.5.RELEASE@jar'
compile 'org.springframework:spring-aop:3.0.5.RELEASE@jar'
// Spring Integration
compile 'org.springframework.integration:spring-integration-core:2.0.3.RELEASE@jar'
compile 'org/spring/integration:spring-integration-adapter:2.0.0.M2@jar'
compile 'org.springframework.integration:spring-integration-stream:2.0.3.RELEASE@jar'
compile 'org.springframework.integration:spring-integration-file:2.0.3.RELEASE@jar'
compile 'org.springframework.integration:spring-integration-jms:2.0.3.RELEASE@jar'
// Red5
providedCompile 'org/red5:red5:1.0rc1@jar'
// Logging
providedCompile ':logback-core:0.9.18@jar', ':logback-classic:0.9.18@jar', ':slf4j-api:1.5.10@jar'
providedCompile ':jcl-over-slf4j:1.5.10@jar', ':log4j-over-slf4j:1.5.10@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:1.5.1'
compile 'commons-pool:commons-pool:1.5.5'
compile 'org/bigbluebutton/common:bbb-common-message:0.8@jar'
// Freeswitch ESL Client
compile 'org/freeswitch:fs-esl-client:0.8.1@jar'
compile 'org.jboss.netty:netty:3.2.1.Final@jar'
}
test {
useTestNG()
}
war.doLast {
ant.unzip(src: war.archivePath, dest: "$buildDir/$appName")
ant.copy(file: "$buildDir/$appName/WEB-INF/logback-bigbluebutton.xml", todir: "$buildDir/$appName/WEB-INF/classes")
}
task deploy() << {
def red5AppsDir = '/usr/share/red5/webapps'
def bbbDir = new File("${red5AppsDir}/$appName")
println "Deleting $bbbDir"
ant.delete(dir: bbbDir)
ant.mkdir(dir: bbbDir)
ant.copy(todir: bbbDir) {
fileset(dir: "$buildDir/$appName")
}
}