buildscript { ext.strata_version = '1.1.2' } apply plugin: 'java' apply plugin: 'kotlin' apply plugin: 'idea' apply plugin: 'net.corda.plugins.quasar-utils' apply plugin: 'net.corda.plugins.cordapp' apply plugin: 'net.corda.plugins.cordformation' 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" // The SIMM demo CorDapp depends upon Cash CorDapp features cordapp project(':finance') cordapp project(':samples:simm-valuation-demo:contracts-states') cordapp project(':samples:simm-valuation-demo:flows') // Corda integration dependencies cordaCompile project(path: ":node:capsule", configuration: 'runtimeArtifacts') cordaCompile project(path: ":webserver:webcapsule", configuration: 'runtimeArtifacts') cordaCompile project(':core') cordaCompile project(':webserver') // Javax is required for webapis compile "org.glassfish.jersey.core:jersey-server:${jersey_version}" // Cordapp dependencies // Specify your cordapp's dependencies below, including dependent cordapps compile "com.opengamma.strata:strata-basics:${strata_version}" compile "com.opengamma.strata:strata-product:${strata_version}" compile "com.opengamma.strata:strata-data:${strata_version}" compile "com.opengamma.strata:strata-calc:${strata_version}" compile "com.opengamma.strata:strata-pricer:${strata_version}" compile "com.opengamma.strata:strata-report:${strata_version}" compile "com.opengamma.strata:strata-market:${strata_version}" compile "com.opengamma.strata:strata-collect:${strata_version}" compile "com.opengamma.strata:strata-loader:${strata_version}" compile "com.opengamma.strata:strata-math:${strata_version}" // Test dependencies testCompile project(':node-driver') testCompile "junit:junit:$junit_version" testCompile "org.assertj:assertj-core:${assertj_version}" } task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) { ext.rpcUsers = [['username': "default", 'password': "default", 'permissions': ['ALL']]] directory "./build/nodes" node { name "O=Notary Service,L=Zurich,C=CH" notary = [validating: true] p2pPort 10002 cordapps = [project(':finance'), project(':samples:simm-valuation-demo:contracts-states'), project(':samples:simm-valuation-demo:flows')].collect { "${it.group}:${it.name}:${it.version}" } rpcSettings { address "localhost:10014" adminAddress "localhost:10015" } extraConfig = [ jvmArgs: ["-Xmx1g"] ] } node { name "O=Bank A,L=London,C=GB" p2pPort 10004 webPort 10005 rpcSettings { address("localhost:10016") adminAddress("localhost:10017") } cordapps = [project(':finance'), project(':samples:simm-valuation-demo:contracts-states'), project(':samples:simm-valuation-demo:flows')].collect { "${it.group}:${it.name}:${it.version}" } rpcUsers = ext.rpcUsers extraConfig = [ jvmArgs: ["-Xmx1g"] ] } node { name "O=Bank B,L=New York,C=US" p2pPort 10007 webPort 10008 rpcSettings { address("localhost:10026") adminAddress("localhost:10027") } cordapps = [project(':finance'), project(':samples:simm-valuation-demo:contracts-states'), project(':samples:simm-valuation-demo:flows')].collect { "${it.group}:${it.name}:${it.version}" } rpcUsers = ext.rpcUsers extraConfig = [ jvmArgs: ["-Xmx1g"] ] } node { name "O=Bank C,L=Tokyo,C=JP" p2pPort 10010 webPort 10011 rpcSettings { address("localhost:10036") adminAddress("localhost:10037") } cordapps = [project(':finance'), project(':samples:simm-valuation-demo:contracts-states'), project(':samples:simm-valuation-demo:flows')].collect { "${it.group}:${it.name}:${it.version}" } rpcUsers = ext.rpcUsers extraConfig = [ jvmArgs: ["-Xmx1g"] ] } } task integrationTest(type: Test, dependsOn: []) { testClassesDirs = sourceSets.integrationTest.output.classesDirs classpath = sourceSets.integrationTest.runtimeClasspath }