mirror of
https://github.com/corda/corda.git
synced 2025-01-17 10:20:02 +00:00
68035717f8
* Add regulator node to IRS demo * Revert API structure changes to ReceiveTransactionFlow Manually specify constructors to ReceiveTransactionFlow instead of using JvmOverloads, to ensure this behaves exactly as previously, rather than depending on Kotlin's generated constructors.
130 lines
3.7 KiB
Groovy
130 lines
3.7 KiB
Groovy
apply plugin: 'java'
|
|
apply plugin: 'kotlin'
|
|
apply plugin: 'idea'
|
|
apply plugin: 'net.corda.plugins.quasar-utils'
|
|
apply plugin: 'net.corda.plugins.publish-utils'
|
|
apply plugin: 'net.corda.plugins.cordformation'
|
|
apply plugin: 'maven-publish'
|
|
apply plugin: 'application'
|
|
|
|
mainClassName = 'net.corda.irs.IRSDemo'
|
|
|
|
sourceSets {
|
|
integrationTest {
|
|
kotlin {
|
|
compileClasspath += main.output + test.output
|
|
runtimeClasspath += main.output + test.output
|
|
srcDir file('src/integration-test/kotlin')
|
|
}
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
integrationTestCompile.extendsFrom testCompile
|
|
integrationTestRuntime.extendsFrom testRuntime
|
|
}
|
|
|
|
dependencies {
|
|
compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
|
|
|
|
// The irs demo CorDapp depends upon Cash CorDapp features
|
|
cordapp project(':finance')
|
|
|
|
// Corda integration dependencies
|
|
cordaCompile project(path: ":node:capsule", configuration: 'runtimeArtifacts')
|
|
cordaCompile project(path: ":webserver:webcapsule", configuration: 'runtimeArtifacts')
|
|
cordaCompile project(':core')
|
|
cordaCompile project(':webserver')
|
|
|
|
// Javax is required for webapis
|
|
compile "org.glassfish.jersey.core:jersey-server:${jersey_version}"
|
|
|
|
// Cordapp dependencies
|
|
// Specify your cordapp's dependencies below, including dependent cordapps
|
|
compile "com.squareup.okhttp3:okhttp:$okhttp_version"
|
|
|
|
testCompile project(':node-driver')
|
|
testCompile "junit:junit:$junit_version"
|
|
testCompile "org.assertj:assertj-core:${assertj_version}"
|
|
}
|
|
|
|
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
|
|
directory "./build/nodes"
|
|
networkMap "O=Notary Service,L=Zurich,C=CH"
|
|
node {
|
|
name "O=Notary Service,L=Zurich,C=CH"
|
|
advertisedServices = ["corda.notary.validating", "corda.interest_rates"]
|
|
p2pPort 10002
|
|
rpcPort 10003
|
|
webPort 10004
|
|
cordapps = ["net.corda:finance:$corda_release_version"]
|
|
useTestClock true
|
|
}
|
|
node {
|
|
name "O=Bank A,L=London,C=GB"
|
|
advertisedServices = []
|
|
p2pPort 10005
|
|
rpcPort 10006
|
|
webPort 10007
|
|
cordapps = ["net.corda:finance:$corda_release_version"]
|
|
useTestClock true
|
|
}
|
|
node {
|
|
name "O=Bank B,L=New York,C=US"
|
|
advertisedServices = []
|
|
p2pPort 10008
|
|
rpcPort 10009
|
|
webPort 10010
|
|
cordapps = ["net.corda:finance:$corda_release_version"]
|
|
useTestClock true
|
|
}
|
|
node {
|
|
name "O=Regulator,L=New York,C=US"
|
|
advertisedServices = []
|
|
p2pPort 10011
|
|
rpcPort 10012
|
|
webPort 10013
|
|
cordapps = ["net.corda:finance:$corda_release_version"]
|
|
useTestClock true
|
|
}
|
|
}
|
|
|
|
task integrationTest(type: Test, dependsOn: []) {
|
|
testClassesDirs = sourceSets.integrationTest.output.classesDirs
|
|
classpath = sourceSets.integrationTest.runtimeClasspath
|
|
}
|
|
|
|
// This fixes the "line too long" error when running this demo with windows CLI
|
|
// TODO: Automatically apply to all projects via a plugin
|
|
tasks.withType(CreateStartScripts).each { task ->
|
|
task.doLast {
|
|
String text = task.windowsScript.text
|
|
// Replaces the per file classpath (which are all jars in "lib") with a wildcard on lib
|
|
text = text.replaceFirst(/(set CLASSPATH=%APP_HOME%\\lib\\).*/, { "${it[1]}*" })
|
|
task.windowsScript.write text
|
|
}
|
|
}
|
|
|
|
idea {
|
|
module {
|
|
downloadJavadoc = true // defaults to false
|
|
downloadSources = true
|
|
}
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
jarAndSources(MavenPublication) {
|
|
from components.java
|
|
artifactId 'irsdemo'
|
|
|
|
artifact sourceJar
|
|
artifact javadocJar
|
|
}
|
|
}
|
|
}
|
|
|
|
jar {
|
|
from sourceSets.test.output
|
|
}
|