2018-09-03 16:38:52 +01:00

70 lines
2.2 KiB
Groovy

ext.byteman_version = "4.0.3"
apply plugin: 'kotlin'
apply plugin: 'idea'
apply plugin: 'net.corda.plugins.cordapp'
description 'A set of tools to perform Nodes High Availability testing'
configurations {
integrationTestCompile.extendsFrom testCompile
integrationTestRuntime.extendsFrom testRuntime
}
sourceSets {
integrationTest {
kotlin {
compileClasspath += main.output + test.output
runtimeClasspath += main.output + test.output
srcDir file('src/integration-test/kotlin')
}
resources {
srcDir file('src/integration-test/resources')
}
}
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
cordaCompile project(":client:rpc")
cordaCompile project(":node-api")
cordaCompile project(":finance")
cordaCompile project(":perftestcordapp")
// Logging
compile "org.slf4j:log4j-over-slf4j:$slf4j_version"
compile "org.apache.logging.log4j:log4j-slf4j-impl:$log4j_version"
compile "org.apache.logging.log4j:log4j-core:$log4j_version"
// JOptSimple: command line option parsing
compile "net.sf.jopt-simple:jopt-simple:$jopt_simple_version"
// Byteman for runtime (termination) rules injection on the running node
// Submission tool allowing to install rules on running nodes
compile "org.jboss.byteman:byteman-submit:$byteman_version"
// The actual Byteman agent which should only be in the classpath of the out of process nodes
integrationTestCompile "org.jboss.byteman:byteman:$byteman_version"
integrationTestCompile project(":test-utils")
integrationTestCompile project(":node-driver")
}
jar {
archiveName = "${project.name}.jar"
manifest {
attributes(
'Main-Class': 'net.corda.haTesting.Main',
'Implementation-Title': "HA Testing",
'Implementation-Version': rootProject.version
)
}
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
}
task integrationTest(type: Test) {
testClassesDirs = sourceSets.integrationTest.output.classesDirs
classpath = sourceSets.integrationTest.runtimeClasspath
}