corda/experimental/behave/build.gradle
josecoll 4afc7f3824
Behave: fix compilation problem in IntelliJ (#830)
* Sprinkled new gradle dust to make both IntelliJ and TC (gradle) compilation happy.

* Fix compilation problem once and for all + ignore the RPCProxyWebServiceTest smoke test.
2018-05-11 15:21:42 +01:00

182 lines
4.9 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.
*/
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'
apply plugin: 'net.corda.plugins.publish-utils'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
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.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')
// 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"
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
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)