corda/samples/bank-of-corda-demo/build.gradle

148 lines
3.8 KiB
Groovy
Raw Normal View History

Bank of Corda demo - Issuer of Cash Resolve BankOfCorda through NMS in protocol Fixes following Integration testing. Register custom RPC Kryo classes. Protocol -> Flow renaming Bank of Corda demo - Issuer of Cash Resolve BankOfCorda through NMS in protocol Fixes following Integration testing. Protocol -> Flow renaming Addressed all comments in PR review. Removed bank lines. Updated minor inconsistency in README.md All protocol references changed to flow. changed protocol -> flow in TODO comment. changed startProtocolPermission -> startFlowPermission in README.md Added transaction id to IssuerFlow Success response. Removed explicit call to record Cash Move transaction (as already recorded in subflow) Removed quasar dependency. Addressed comment in PR. Updated to use CompositeKey. Added arguments to pass in Currency and Amount. Updated run configurations to pass in Currency and Amount values Added additional parameter to IssuerFlow request: issueToPartyReference Added Vault updates verification in RPC Integration test. Fixed RPC Integration test (Vault assertions) Updated run-time dependencies in line with other demos. Applied changes following PR review (exception handling, party resolution handling, docs) Updated gradle client run configs with new parameters. Main driver app now uses standard out for display (was using logger info() but nothing was being displayed because of restrictive config) Fixed formatting display problems. Updated Web Api code to use new CordaRPCOps interface (and new partyFromName() exposed method) Removed unused import.
2016-11-18 17:51:12 +00:00
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'
repositories {
mavenLocal()
mavenCentral()
jcenter()
maven {
url 'https://dl.bintray.com/kotlin/exposed'
}
}
sourceSets {
main {
resources {
srcDir "../../config/dev"
}
}
test {
resources {
srcDir "../../config/test"
}
}
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:$kotlin_version"
testCompile group: 'junit', name: 'junit', version: '4.11'
// Corda integration dependencies
runtime project(path: ":node", configuration: 'runtimeArtifacts')
compile project(':core')
compile project(':client')
compile project(':node')
compile project(':finance')
compile project(':test-utils')
// Javax is required for webapis
compile "org.glassfish.jersey.core:jersey-server:${jersey_version}"
}
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: [':install', 'build']) {
directory "./build/nodes"
// This name "Notary" is hard-coded into BankOfCordaClientApi 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 "Notary"
node {
name "Notary"
dirName "notary"
nearestCity "London"
advertisedServices = ["corda.notary.validating"]
artemisPort 10002
webPort 10003
cordapps = []
}
node {
name "BankOfCorda"
dirName "node-bank-of-corda"
nearestCity "London"
advertisedServices = []
artemisPort 10004
webPort 10005
cordapps = []
// TODO: task needs to parse this item when generating node.conf
// rpcUsers : [
// { user=user1, password=test, permissions=[ StartFlow.net.corda.bank.flow.IssuerFlow$IssuanceRequester ] }
// ]
}
node {
name "BigCorporation"
dirName "node-big-corp"
nearestCity "New York"
advertisedServices = []
artemisPort 10006
webPort 10007
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 'bankofcorda'
artifact sourceJar
artifact javadocJar
}
}
}
task runIssuer(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = 'net.corda.bank.BankOfCordaDriverKt'
args '--role'
args 'ISSUER'
}
task runRPCCashIssue(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = 'net.corda.bank.BankOfCordaDriverKt'
args '--role'
args 'ISSUE_CASH_RPC'
args '--quantity'
args 20000
args '--currency'
args 'USD'
}
task runWebCashIssue(type: JavaExec) {
classpath = sourceSets.main.runtimeClasspath
main = 'net.corda.bank.BankOfCordaDriverKt'
args '--role'
args 'ISSUE_CASH_WEB'
args '--quantity'
args 30000
args '--currency'
args 'GBP'
}