mirror of
https://github.com/corda/corda.git
synced 2024-12-22 06:17:55 +00:00
47b1ec49aa
Fix Bank of Corda, Trader and Notary demos. In Notary demo, introduce deployNodes task, that deploys all three types of Notary into different directories (so there is no need to do clean, when you want to run them one after another).
133 lines
3.8 KiB
Groovy
133 lines
3.8 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"
|
|
testCompile "junit:junit:$junit_version"
|
|
testCompile "org.assertj:assertj-core:${assertj_version}"
|
|
|
|
// Corda integration dependencies
|
|
runtime project(path: ":node:capsule", configuration: 'runtimeArtifacts')
|
|
runtime project(path: ":webserver:webcapsule", configuration: 'runtimeArtifacts')
|
|
compile project(':core')
|
|
compile project(':finance')
|
|
compile project(':test-utils')
|
|
|
|
// Corda Plugins: dependent flows and services
|
|
compile project(':samples:bank-of-corda-demo')
|
|
|
|
// Javax is required for webapis
|
|
compile "org.glassfish.jersey.core:jersey-server:${jersey_version}"
|
|
|
|
// GraphStream: For visualisation (required by ExampleClientRPC app)
|
|
compile "org.graphstream:gs-core:1.3"
|
|
compile("org.graphstream:gs-ui:1.3") {
|
|
exclude group: "bouncycastle"
|
|
}
|
|
|
|
// Cordapp dependencies
|
|
// Specify your cordapp's dependencies below, including dependent cordapps
|
|
}
|
|
|
|
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
|
|
ext.rpcUsers = [['username': "demo", 'password': "demo", 'permissions': [
|
|
'StartFlow.net.corda.flows.IssuerFlow$IssuanceRequester',
|
|
"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=London,C=UK"
|
|
node {
|
|
name "CN=Notary Service,O=R3,OU=corda,L=London,C=UK"
|
|
nearestCity "London"
|
|
advertisedServices = ["corda.notary.validating"]
|
|
p2pPort 10002
|
|
cordapps = []
|
|
}
|
|
node {
|
|
name "CN=Bank A,O=Bank A,L=London,C=UK"
|
|
nearestCity "London"
|
|
advertisedServices = []
|
|
p2pPort 10005
|
|
rpcPort 10006
|
|
cordapps = []
|
|
rpcUsers = ext.rpcUsers
|
|
}
|
|
node {
|
|
name "CN=Bank B,O=Bank B,L=New York,C=US"
|
|
nearestCity "New York"
|
|
advertisedServices = []
|
|
p2pPort 10008
|
|
rpcPort 10009
|
|
cordapps = []
|
|
rpcUsers = ext.rpcUsers
|
|
}
|
|
node {
|
|
name "CN=BankOfCorda,O=R3,L=New York,C=US"
|
|
nearestCity "London"
|
|
advertisedServices = []
|
|
p2pPort 10011
|
|
cordapps = []
|
|
}
|
|
}
|
|
|
|
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 runBuyer(type: JavaExec) {
|
|
classpath = sourceSets.main.runtimeClasspath
|
|
main = 'net.corda.traderdemo.TraderDemoKt'
|
|
args '--role'
|
|
args 'BUYER'
|
|
}
|
|
|
|
task runSeller(type: JavaExec) {
|
|
classpath = sourceSets.main.runtimeClasspath
|
|
main = 'net.corda.traderdemo.TraderDemoKt'
|
|
args '--role'
|
|
args 'SELLER'
|
|
}
|