plugins { id("io.micronaut.application") version "4.6.1" id("net.ltgt.errorprone") version "4.3.0" id("com.gradleup.shadow") version "8.3.9" id("org.asciidoctor.jvm.convert") version "3.3.2" id("io.micronaut.aot") version "4.6.1" } version = "0.1" group = "de.gaiselmann" apply from: "gradle/asciidoc.gradle" repositories { mavenCentral() } dependencies { annotationProcessor("io.micronaut:micronaut-http-validation") annotationProcessor("io.micronaut.serde:micronaut-serde-processor") annotationProcessor("io.micronaut.validation:micronaut-validation-processor") implementation("io.micronaut:micronaut-http-client") implementation("io.micronaut:micronaut-management") implementation("io.micronaut.micrometer:micronaut-micrometer-core") implementation("io.micronaut.micrometer:micronaut-micrometer-registry-prometheus") implementation("io.micronaut.serde:micronaut-serde-jackson") implementation("io.micronaut.validation:micronaut-validation") implementation("jakarta.validation:jakarta.validation-api") implementation("org.jspecify:jspecify") runtimeOnly("ch.qos.logback:logback-classic") runtimeOnly("org.yaml:snakeyaml") testImplementation("org.assertj:assertj-core") testRuntimeOnly("org.junit.platform:junit-platform-launcher") errorprone("com.google.errorprone:error_prone_core:2.44.0") errorprone("com.uber.nullaway:nullaway:0.12.12") } application { mainClass = "de.gaiselmann.Application" } java { sourceCompatibility = JavaVersion.toVersion("17") targetCompatibility = JavaVersion.toVersion("17") } graalvmNative.toolchainDetection = false micronaut { runtime("netty") testRuntime("junit5") processing { incremental(true) annotations("de.gaiselmann.*") } aot { // Please review carefully the optimizations enabled below // Check https://micronaut-projects.github.io/micronaut-aot/latest/guide/ for more details optimizeServiceLoading = false convertYamlToJava = false precomputeOperations = true cacheEnvironment = true optimizeClassLoading = true deduceEnvironment = true optimizeNetty = true replaceLogbackXml = true } } tasks.withType(JavaCompile) { options.errorprone.check("NullAway", net.ltgt.gradle.errorprone.CheckSeverity.ERROR) options.errorprone.option("NullAway:AnnotatedPackages", "de.gaiselmann") if (name.toLowerCase().contains("test")) { options.errorprone.disable("NullAway") } }