corda/samples/trader-demo/build.gradle

152 lines
3.9 KiB
Groovy
Raw Normal View History

2016-11-17 11:03:40 +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"
2016-11-17 11:03:40 +00:00
}
}
test {
resources {
srcDir "../../config/test"
2016-11-17 11:03:40 +00:00
}
}
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 "junit:junit:$junit_version"
2016-11-17 11:03:40 +00:00
// Corda integration dependencies
runtime project(path: ":node:capsule", configuration: 'runtimeArtifacts')
2016-11-17 15:33:06 +00:00
compile project(':core')
compile project(':finance')
compile project(':test-utils')
2016-11-17 11:03:40 +00:00
Bank of Corda integration with Trader Demo and Explorer Initial conversion of Explorer to use IssuerFlow (from BankOfCorda) Initial conversion of TraderDemo to use IssuerFlow (from BankOfCorda) Updated TraderDemo to use IssuerFlow (from BankOfCorda) Fixed TraderDemo integration text (added new BankOfCorda node) Updated Explorer with changes IssuerRequest params Explorer now correctly displaying transaction id upon Issue. Moved IssuerFlow into finance package so can be reused across multiple demos (TraderDemo) and applications (eg Explorer) Refactored BankOfCorda demo to use Finance package and TestUtil constants Updated TraderDemo to use IssuerFlow Updated Explorer to use finance package IssuerFlow. Advertised BankOfCorda as Issuer for usage by Explorer. Explorer no longer depends on BankOfCorda demo since IssuerFlow promoted to Finance module Added IssuerFlow to AbstractNode whitelist. Explicit declarations of IssuerFlow no longer required. Added plugin registration of IssuerFlow at bootstrap. Revert whitelisting of IssuerFlow (plugin configured) Refactored to use constant BOC definition. Added gradle RPC security config. Updated documentation Fixed incorrect references. Renamed Issuer banks. Added new permission set (for Issuer nodes) Added node nearestCity info Added new Issuer Event Generator for Issuer nodes only Associated currency with issuer using ServiceType naming structure. Added argument flag (-S) to trigger event generator simulation node. Fixed problem with issuers not resolving from network map. Updated perms on Issuer rpc proxy nodes. Fixed minor in cash generateExit identified by Explorer. Changes applied in prep for AWG demo. Added IntelliJ run-configurations for launching Explorer demo nodes (with and without simulation) Updated documentation (and added additional gradle task to launch Explorer nodes in simulation mode). Fix following rebase. Addressed review items from PR. Updated TraderDemo readme. Updated TraderDemo gradle file to launch Bank of Corda node. Updated JRE properties. Updated IssuerModel to incorporate correct JFX Observable handling. Fixed bug with Exit command not displaying any currency. Added TODO's for revisiting correct Exception handling strategy. Optimization for when issuing cash to self. Minor updates following PR review. Remove old refs to Royal Mint and Federal Reserve
2016-12-06 16:16:47 +00:00
// Corda Plugins: dependent flows and services
compile project(':samples:bank-of-corda-demo')
2016-11-17 11:03:40 +00:00
// 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: ['build']) {
ext.rpcUsers = [['user': "demo", 'password': "demo", 'permissions': [
'StartFlow.net.corda.flows.IssuerFlow$IssuanceRequester',
"StartFlow.net.corda.traderdemo.flow.SellerFlow"
]]]
2016-11-17 11:03:40 +00:00
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 "Notary"
2016-11-17 11:03:40 +00:00
node {
name "Notary"
2016-11-17 11:03:40 +00:00
nearestCity "London"
advertisedServices = ["corda.notary.validating"]
artemisPort 10002
webPort 10003
cordapps = []
}
node {
name "Bank A"
2016-11-17 11:03:40 +00:00
nearestCity "London"
advertisedServices = []
artemisPort 10004
webPort 10005
cordapps = []
rpcUsers = ext.rpcUsers
2016-11-17 11:03:40 +00:00
}
node {
name "Bank B"
2016-11-17 11:03:40 +00:00
nearestCity "New York"
advertisedServices = []
artemisPort 10006
webPort 10007
cordapps = []
rpcUsers = ext.rpcUsers
2016-11-17 11:03:40 +00:00
}
Bank of Corda integration with Trader Demo and Explorer Initial conversion of Explorer to use IssuerFlow (from BankOfCorda) Initial conversion of TraderDemo to use IssuerFlow (from BankOfCorda) Updated TraderDemo to use IssuerFlow (from BankOfCorda) Fixed TraderDemo integration text (added new BankOfCorda node) Updated Explorer with changes IssuerRequest params Explorer now correctly displaying transaction id upon Issue. Moved IssuerFlow into finance package so can be reused across multiple demos (TraderDemo) and applications (eg Explorer) Refactored BankOfCorda demo to use Finance package and TestUtil constants Updated TraderDemo to use IssuerFlow Updated Explorer to use finance package IssuerFlow. Advertised BankOfCorda as Issuer for usage by Explorer. Explorer no longer depends on BankOfCorda demo since IssuerFlow promoted to Finance module Added IssuerFlow to AbstractNode whitelist. Explicit declarations of IssuerFlow no longer required. Added plugin registration of IssuerFlow at bootstrap. Revert whitelisting of IssuerFlow (plugin configured) Refactored to use constant BOC definition. Added gradle RPC security config. Updated documentation Fixed incorrect references. Renamed Issuer banks. Added new permission set (for Issuer nodes) Added node nearestCity info Added new Issuer Event Generator for Issuer nodes only Associated currency with issuer using ServiceType naming structure. Added argument flag (-S) to trigger event generator simulation node. Fixed problem with issuers not resolving from network map. Updated perms on Issuer rpc proxy nodes. Fixed minor in cash generateExit identified by Explorer. Changes applied in prep for AWG demo. Added IntelliJ run-configurations for launching Explorer demo nodes (with and without simulation) Updated documentation (and added additional gradle task to launch Explorer nodes in simulation mode). Fix following rebase. Addressed review items from PR. Updated TraderDemo readme. Updated TraderDemo gradle file to launch Bank of Corda node. Updated JRE properties. Updated IssuerModel to incorporate correct JFX Observable handling. Fixed bug with Exit command not displaying any currency. Added TODO's for revisiting correct Exception handling strategy. Optimization for when issuing cash to self. Minor updates following PR review. Remove old refs to Royal Mint and Federal Reserve
2016-12-06 16:16:47 +00:00
node {
name "BankOfCorda"
nearestCity "London"
advertisedServices = []
artemisPort 10008
webPort 10009
cordapps = []
}
2016-11-17 11:03:40 +00:00
}
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'
}