apply plugin: 'kotlin' apply plugin: 'application' apply plugin: 'net.corda.plugins.cordformation' apply plugin: 'net.corda.plugins.quasar-utils' configurations { integrationTestCompile.extendsFrom testCompile integrationTestRuntime.extendsFrom testRuntime compile { // We already have a SLF4J implementation on our runtime classpath, // and we don't need another one. exclude group: "org.apache.logging.log4j" } } sourceSets { integrationTest { kotlin { compileClasspath += main.output + test.output runtimeClasspath += main.output + test.output srcDir file('src/integration-test/kotlin') } java { compileClasspath += main.output + test.output runtimeClasspath += main.output + test.output srcDir file('src/integration-test/java') } } } compileTestJava.dependsOn tasks.getByPath(':node:capsule:buildCordaJAR') dependencies { // Cordformation needs a SLF4J implementation when executing the Network // Bootstrapper, but Log4J doesn't shutdown completely from within Gradle. // Use a much simpler SLF4J implementation here instead. cordaRuntime "org.slf4j:slf4j-simple:$slf4j_version" compile project(':core') compile project(':client:jfx') compile project(':node-driver') compile project(':testing:testserver') testCompile project(':test-utils') compile "org.graphstream:gs-core:1.3" compile("org.graphstream:gs-ui:1.3") { exclude group: "bouncycastle" exclude group: "junit" } cordaRuntime project(path: ":node:capsule", configuration: 'runtimeArtifacts') cordaRuntime project(path: ":testing:testserver:testcapsule:", configuration: 'runtimeArtifacts') // CorDapps: dependent flows and services compile project(':finance:contracts') compile project(':finance:workflows') } mainClassName = "net.corda.docs.ClientRpcTutorialKt" task getClientRpcTutorial(type: CreateStartScripts) { dependsOn(classes) mainClassName = "net.corda.docs.ClientRpcTutorialKt" applicationName = "client-rpc-tutorial" defaultJvmOpts = [] outputDir = new File(project.buildDir, 'scripts') classpath = jar.outputs.files + project.configurations.runtime } applicationDistribution.into("bin") { from(getClientRpcTutorial) fileMode = 0755 } task integrationTest(type: Test) { testClassesDirs = sourceSets.integrationTest.output.classesDirs classpath = sourceSets.integrationTest.runtimeClasspath } task deployNodes(type: net.corda.plugins.Cordform, dependsOn: ['jar']) { directory "./build/nodes" node { name "O=Notary Service,OU=corda,L=London,C=GB" notary = [validating : true] p2pPort 10002 rpcSettings { address "localhost:10003" adminAddress "localhost:10013" } webPort 10004 extraConfig = ['h2Settings.address' : 'localhost:10014'] cordapps = [] } node { name "O=Alice Corp,L=London,C=GB" p2pPort 10005 rpcSettings { address "localhost:10006" adminAddress "localhost:10016" } webPort 10007 extraConfig = ['h2Settings.address' : 'localhost:10017'] cordapps = [] rpcUsers = [ ['username' : "user", 'password' : "password", 'permissions' : ["StartFlow.net.corda.finance.flows.CashFlow"]] ] } }