Files
dshackle/build.gradle
2019-09-13 13:52:56 -04:00

157 lines
4.9 KiB
Groovy

import java.time.Instant
import java.time.ZoneId
import java.time.format.DateTimeFormatter
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.11'
}
}
plugins {
id 'java'
id 'groovy'
id 'idea'
id 'maven'
id 'application'
id 'org.jetbrains.kotlin.jvm' version '1.3.11'
id "com.google.cloud.tools.jib" version "1.3.0"
id 'org.springframework.boot' version '2.1.4.RELEASE'
id 'io.spring.dependency-management' version '1.0.6.RELEASE'
}
group = 'io.emeraldpay.dshackle'
version = '0.4'
targetCompatibility = '1.8'
sourceCompatibility = '1.8'
repositories {
mavenLocal()
mavenCentral()
maven { url "http://repo.spring.io/snapshot" }
maven { url "http://repo.spring.io/milestone" }
maven { url "https://dl.bintray.com/infinitape/etherjar" }
maven { url "https://dl.bintray.com/emerald/emerald-grpc" }
}
configurations {
compile.exclude group: "commons-logging"
compile.exclude group: "ch.qos.logback"
compile.exclude group: "org.slf4j", module: "slf4j-jdk14"
compile.exclude group: "org.slf4j", module: "log4j-over-slf4j"
}
dependencies {
compile "io.emeraldpay:emerald-grpc:0.6.0-0.2"
compile "io.grpc:grpc-protobuf:${grpcVersion}"
compile "io.grpc:grpc-stub:${grpcVersion}"
compile "io.grpc:grpc-netty:${grpcVersion}"
compile "io.netty:netty-tcnative-boringssl-static:2.0.25.Final"
compile "io.netty:netty-all:4.1.36.Final"
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
compile "org.jetbrains.kotlin:kotlin-reflect"
compile "org.springframework:spring-core:$springVersion"
compile "org.springframework:spring-context:$springVersion"
compile "org.springframework.security:spring-security-core:$springVersion"
compile "org.springframework.security:spring-security-web:$springVersion"
compile "org.springframework.security:spring-security-config:$springVersion"
compile "io.projectreactor:reactor-core:$reactorVersion"
compile 'io.projectreactor.addons:reactor-extra:3.2.3.RELEASE'
compile 'io.projectreactor.kotlin:reactor-kotlin-extensions:1.0.0.M1'
compile 'com.salesforce.servicelibs:reactor-grpc:0.10.0'
compile 'org.yaml:snakeyaml:1.24'
compile "io.infinitape:etherjar-domain:$etherjarVersion"
compile "io.infinitape:etherjar-hex:$etherjarVersion"
compile "io.infinitape:etherjar-rpc-http:$etherjarVersion"
compile "io.infinitape:etherjar-rpc-ws:$etherjarVersion"
compile "io.infinitape:etherjar-rpc-emerald:$etherjarVersion"
compile "io.infinitape:etherjar-tx:$etherjarVersion"
compile 'org.apache.httpcomponents:httpmime:4.5.8'
compile 'org.apache.httpcomponents:httpclient:4.5.8'
compile 'com.fasterxml.jackson.core:jackson-core:2.9.8'
compile 'com.fasterxml.jackson.core:jackson-databind:2.9.8'
compile 'commons-io:commons-io:2.6'
compile 'org.apache.commons:commons-lang3:3.9'
compile 'org.apache.commons:commons-collections4:4.3'
compile 'javax.annotation:javax.annotation-api:1.3.2'
compile 'org.bouncycastle:bcprov-jdk15on:1.61'
compile("org.springframework.boot:spring-boot-starter:$springBootVersion") {
exclude module: 'spring-boot-starter-logging'
}
compile "org.slf4j:slf4j-api:$slf4jVersion"
compile "org.apache.logging.log4j:log4j-slf4j-impl:2.11.1"
compile "org.slf4j:jul-to-slf4j:$slf4jVersion"
compile "org.slf4j:jcl-over-slf4j:$slf4jVersion"
testCompile "org.codehaus.groovy:groovy:$groovyVersion"
testCompile 'cglib:cglib-nodep:3.2.12'
testCompile "org.spockframework:spock-core:$spockVersion"
testCompile "io.grpc:grpc-testing:${grpcVersion}"
testCompile "io.projectreactor:reactor-test:$reactorVersion"
testCompile 'org.objenesis:objenesis:3.0.1'
}
compileKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
application {
mainClassName = 'io.emeraldpay.dshackle.StarterKt'
}
jib {
from {
}
to {
// execute with -Platest=true
// $ gradle jib -Platest=true
image = [
project.hasProperty('docker') ? project.property('docker') : 'emeraldpay',
'/dshackle:',
(project.hasProperty('latest') && project.property('latest') == 'true') ? 'latest' : 'snapshot'
].join('')
tags = [project.version].with (true) {
add "t"+ DateTimeFormatter.ofPattern("yyyyMMddHHmm").withZone(ZoneId.of('UTC')).format(Instant.now())
add project.version.toString().replaceAll('(\\d+\\.\\d+).+', '$1')
}
}
container {
jvmFlags = [
'-Xms1024m',
]
mainClass = 'io.emeraldpay.dshackle.StarterKt'
args = []
ports = ['8090']
}
}
jar {
enabled=true
}
afterEvaluate {
distZip.dependsOn(jar)
}