mirror of
https://github.com/corda/corda.git
synced 2024-12-21 13:57:54 +00:00
e85ed639bb
Clean up X500 names in Corda simulation, and ensure they're consistent with the standard test names. This includes using the locations present in those test names, which requires updates to the node config test.
117 lines
3.3 KiB
Groovy
117 lines
3.3 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"
|
|
testCompile "junit:junit:$junit_version"
|
|
testCompile "org.assertj:assertj-core:${assertj_version}"
|
|
|
|
// Corda integration dependencies
|
|
runtime project(path: ":node:capsule", configuration: 'runtimeArtifacts')
|
|
runtime project(path: ":webserver:webcapsule", configuration: 'runtimeArtifacts')
|
|
compile project(':core')
|
|
compile project(':finance')
|
|
compile project(':webserver')
|
|
compile project(':test-utils')
|
|
|
|
// 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"
|
|
}
|
|
|
|
task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) {
|
|
directory "./build/nodes"
|
|
networkMap "CN=Notary Service,O=R3,OU=corda,L=London,C=UK"
|
|
node {
|
|
name "CN=Notary Service,O=R3,OU=corda,L=London,C=UK"
|
|
nearestCity "London"
|
|
advertisedServices = ["corda.notary.validating", "corda.interest_rates"]
|
|
p2pPort 10002
|
|
rpcPort 10003
|
|
webPort 10004
|
|
cordapps = []
|
|
useTestClock true
|
|
}
|
|
node {
|
|
name "CN=Bank A,O=Bank A,L=London,C=UK"
|
|
nearestCity "London"
|
|
advertisedServices = []
|
|
p2pPort 10005
|
|
rpcPort 10006
|
|
webPort 10007
|
|
cordapps = []
|
|
useTestClock true
|
|
}
|
|
node {
|
|
name "CN=Bank B,O=Bank B,L=New York,C=US"
|
|
nearestCity "New York"
|
|
advertisedServices = []
|
|
p2pPort 10008
|
|
rpcPort 10009
|
|
webPort 10010
|
|
cordapps = []
|
|
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
|
|
}
|
|
}
|
|
}
|