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.3-SNAPSHOT' 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" } } 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-SNAPSHOT" 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-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' } ext { dockerTags = [project.version].with (true) { if (!project.version.contains("-SNAPSHOT")) { add "latest" } } } jib { from { } to { image = 'emeraldpay/dshackle' tags = dockerTags } container { jvmFlags = [ '-Xms1024m', ] mainClass = 'io.emeraldpay.dshackle.StarterKt' args = [] ports = ['8090'] } }