mirror of
https://github.com/corda/corda.git
synced 2025-02-12 05:35:50 +00:00
8ec33d67e4
Re-enable code now DealState PR is in. Add plugable JSON serialisation Add docs for new plugin api. Move parseCurrency back to core to prevent dependency issues with crash shell parsing. Use :finance module as a proper CorDapp Move parseCurrency back onto Amount companion. Fix smoke tests Fixup after merge.
121 lines
3.5 KiB
Groovy
121 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'
|
|
apply plugin: 'application'
|
|
|
|
mainClassName = 'net.corda.irs.IRSDemo'
|
|
|
|
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 irs demo CorDapp depends upon Cash CorDapp features
|
|
cordapp project(':finance')
|
|
|
|
// 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.squareup.okhttp3:okhttp:$okhttp_version"
|
|
|
|
testCompile project(':test-utils')
|
|
testCompile "junit:junit:$junit_version"
|
|
testCompile "org.assertj:assertj-core:${assertj_version}"
|
|
}
|
|
|
|
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
|
|
directory "./build/nodes"
|
|
networkMap "CN=Notary Service,O=R3,OU=corda,L=Zurich,C=CH"
|
|
node {
|
|
name "CN=Notary Service,O=R3,OU=corda,L=Zurich,C=CH"
|
|
advertisedServices = ["corda.notary.validating", "corda.interest_rates"]
|
|
p2pPort 10002
|
|
rpcPort 10003
|
|
webPort 10004
|
|
cordapps = ["net.corda:finance:$corda_release_version"]
|
|
useTestClock true
|
|
}
|
|
node {
|
|
name "CN=Bank A,O=Bank A,L=London,C=GB"
|
|
advertisedServices = []
|
|
p2pPort 10005
|
|
rpcPort 10006
|
|
webPort 10007
|
|
cordapps = ["net.corda:finance:$corda_release_version"]
|
|
useTestClock true
|
|
}
|
|
node {
|
|
name "CN=Bank B,O=Bank B,L=New York,C=US"
|
|
advertisedServices = []
|
|
p2pPort 10008
|
|
rpcPort 10009
|
|
webPort 10010
|
|
cordapps = ["net.corda:finance:$corda_release_version"]
|
|
useTestClock true
|
|
}
|
|
}
|
|
|
|
task integrationTest(type: Test, dependsOn: []) {
|
|
testClassesDir = sourceSets.integrationTest.output.classesDir
|
|
classpath = sourceSets.integrationTest.runtimeClasspath
|
|
}
|
|
|
|
// This fixes the "line too long" error when running this demo with windows CLI
|
|
// TODO: Automatically apply to all projects via a plugin
|
|
tasks.withType(CreateStartScripts).each { task ->
|
|
task.doLast {
|
|
String text = task.windowsScript.text
|
|
// Replaces the per file classpath (which are all jars in "lib") with a wildcard on lib
|
|
text = text.replaceFirst(/(set CLASSPATH=%APP_HOME%\\lib\\).*/, { "${it[1]}*" })
|
|
task.windowsScript.write text
|
|
}
|
|
}
|
|
|
|
idea {
|
|
module {
|
|
downloadJavadoc = true // defaults to false
|
|
downloadSources = true
|
|
}
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
jarAndSources(MavenPublication) {
|
|
from components.java
|
|
artifactId 'irsdemo'
|
|
|
|
artifact sourceJar
|
|
artifact javadocJar
|
|
}
|
|
}
|
|
}
|
|
|
|
jar {
|
|
from sourceSets.test.output
|
|
}
|