mirror of
https://github.com/corda/corda.git
synced 2025-05-08 19:48:11 +00:00
Re-enable code now DealState PR is in. Add plugable JSON serialisation Add docs for new plugin api. Move parseCurrency back to core to prevent dependency issues with crash shell parsing. Use :finance module as a proper CorDapp Move parseCurrency back onto Amount companion. Fix smoke tests Fixup after merge.
123 lines
3.6 KiB
Groovy
123 lines
3.6 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'
|
|
|
|
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 trader 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')
|
|
|
|
// Corda Plugins: dependent flows and services
|
|
cordapp project(':samples:bank-of-corda-demo')
|
|
|
|
testCompile project(':test-utils')
|
|
testCompile "junit:junit:$junit_version"
|
|
testCompile "org.assertj:assertj-core:${assertj_version}"
|
|
}
|
|
|
|
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
|
|
ext.rpcUsers = [['username': "demo", 'password': "demo", 'permissions': [
|
|
'StartFlow.net.corda.flows.CashIssueFlow',
|
|
'StartFlow.net.corda.traderdemo.flow.CommercialPaperIssueFlow',
|
|
'StartFlow.net.corda.traderdemo.flow.SellerFlow'
|
|
]]]
|
|
|
|
directory "./build/nodes"
|
|
// This name "Notary" is hard-coded into TraderDemoClientApi so if you change it here, change it there too.
|
|
// In this demo the node that runs a standalone notary also acts as the network map server.
|
|
networkMap "CN=Notary Service,O=R3,OU=corda,L=Zurich,C=CH"
|
|
node {
|
|
name "CN=Notary Service,O=R3,OU=corda,L=Zurich,C=CH"
|
|
advertisedServices = ["corda.notary.validating"]
|
|
p2pPort 10002
|
|
cordapps = ["net.corda:finance:$corda_release_version"]
|
|
}
|
|
node {
|
|
name "CN=Bank A,O=Bank A,L=London,C=GB"
|
|
advertisedServices = []
|
|
p2pPort 10005
|
|
rpcPort 10006
|
|
cordapps = ["net.corda:finance:$corda_release_version"]
|
|
rpcUsers = ext.rpcUsers
|
|
}
|
|
node {
|
|
name "CN=Bank B,O=Bank B,L=New York,C=US"
|
|
advertisedServices = []
|
|
p2pPort 10008
|
|
rpcPort 10009
|
|
cordapps = ["net.corda:finance:$corda_release_version"]
|
|
rpcUsers = ext.rpcUsers
|
|
}
|
|
node {
|
|
name "CN=BankOfCorda,O=R3,L=New York,C=US"
|
|
advertisedServices = []
|
|
p2pPort 10011
|
|
rpcPort 10012
|
|
cordapps = ["net.corda:finance:$corda_release_version"]
|
|
rpcUsers = ext.rpcUsers
|
|
}
|
|
}
|
|
|
|
task integrationTest(type: Test, dependsOn: []) {
|
|
testClassesDir = sourceSets.integrationTest.output.classesDir
|
|
classpath = sourceSets.integrationTest.runtimeClasspath
|
|
}
|
|
|
|
idea {
|
|
module {
|
|
downloadJavadoc = true // defaults to false
|
|
downloadSources = true
|
|
}
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
jarAndSources(MavenPublication) {
|
|
from components.java
|
|
artifactId 'traderdemo'
|
|
|
|
artifact sourceJar
|
|
artifact javadocJar
|
|
}
|
|
}
|
|
}
|
|
|
|
task runBank(type: JavaExec) {
|
|
classpath = sourceSets.main.runtimeClasspath
|
|
main = 'net.corda.traderdemo.TraderDemoKt'
|
|
args '--role'
|
|
args 'BANK'
|
|
}
|
|
|
|
task runSeller(type: JavaExec) {
|
|
classpath = sourceSets.main.runtimeClasspath
|
|
main = 'net.corda.traderdemo.TraderDemoKt'
|
|
args '--role'
|
|
args 'SELLER'
|
|
}
|