apply plugin: 'kotlin' apply plugin: 'java' apply plugin: 'application' apply plugin: 'net.corda.plugins.quasar-utils' apply plugin: 'net.corda.plugins.publish-utils' apply plugin: 'com.jfrog.artifactory' 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') // 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" // For logging. compile "org.apache.logging.log4j:log4j-core:${log4j_version}" // 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 } publish { name jar.baseName }