bigbluebutton-Github/bigbluebutton-web/build.gradle
Anton Georgiev badfe80c4d
Merge pull request #16919 from paultrudel/exclude-graal-h2-dependencies
fix(sec): Exclude GraalVM and H2 Dependencies
2023-03-28 10:43:11 -04:00

166 lines
6.5 KiB
Groovy
Executable File

buildscript {
repositories {
mavenCentral()
mavenLocal()
maven { url "https://repo1.maven.org/maven2" }
maven { url "https://repo.grails.org/artifactory/core" }
maven { url "https://repo.grails.org/grails/core" }
}
dependencies {
classpath "org.grails:grails-gradle-plugin:${grailsGradlePluginVersion}"
classpath "org.grails.plugins:hibernate5:${gormVersion}"
classpath "com.bertramlabs.plugins:asset-pipeline-gradle:4.0.0"
classpath "gradle.plugin.com.github.erdi.webdriver-binaries:webdriver-binaries-gradle-plugin:2.6"
classpath "org.grails.plugins:views-gradle:2.1.1"
classpath "org.grails.plugins:views-json:2.1.1"
}
}
version "0.10.0"
group "org.bigbluebutton.web"
apply plugin: "eclipse"
apply plugin: "idea"
apply plugin: "war"
apply plugin: "org.grails.grails-web"
apply plugin: "com.bertramlabs.asset-pipeline"
apply plugin: "org.grails.grails-gsp"
apply plugin: "com.github.erdi.webdriver-binaries"
apply plugin: "org.grails.plugins.views-json"
task resolveDeps(type: Copy) {
into('lib')
from configurations.default
from configurations.default.allArtifacts.file
doLast { println '[bbb:task] Resolved dependencies for bigbluebutton-web application' }
}
// Task that creates the index file which lists all extra libs
task copyWebInf(type: Copy) {
into("${project.buildDir}/resources/main/")
from("src/main/webapp")
}
// make processResources depends on copyWebInf task
processResources.dependsOn copyWebInf
repositories {
mavenCentral()
mavenLocal()
maven { url "https://repo1.maven.org/maven2" }
maven { url "https://repo.grails.org/artifactory/core" }
maven { url "https://repo.grails.org/grails/core" }
}
dependencies {
runtimeOnly "com.bertramlabs.plugins:asset-pipeline-grails:4.0.0"
implementation "org.springframework:spring-core:5.3.21"
implementation "org.springframework:spring-context:5.3.21"
implementation "org.springframework.boot:spring-boot:${springVersion}"
implementation "org.springframework.boot:spring-boot-starter-logging:${springVersion}"
implementation "org.springframework.boot:spring-boot-autoconfigure:${springVersion}"
implementation "org.grails:grails-core:5.2.4"
implementation "org.springframework.boot:spring-boot-starter-actuator:${springVersion}"
implementation "org.springframework.boot:spring-boot-starter-tomcat:${springVersion}"
implementation "org.grails:grails-web-boot:5.2.5"
implementation "org.springframework:spring-webmvc:5.3.26"
implementation "org.grails:grails-logging"
implementation "org.grails:grails-plugin-rest:5.2.5"
implementation "org.grails:grails-plugin-databinding:5.2.4"
implementation "org.grails:grails-plugin-i18n"
implementation "org.grails:grails-plugin-services"
implementation "org.grails:grails-plugin-url-mappings"
implementation "org.grails:grails-plugin-interceptors"
implementation 'org.grails.plugins:external-config:1.2.2'
implementation "org.yaml:snakeyaml:1.31"
implementation "org.grails.plugins:views-json:2.1.1"
implementation "org.grails.plugins:cache"
implementation "org.apache.xmlbeans:xmlbeans:5.0.3"
implementation "org.grails:grails-gradle-plugin:5.1.4"
implementation "org.grails.plugins:async"
implementation "org.grails.plugins:scaffolding"
implementation "org.grails.plugins:events"
implementation "org.grails.plugins:gsp"
implementation "org.apache.tomcat.embed:tomcat-embed-core:${tomcatEmbedVersion}"
implementation "org.apache.tomcat.embed:tomcat-embed-el:${tomcatEmbedVersion}"
implementation "org.apache.tomcat.embed:tomcat-embed-websocket:${tomcatEmbedVersion}"
implementation "org.apache.tomcat:tomcat-annotations-api:${tomcatEmbedVersion}"
//--- BigBlueButton Dependencies Start - Transitive dependencies have to be re-defined below
implementation "org.bigbluebutton:bbb-common-message_2.13:0.0.22-SNAPSHOT"
implementation "org.bigbluebutton:bbb-common-web:0.0.3-SNAPSHOT"
implementation "io.lettuce:lettuce-core:6.1.9.RELEASE"
implementation "org.reactivestreams:reactive-streams:1.0.3"
implementation "io.projectreactor:reactor-core:3.4.12"
implementation "org.freemarker:freemarker:2.3.31"
implementation "com.google.code.gson:gson:2.8.9"
implementation "org.json:json:20211205"
implementation "com.zaxxer:nuprocess:2.0.6"
implementation "net.java.dev.jna:jna:5.10.0"
implementation "org.springframework.data:spring-data-commons:2.7.6"
// https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload
implementation group: 'commons-fileupload', name: 'commons-fileupload', version: '1.5'
implementation 'javax.validation:validation-api:2.0.1.Final'
implementation "org.springframework.boot:spring-boot-starter-validation:${springVersion}"
implementation 'org.postgresql:postgresql:42.4.3'
implementation 'org.hibernate:hibernate-core:5.6.1.Final'
//--- BigBlueButton Dependencies End
console "org.grails:grails-console:5.2.0"
profile "org.grails.profiles:web"
runtimeOnly "com.bertramlabs.plugins:asset-pipeline-grails:4.0.0"
testImplementation "org.grails:grails-gorm-testing-support"
testImplementation "org.grails.plugins:geb"
testImplementation "org.grails:grails-web-testing-support"
testRuntimeOnly "org.seleniumhq.selenium:selenium-chrome-driver:4.0.0"
testRuntimeOnly "org.seleniumhq.selenium:selenium-htmlunit-driver:2.47.1"
testRuntimeOnly "net.sourceforge.htmlunit:htmlunit:2.63.0"
testImplementation "com.github.javafaker:javafaker:0.12"
}
tasks.named('bootWarMainClassName') {
it.mustRunAfter(tasks.named('compileGsonViews'))
}
configurations.implementation {
exclude group: 'io.micronaut', module: 'micronaut-aop'
exclude group: 'com.h2database', module: 'h2'
exclude group: 'org.graalvm.sdk', module: 'graal-sdk'
}
configurations {
developmentOnly
runtimeClasspath {
extendsFrom developmentOnly
}
}
bootRun {
jvmArgs('-Dspring.output.ansi.enabled=always')
jvmArgs('-Dspring.main.allow-circular-references=true')
sourceResources sourceSets.main
String springProfilesActive = 'spring.profiles.active'
systemProperty springProfilesActive, System.getProperty(springProfilesActive)
}
assets {
minifyJs = true
minifyCss = true
}
test {
testLogging {
events = ["passed", "failed", "skipped"]
// Make sure output from
// standard out or error is shown
// in Gradle output.
showStandardStreams = true
showExceptions = true
showCauses = true
exceptionFormat = "full"
}
}