mirror of
https://github.com/corda/corda.git
synced 2025-01-01 18:56:44 +00:00
5bf1c9d3d4
* Add webAddress back to NMS as it shifts the port allocation for all subsequent nodes and causes all demos to break. * Attachment demo: fix node names * Notary demo: fix certificate paths & ports * IRS demo: role decider fixed to allocate roles properly. Previously it used to pick current node as the Fixer, causing both nodes to initiate the trade flow, resulting in double spend exceptions..
143 lines
3.5 KiB
Groovy
143 lines
3.5 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'
|
|
|
|
ext {
|
|
deployTo = "./build/nodes"
|
|
notaryType = "corda.notary.validating.raft"
|
|
notaryName = "Raft"
|
|
advertisedNotary = "$notaryType|$notaryName"
|
|
}
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
mavenCentral()
|
|
jcenter()
|
|
maven {
|
|
url 'https://dl.bintray.com/kotlin/exposed'
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
resources {
|
|
srcDir "../../config/dev"
|
|
}
|
|
}
|
|
test {
|
|
resources {
|
|
srcDir "../../config/test"
|
|
}
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
integrationTestCompile.extendsFrom testCompile
|
|
integrationTestRuntime.extendsFrom testRuntime
|
|
}
|
|
|
|
dependencies {
|
|
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
testCompile "junit:junit:$junit_version"
|
|
|
|
// Corda integration dependencies
|
|
runtime project(path: ":node:capsule", configuration: 'runtimeArtifacts')
|
|
compile project(':core')
|
|
compile project(':client')
|
|
compile project(':node')
|
|
compile project(':test-utils')
|
|
|
|
// Javax is required for webapis
|
|
compile "org.glassfish.jersey.core:jersey-server:${jersey_version}"
|
|
}
|
|
|
|
idea {
|
|
module {
|
|
downloadJavadoc = true // defaults to false
|
|
downloadSources = true
|
|
}
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
jarAndSources(MavenPublication) {
|
|
from components.java
|
|
artifactId 'raftnotarydemo'
|
|
|
|
artifact sourceJar
|
|
artifact javadocJar
|
|
}
|
|
}
|
|
}
|
|
|
|
task generateNotaryIdentity(type: JavaExec) {
|
|
classpath = sourceSets.main.runtimeClasspath
|
|
main = "net.corda.node.utilities.ServiceIdentityGeneratorKt"
|
|
def nodeDirs = ["$deployTo/Notary1", "$deployTo/Notary2", "$deployTo/Notary3"].join(",")
|
|
args = [nodeDirs, notaryType, notaryName]
|
|
}
|
|
|
|
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['build', 'generateNotaryIdentity']) {
|
|
directory deployTo
|
|
networkMap "Notary 1"
|
|
node {
|
|
name "Party"
|
|
nearestCity "London"
|
|
advertisedServices = []
|
|
artemisPort 10002
|
|
webPort 10003
|
|
cordapps = []
|
|
rpcUsers = [['user': "demo", 'password': "demo", 'permissions': [
|
|
'StartFlow.net.corda.notarydemo.flows.DummyIssueAndMove',
|
|
'StartFlow.net.corda.flows.NotaryFlow$Client'
|
|
]]]
|
|
}
|
|
node {
|
|
name "Counterparty"
|
|
nearestCity "New York"
|
|
advertisedServices = []
|
|
artemisPort 10004
|
|
webPort 10005
|
|
cordapps = []
|
|
}
|
|
node {
|
|
name "Notary 1"
|
|
nearestCity "London"
|
|
advertisedServices = [advertisedNotary]
|
|
artemisPort 10007
|
|
webPort 10008
|
|
cordapps = []
|
|
notaryNodePort 11002
|
|
}
|
|
node {
|
|
name "Notary 2"
|
|
nearestCity "London"
|
|
advertisedServices = [advertisedNotary]
|
|
artemisPort 10010
|
|
webPort 10011
|
|
cordapps = []
|
|
notaryNodePort 11004
|
|
notaryClusterAddresses = ["localhost:11002"]
|
|
}
|
|
node {
|
|
name "Notary 3"
|
|
nearestCity "London"
|
|
advertisedServices = [advertisedNotary]
|
|
artemisPort 10013
|
|
webPort 10014
|
|
cordapps = []
|
|
notaryNodePort 11006
|
|
notaryClusterAddresses = ["localhost:11002"]
|
|
}
|
|
}
|
|
|
|
task notarise(type: JavaExec) {
|
|
classpath = sourceSets.main.runtimeClasspath
|
|
main = 'net.corda.notarydemo.NotaryDemoKt'
|
|
}
|
|
|