description = "Spring TestContext Framework" apply plugin: "io.spring.dependency-management" dependencyManagement { imports { mavenBom "io.projectreactor:reactor-bom:${reactorVersion}" mavenBom "io.netty:netty-bom:${nettyVersion}" } resolutionStrategy { cacheChangingModulesFor 0, 'seconds' } applyMavenExclusions = false } dependencies { compile(project(":spring-core")) optional(project(":spring-aop")) optional(project(":spring-beans")) optional(project(":spring-context")) optional(project(":spring-jdbc")) optional(project(":spring-orm")) optional(project(":spring-tx")) optional(project(":spring-web")) optional(project(":spring-webflux")) optional(project(":spring-webmvc")) optional(project(":spring-websocket")) optional("junit:junit:4.12") optional("org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}") optional("org.testng:testng:6.11") optional("javax.inject:javax.inject:1") optional("javax.servlet:javax.servlet-api:4.0.0") optional("javax.servlet.jsp:javax.servlet.jsp-api:2.3.2-b02") optional("javax.servlet.jsp.jstl:javax.servlet.jsp.jstl-api:1.2.1") optional("org.apache.taglibs:taglibs-standard-jstlel:1.2.5") { exclude group: "org.apache.taglibs", module: "taglibs-standard-spec" } optional("javax.el:javax.el-api:3.0.1-b04") optional("javax.websocket:javax.websocket-api:1.1") optional("javax.activation:activation:${activationVersion}") optional("javax.xml.bind:jaxb-api:${jaxbVersion}") optional("org.aspectj:aspectjweaver:${aspectjVersion}") optional("org.codehaus.groovy:groovy-all:${groovyVersion}") optional("org.hamcrest:hamcrest-core:1.3") optional("net.sourceforge.htmlunit:htmlunit:2.27") { exclude group: "commons-logging", module: "commons-logging" } optional("org.seleniumhq.selenium:htmlunit-driver:2.27") optional("org.seleniumhq.selenium:selenium-java:3.4.0") { exclude group: "io.netty", module: "netty" } optional("org.xmlunit:xmlunit-matchers:2.3.0") optional("org.skyscreamer:jsonassert:1.5.0") optional("com.jayway.jsonpath:json-path:2.4.0") optional("org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}") optional("org.jetbrains.kotlin:kotlin-stdlib:${kotlinVersion}") optional("io.projectreactor:reactor-test") testCompile(project(":spring-context-support")) testCompile(project(":spring-oxm")) testCompile("javax.mail:javax.mail-api:${javamailVersion}") testCompile("javax.ejb:javax.ejb-api:3.2") testCompile("javax.interceptor:javax.interceptor-api:1.2") testCompile("javax.cache:cache-api:1.0.0") testCompile("org.hibernate:hibernate-core:5.2.10.Final") testCompile("org.hibernate:hibernate-validator:6.0.1.Final") // Enable use of the JUnitPlatform Runner testCompile("org.junit.platform:junit-platform-runner:${junitPlatformVersion}") testCompile("org.junit.jupiter:junit-jupiter-params:${junitJupiterVersion}") testCompile("com.fasterxml.jackson.core:jackson-databind:${jackson2Version}") testCompile("com.thoughtworks.xstream:xstream:1.4.10") testCompile("com.rometools:rome:1.7.4") testCompile("org.apache.tiles:tiles-api:${tiles3Version}") testCompile("org.apache.tiles:tiles-core:${tiles3Version}") { exclude group: "org.slf4j", module: "jcl-over-slf4j" } testCompile("org.apache.tiles:tiles-servlet:${tiles3Version}") { exclude group: "org.slf4j", module: "jcl-over-slf4j" } testCompile("org.hsqldb:hsqldb:${hsqldbVersion}") testCompile("org.apache.httpcomponents:httpclient:${httpclientVersion}") { exclude group: "commons-logging", module: "commons-logging" } testCompile('io.projectreactor.ipc:reactor-netty') // Pull in the latest JUnit 5 Launcher API and the Vintage engine as well // so that we can run JUnit 4 tests in IntelliJ IDEA. testRuntime("org.junit.jupiter:junit-jupiter-engine:${junitJupiterVersion}") testRuntime("org.junit.platform:junit-platform-launcher:${junitPlatformVersion}") testRuntime("org.junit.vintage:junit-vintage-engine:${junitVintageVersion}") testCompile('de.bechte.junit:junit-hierarchicalcontextrunner:4.12.1') testRuntime("org.apache.logging.log4j:log4j-jul:${log4jVersion}") // Java Util Logging for JUnit 5 testRuntime("javax.annotation:javax.annotation-api:1.3") testRuntime("org.glassfish:javax.el:3.0.1-b08") testRuntime("com.sun.xml.bind:jaxb-core:${jaxbVersion}") testRuntime("com.sun.xml.bind:jaxb-impl:${jaxbVersion}") } task testNG(type: Test) { description = 'Runs TestNG tests.' useTestNG() scanForTestClasses = false include(["**/testng/**/*Tests.class", "**/testng/**/*Test.class"]) // Show STD_OUT & STD_ERR of the test JVM(s) on the console: // testLogging.showStandardStreams = true // forkEvery 1 reports.junitXml.destination = file("$buildDir/test-results") } test { description = 'Runs JUnit tests.' dependsOn testNG useJUnit() scanForTestClasses = false include(['**/*Tests.class', '**/*Test.class', '**/SpringJUnitJupiterTestSuite.class']) exclude(['**/testng/**/*.*']) // Java Util Logging for JUnit 5. // systemProperty('java.util.logging.manager', 'org.apache.logging.log4j.jul.LogManager') reports.junitXml.destination = file("$buildDir/test-results") } task aggregateTestReports(type: TestReport) { description = 'Aggregates JUnit and TestNG test reports.' destinationDir = test.reports.html.destination reportOn test, testNG } check.dependsOn aggregateTestReports