buildscript { ext.commonsio_version = '2.6' ext.commonslogging_version = '1.2' ext.cucumber_version = '1.2.5' ext.crash_version = 'cce5a00f114343c1145c1d7756e1dd6df3ea984e' ext.docker_client_version = '8.11.0' repositories { maven { jcenter() url 'https://jitpack.io' } } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } group 'net.corda.behave' apply plugin: 'java' apply plugin: 'kotlin' sourceCompatibility = 1.8 repositories { mavenCentral() } 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.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" // FastClasspathScanner: classpath scanning compile 'io.github.lukehutch:fast-classpath-scanner:2.12.3' compile "commons-io:commons-io:$commonsio_version" compile "commons-logging:commons-logging:$commonslogging_version" compile "com.spotify:docker-client:$docker_client_version" compile "io.reactivex:rxjava:$rxjava_version" compile project(':finance') compile project(':node-api') compile project(':client:rpc') // Unit Tests testCompile "junit:junit:$junit_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" } compileKotlin { kotlinOptions.jvmTarget = "1.8" } compileTestKotlin { kotlinOptions.jvmTarget = "1.8" } 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' } }