mirror of
https://github.com/corda/corda.git
synced 2025-02-07 11:30:22 +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.
149 lines
4.6 KiB
Groovy
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
|
|
}
|
|
}
|
|
}
|