ext { commonsio_version = '2.6' cucumber_version = '1.2.5' crash_version = 'cce5a00f114343c1145c1d7756e1dd6df3ea984e' docker_client_version = '8.11.0' } group 'net.corda.behave' apply plugin: 'kotlin' sourceSets { behave { java { compileClasspath += main.output runtimeClasspath += main.output srcDirs = ["src/main/kotlin", "src/scenario/kotlin"] } resources.srcDir file('src/scenario/resources') } } configurations { behaveCompile.extendsFrom testCompile behaveRuntime.extendsFrom testRuntime } dependencies { // Library compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version" compile("com.github.corda.crash:crash.shell:$crash_version") { exclude group: "org.slf4j", module: "slf4j-jdk14" exclude group: "org.bouncycastle" } compile("com.github.corda.crash:crash.connectors.ssh:$crash_version") { exclude group: "org.slf4j", module: "slf4j-jdk14" exclude group: "org.bouncycastle" } compile "org.slf4j:log4j-over-slf4j:$slf4j_version" compile "org.slf4j:jul-to-slf4j:$slf4j_version" compile "org.slf4j:jcl-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" // ClassGraph: classpath scanning compile "io.github.classgraph:classgraph:$class_graph_version" compile "commons-io:commons-io:$commonsio_version" compile "com.spotify:docker-client:$docker_client_version" compile "io.reactivex:rxjava:$rxjava_version" compile project(':finance:contracts') compile project(':finance:workflows') compile project(':node-api') compile project(':client:rpc') // Unit Tests testImplementation "org.junit.jupiter:junit-jupiter-api:${junit_jupiter_version}" testCompile "org.junit.vintage:junit-vintage-engine:${junit_vintage_version}" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${junit_jupiter_version}" testRuntimeOnly "org.junit.platform:junit-platform-launcher:${junit_platform_version}" testCompile "org.assertj:assertj-core:$assertj_version" // Scenarios / End-to-End Tests behaveCompile "info.cukes:cucumber-java8:$cucumber_version" behaveCompile "info.cukes:cucumber-junit:$cucumber_version" behaveCompile "info.cukes:cucumber-picocontainer:$cucumber_version" } test { testLogging.showStandardStreams = true } task behaveJar(type: Jar) { baseName "corda-behave" from sourceSets.behave.output from { configurations.behaveCompile.collect { it.isDirectory() ? it : zipTree(it) } } zip64 true exclude("features/**") exclude("scripts/**") exclude("META-INF/*.DSA") exclude("META-INF/*.RSA") exclude("META-INF/*.SF") manifest { attributes 'Main-Class': 'net.corda.behave.scenarios.ScenarioRunner' } }