/* * R3 Proprietary and Confidential * * Copyright (c) 2018 R3 Limited. All rights reserved. * * The intellectual and technical concepts contained herein are proprietary to R3 and its suppliers and are protected by trade secret law. * * Distribution of this file or any portion thereof via any medium without the express permission of R3 is strictly prohibited. */ 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 { scenario { java { compileClasspath += main.output runtimeClasspath += main.output srcDir file('src/scenario/kotlin') } resources.srcDir file('src/scenario/resources') } } configurations { scenarioCompile.extendsFrom testCompile scenarioRuntime.extendsFrom testRuntime } dependencies { // Library compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$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 scenarioCompile "info.cukes:cucumber-java8:$cucumber_version" scenarioCompile "info.cukes:cucumber-junit:$cucumber_version" scenarioCompile "info.cukes:cucumber-picocontainer:$cucumber_version" } compileKotlin { kotlinOptions.jvmTarget = "1.8" } compileTestKotlin { kotlinOptions.jvmTarget = "1.8" } compileScenarioKotlin { kotlinOptions.jvmTarget = "1.8" } test { testLogging.showStandardStreams = true } task scenarios(type: Test) { setTestClassesDirs sourceSets.scenario.output.getClassesDirs() classpath = sourceSets.scenario.runtimeClasspath outputs.upToDateWhen { false } if (project.hasProperty("tags")) { systemProperty "cucumber.options", "--tags $tags" logger.warn("Only running tests tagged with: $tags ...") } } //scenarios.mustRunAfter test //scenarios.dependsOn test