corda/samples/raft-notary-demo/build.gradle
Andrius Dagys 5bf1c9d3d4 Demo bug fixes (#217)
* 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..
2017-02-06 15:57:19 +00:00

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'
}