corda/experimental/behave/build.gradle
Shams Asari 20a589d66d Merge remote-tracking branch 'open/master' into os-merge-244167d
# Conflicts:
#	docs/source/example-code/src/main/kotlin/net/corda/docs/FlowCookbook.kt
#	docs/source/example-code/src/main/kotlin/net/corda/docs/LaunchSpaceshipFlow.kt
#	docs/source/example-code/src/main/kotlin/net/corda/docs/tutorial/tearoffs/TutorialTearOffs.kt
#	docs/source/running-a-node.rst
#	experimental/behave/build.gradle
#	experimental/behave/src/scenario/kotlin/net/corda/behave/scenarios/helpers/Substeps.kt
#	experimental/kryo-hook/build.gradle
#	experimental/quasar-hook/build.gradle
#	node/src/integration-test/kotlin/net/corda/node/AuthDBTests.kt
#	node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt
#	node/src/test/java/net/corda/node/services/vault/VaultQueryJavaTests.java
#	node/src/test/kotlin/net/corda/node/internal/NodeTest.kt
#	node/src/test/kotlin/net/corda/node/services/messaging/ArtemisMessagingTest.kt
#	node/src/test/kotlin/net/corda/node/services/persistence/HibernateConfigurationTest.kt
#	samples/attachment-demo/src/integration-test/kotlin/net/corda/attachmentdemo/AttachmentDemoTest.kt
#	samples/irs-demo/src/integration-test/kotlin/net/corda/test/spring/SpringDriver.kt
#	testing/node-driver/src/main/kotlin/net/corda/testing/node/internal/NodeBasedTest.kt
2018-07-04 18:38:34 +01:00

155 lines
4.4 KiB
Groovy

/*
* 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.
*/
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'
apply plugin: 'net.corda.plugins.publish-utils'
sourceSets {
behave {
kotlin {
compileClasspath += main.output
runtimeClasspath += main.output
srcDirs = ['src/main/kotlin', 'src/scenario/kotlin']
}
resources.srcDir file('src/scenario/resources')
}
smokeTest {
kotlin {
compileClasspath += main.output + test.output
runtimeClasspath += main.output + test.output
srcDir file('src/smoke-test/kotlin')
}
resources {
srcDirs = ['src/scenario/resources']
}
}
}
configurations {
behaveCompile.extendsFrom testCompile
behaveRuntime.extendsFrom testRuntime
smokeTestCompile.extendsFrom testCompile
smokeTestRuntime.extendsFrom testRuntime
testArtifacts.extendsFrom behaveRuntime
}
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"
// FastClasspathScanner: classpath scanning
compile "io.github.lukehutch:fast-classpath-scanner:$fast_classpath_scanner_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')
compile project(':node-api')
compile project(':client:rpc')
// dependency on CordaHttpToRPC proxy
compile project(':testing:qa:behave:tools:rpc-proxy')
testCompile project(':test-utils')
// 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"
}
test {
testLogging.showStandardStreams = true
}
task smokeTest(type: Test) {
testClassesDirs = sourceSets.smokeTest.output.classesDirs
classpath = sourceSets.smokeTest.runtimeClasspath
}
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'
}
}
task apiJar(type: Jar, dependsOn: classes) {
baseName "corda-behave-api"
from sourceSets.behave.output
from {
configurations.behaveCompile.collect {
it.isDirectory() ? it : zipTree(it)
}
}
from project(':client:rpc').configurations.compile.collect { zipTree it }
with jar
include 'net/corda/behave/scenarios/**'
include 'cucumber/api/**'
include 'io/github/lukehutch/**'
exclude '**/features/**'
exclude '**/scripts/**'
}
artifacts {
testArtifacts apiJar
}
jar.finalizedBy (apiJar, behaveJar)