mirror of
https://github.com/corda/corda.git
synced 2025-02-07 11:30:22 +00:00
* 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.
182 lines
4.9 KiB
Groovy
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) |