apply plugin: 'kotlin' apply plugin: 'java' apply plugin: 'application' apply plugin: 'net.corda.plugins.quasar-utils' description 'Corda Shell' configurations { integrationTestCompile.extendsFrom testCompile integrationTestRuntime.extendsFrom testRuntime } sourceSets { integrationTest { kotlin { compileClasspath += main.output + test.output runtimeClasspath += main.output + test.output srcDir file('src/integration-test/kotlin') } resources { srcDir file('src/integration-test/resources') } } test { resources { srcDir file('src/test/resources') } } } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" testCompile "org.jetbrains.kotlin:kotlin-test:$kotlin_version" compile project(':node-api') compile project(':client:rpc') // Jackson support: serialisation to/from JSON, YAML, etc compile project(':client:jackson') compile group: 'org.json', name: 'json', version: json_version // JOpt: for command line flags. compile "net.sf.jopt-simple:jopt-simple:$jopt_simple_version" // CRaSH: An embeddable monitoring and admin shell with support for adding new commands written in Groovy. compile("com.github.corda.crash:crash.shell:$crash_version") { exclude group: "org.slf4j", module: "slf4j-jdk14" exclude group: "org.bouncycastle" } compile("com.github.corda.crash:crash.connectors.ssh:$crash_version") { exclude group: "org.slf4j", module: "slf4j-jdk14" exclude group: "org.bouncycastle" } // JAnsi: for drawing things to the terminal in nicely coloured ways. compile "org.fusesource.jansi:jansi:$jansi_version" // Manifests: for reading stuff from the manifest file compile "com.jcabi:jcabi-manifests:1.1" // Unit testing helpers. testCompile "junit:junit:$junit_version" testCompile "org.assertj:assertj-core:${assertj_version}" testCompile project(':test-utils') testCompile project(':finance') // Integration test helpers integrationTestCompile "junit:junit:$junit_version" integrationTestCompile "org.assertj:assertj-core:${assertj_version}" // Jsh: Testing SSH server integrationTestCompile "com.jcraft:jsch:$jsch_version" integrationTestCompile project(':node-driver') } mainClassName = 'net.corda.tools.shell.StandaloneShellKt' jar { baseName 'corda-shell' } processResources { from file("$rootDir/config/dev/log4j2.xml") } task integrationTest(type: Test) { testClassesDirs = sourceSets.integrationTest.output.classesDirs classpath = sourceSets.integrationTest.runtimeClasspath }