plugins { id "org.jetbrains.kotlin.jvm" version "1.3.50" id "org.jetbrains.kotlin.kapt" version "1.3.50" id "org.jetbrains.kotlin.plugin.allopen" version "1.3.50" id "com.github.johnrengelman.shadow" version "5.0.0" id "application" } version "0.1" group "mn.playground" repositories { mavenCentral() maven { url "https://jcenter.bintray.com" } } configurations { // for dependencies that are needed for development only developmentOnly } dependencies { implementation platform("io.micronaut:micronaut-bom:$micronautVersion") implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlinVersion}" implementation "org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}" implementation "io.micronaut:micronaut-runtime" implementation "javax.annotation:javax.annotation-api" implementation "io.micronaut:micronaut-http-server-netty" implementation "io.micronaut:micronaut-http-client" implementation 'io.micronaut.configuration:micronaut-jooq' kapt platform("io.micronaut:micronaut-bom:$micronautVersion") kapt "io.micronaut:micronaut-inject-java" kapt "io.micronaut:micronaut-validation" kaptTest platform("io.micronaut:micronaut-bom:$micronautVersion") kaptTest "io.micronaut:micronaut-inject-java" runtimeOnly "com.fasterxml.jackson.module:jackson-module-kotlin:2.9.8" runtimeOnly "ch.qos.logback:logback-classic:1.2.3" runtimeOnly 'io.micronaut.configuration:micronaut-jdbc-hikari' runtimeOnly 'com.h2database:h2' testImplementation platform("io.micronaut:micronaut-bom:$micronautVersion") testImplementation "io.micronaut.test:micronaut-test-kotlintest" testImplementation "io.mockk:mockk:1.9.3" testImplementation "io.kotlintest:kotlintest-runner-junit5:3.3.2" } test.classpath += configurations.developmentOnly mainClassName = "mn.playground.Application" test { useJUnitPlatform() } allOpen { annotation("io.micronaut.aop.Around") } compileKotlin { kotlinOptions { jvmTarget = '11' //Will retain parameter names for Java reflection javaParameters = true } } compileTestKotlin { kotlinOptions { jvmTarget = '11' javaParameters = true } } shadowJar { mergeServiceFiles() } run.classpath += configurations.developmentOnly run.jvmArgs('-noverify', '-XX:TieredStopAtLevel=1', '-Dcom.sun.management.jmxremote')