2017-06-21 15:11:48 +00:00
|
|
|
ext {
|
|
|
|
// We use Corda release artifact dependencies instead of project dependencies to make sure each doorman releases are
|
|
|
|
// align with the corresponding Corda release.
|
|
|
|
corda_dependency_version = '0.12.1'
|
|
|
|
}
|
|
|
|
|
|
|
|
version "$corda_dependency_version"
|
|
|
|
|
2016-09-21 09:33:55 +00:00
|
|
|
apply plugin: 'us.kirchmeier.capsule'
|
|
|
|
apply plugin: 'kotlin'
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenLocal()
|
|
|
|
mavenCentral()
|
|
|
|
maven {
|
|
|
|
url 'http://oss.sonatype.org/content/repositories/snapshots'
|
|
|
|
}
|
|
|
|
jcenter()
|
|
|
|
maven {
|
|
|
|
url 'https://dl.bintray.com/kotlin/exposed'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-02-06 14:56:00 +00:00
|
|
|
task buildDoormanJAR(type: FatCapsule, dependsOn: 'jar') {
|
2017-06-21 15:11:48 +00:00
|
|
|
group = 'build'
|
2017-02-06 14:56:00 +00:00
|
|
|
applicationClass 'com.r3.corda.doorman.MainKt'
|
2016-09-21 09:33:55 +00:00
|
|
|
|
|
|
|
capsuleManifest {
|
2017-06-21 15:11:48 +00:00
|
|
|
applicationVersion = corda_dependency_version
|
|
|
|
systemProperties['visualvm.display.name'] = 'Doorman'
|
2016-09-21 09:33:55 +00:00
|
|
|
minJavaVersion = '1.8.0'
|
2017-06-21 15:11:48 +00:00
|
|
|
jvmArgs = ['-XX:+UseG1GC']
|
2016-09-21 09:33:55 +00:00
|
|
|
}
|
2017-06-21 15:11:48 +00:00
|
|
|
// Make the resulting JAR file directly executable on UNIX by prepending a shell script to it.
|
|
|
|
// This lets you run the file like so: ./corda.jar
|
|
|
|
// Other than being slightly less typing, this has one big advantage: Ctrl-C works properly in the terminal.
|
|
|
|
reallyExecutable { trampolining() }
|
2016-11-01 10:23:26 +00:00
|
|
|
}
|
|
|
|
|
2016-09-21 09:33:55 +00:00
|
|
|
dependencies {
|
|
|
|
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
|
|
|
|
2017-06-21 15:11:48 +00:00
|
|
|
compile "net.corda:core:$corda_dependency_version"
|
|
|
|
compile "net.corda:node:$corda_dependency_version"
|
|
|
|
compile "net.corda:node-api:$corda_dependency_version"
|
|
|
|
testCompile "net.corda:test-utils:$corda_dependency_version"
|
2016-09-21 09:33:55 +00:00
|
|
|
|
|
|
|
// Log4J: logging framework (with SLF4J bindings)
|
|
|
|
compile "org.apache.logging.log4j:log4j-slf4j-impl:${log4j_version}"
|
|
|
|
compile "org.apache.logging.log4j:log4j-core:${log4j_version}"
|
|
|
|
compile "org.apache.logging.log4j:log4j-web:${log4j_version}"
|
|
|
|
|
|
|
|
// Web stuff: for HTTP[S] servlets
|
|
|
|
compile "org.eclipse.jetty:jetty-servlet:${jetty_version}"
|
|
|
|
compile "org.eclipse.jetty:jetty-webapp:${jetty_version}"
|
|
|
|
compile "javax.servlet:javax.servlet-api:3.1.0"
|
|
|
|
|
|
|
|
// Jersey for JAX-RS implementation for use in Jetty
|
|
|
|
compile "org.glassfish.jersey.core:jersey-server:${jersey_version}"
|
|
|
|
compile "org.glassfish.jersey.containers:jersey-container-servlet-core:${jersey_version}"
|
|
|
|
compile "org.glassfish.jersey.containers:jersey-container-jetty-http:${jersey_version}"
|
|
|
|
|
|
|
|
// JOpt: for command line flags.
|
|
|
|
compile "net.sf.jopt-simple:jopt-simple:5.0.2"
|
|
|
|
|
2016-11-01 10:23:26 +00:00
|
|
|
// TypeSafe Config: for simple and human friendly config files.
|
|
|
|
compile "com.typesafe:config:1.3.0"
|
|
|
|
|
2016-09-21 09:33:55 +00:00
|
|
|
// Unit testing helpers.
|
|
|
|
testCompile 'junit:junit:4.12'
|
|
|
|
testCompile "org.assertj:assertj-core:${assertj_version}"
|
|
|
|
testCompile "com.nhaarman:mockito-kotlin:0.6.1"
|
2017-02-15 15:42:41 +00:00
|
|
|
|
2017-06-21 15:11:48 +00:00
|
|
|
compile('com.atlassian.jira:jira-rest-java-client-core:4.0.0') {
|
2017-02-15 15:42:41 +00:00
|
|
|
// The jira client includes jersey-core 1.5 which breaks everything.
|
|
|
|
exclude module: 'jersey-core'
|
|
|
|
}
|
|
|
|
// Needed by jira rest client
|
|
|
|
compile "com.atlassian.fugue:fugue:2.6.1"
|
2016-09-21 09:33:55 +00:00
|
|
|
}
|