Files
hello-micronaut/build.gradle.kts
2025-02-08 14:42:35 +08:00

118 lines
4.1 KiB
Plaintext

plugins {
id("org.jetbrains.kotlin.jvm") version "1.9.25"
id("org.jetbrains.kotlin.plugin.allopen") version "1.9.25"
id("com.google.devtools.ksp") version "1.9.25-1.0.20"
id("com.github.johnrengelman.shadow") version "8.1.1"
id("io.micronaut.crac") version "4.4.4"
id("io.micronaut.application") version "4.4.4"
id("com.google.cloud.tools.jib") version "2.8.0"
id("io.micronaut.aot") version "4.4.4"
}
version = "0.1"
group = "com.mazhangjing"
val kotlinVersion = project.properties.get("kotlinVersion")
repositories {
mavenCentral()
}
dependencies {
ksp("io.micronaut.data:micronaut-data-processor")
ksp("io.micronaut:micronaut-http-validation")
ksp("io.micronaut.openapi:micronaut-openapi")
ksp("io.micronaut.serde:micronaut-serde-processor")
ksp("io.micronaut.spring:micronaut-spring-annotation")
ksp("io.micronaut.spring:micronaut-spring-boot-annotation")
ksp("io.micronaut.spring:micronaut-spring-web-annotation")
implementation("io.micronaut:micronaut-http-server")
implementation("io.micronaut.crac:micronaut-crac")
implementation("io.micronaut.data:micronaut-data-jdbc")
implementation("io.micronaut.data:micronaut-data-spring")
implementation("io.micronaut.data:micronaut-data-spring-jdbc")
implementation("io.micronaut.flyway:micronaut-flyway") {
exclude(group = "org.flywaydb", module = "flyway-core")
}
implementation("org.flywaydb:flyway-core:10.20.1")
implementation("io.micronaut.kotlin:micronaut-kotlin-extension-functions")
implementation("io.micronaut.kotlin:micronaut-kotlin-runtime")
implementation("io.micronaut.rss:micronaut-rss")
implementation("io.micronaut.serde:micronaut-serde-jackson")
implementation("io.micronaut.sql:micronaut-jdbc-hikari")
implementation("io.micronaut.views:micronaut-views-fieldset")
implementation("io.micronaut.views:micronaut-views-thymeleaf")
implementation("org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlinVersion}")
implementation("org.springframework:spring-jdbc")
implementation("org.springframework.boot:spring-boot-starter")
implementation("org.springframework.boot:spring-boot-starter-web")
compileOnly("io.micronaut:micronaut-http-client")
compileOnly("io.micronaut.openapi:micronaut-openapi-annotations")
runtimeOnly("ch.qos.logback:logback-classic")
runtimeOnly("com.fasterxml.jackson.module:jackson-module-kotlin")
runtimeOnly("com.h2database:h2")
runtimeOnly("io.micronaut.spring:micronaut-spring-boot")
runtimeOnly("io.micronaut.spring:micronaut-spring-web")
runtimeOnly("org.yaml:snakeyaml")
kspTest("io.micronaut.spring:micronaut-spring-boot-annotation")
kspTest("io.micronaut.spring:micronaut-spring-web-annotation")
testImplementation("io.micronaut:micronaut-http-client")
}
application {
mainClass = "com.mazhangjing.ApplicationKt"
}
java {
sourceCompatibility = JavaVersion.toVersion("21")
}
tasks {
jib {
to {
image = "gcr.io/myapp/jib-image"
}
}
}
graalvmNative.toolchainDetection = false
graalvmNative {
binaries {
named("main") {
imageName.set("story")
buildArgs.add("-Ob")
}
}
// metadataRepository {
// moduleToConfigVersion.put("org.flywaydb:flyway-core", "10.20.1")
// }
}
micronaut {
runtime("netty")
testRuntime("junit5")
processing {
incremental(true)
annotations("com.mazhangjing.*")
}
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.named<io.micronaut.gradle.docker.NativeImageDockerfile>("dockerfileNative") {
jdkVersion = "21"
}