Matthew Nesbit 8ec33d67e4 Remove finance dependencies
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.
2017-08-18 14:27:49 +01:00

149 lines
4.6 KiB
Groovy

import org.apache.tools.ant.filters.FixCrLfFilter
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.publish-utils'
apply plugin: 'net.corda.plugins.cordformation'
apply plugin: 'maven-publish'
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')
// 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(':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"]
p2pPort 10002
cordapps = ["net.corda:finance:$corda_release_version"]
}
node {
name "CN=Bank A,O=Bank A,L=London,C=GB"
advertisedServices = []
p2pPort 10004
webPort 10005
cordapps = ["net.corda:finance:$corda_release_version"]
}
node {
name "CN=Bank B,O=Bank B,L=New York,C=US"
advertisedServices = []
p2pPort 10006
webPort 10007
cordapps = ["net.corda:finance:$corda_release_version"]
}
node {
name "CN=Bank C,O=Bank C,L=Tokyo,C=Japan"
advertisedServices = []
p2pPort 10008
webPort 10009
cordapps = ["net.corda:finance:$corda_release_version"]
}
}
task integrationTest(type: Test, dependsOn: []) {
testClassesDir = sourceSets.integrationTest.output.classesDir
classpath = sourceSets.integrationTest.runtimeClasspath
}
task npmInstall(type: Exec) {
workingDir 'src/main/web'
if (System.getProperty('os.name').toLowerCase().contains('windows')) {
commandLine 'cmd', '/c', 'npm', 'install'
} else {
commandLine 'npm', 'install'
}
outputs.upToDateWhen { file('src/main/web/node_modules').exists() }
}
task cleanWeb() {
doLast {
delete 'src/main/resources/simmvaluationweb'
delete 'src/main/web/dist'
}
}
task buildWeb(type: Exec, dependsOn: [cleanWeb, npmInstall]) {
workingDir 'src/main/web'
if (System.getProperty('os.name').toLowerCase().contains('windows')) {
commandLine 'cmd', '/c', 'ng', 'build'
} else {
commandLine 'node_modules/angular-cli/bin/ng', 'build'
}
}
task installWeb(type: Copy, dependsOn: [buildWeb]) {
from 'src/main/web/dist'
into 'src/main/resources/simmvaluationweb'
['**/*.js', '**/*.js.map', '**/*.ts'].each {
filesMatching(it) {
filter(FixCrLfFilter.class, eol: FixCrLfFilter.CrLf.LF, fixlast: false)
}
}
}
publishing {
publications {
simmvaluationdemo(MavenPublication) {
from components.java
artifactId 'simmvaluationdemo'
artifact sourceJar
artifact javadocJar
}
}
}