apex-ddl-splitter/build.gradle.kts
2025-04-15 04:32:56 +07:00

53 lines
1.6 KiB
Plaintext

plugins {
application
kotlin("jvm") version "2.1.10"
id("com.github.johnrengelman.shadow") version "7.1.2"
id("org.graalvm.buildtools.native") version "0.10.5"
}
group = "me.blzr"
version = "1.1"
repositories {
mavenCentral()
}
dependencies {
implementation("me.alllex.parsus:parsus-jvm:0.6.1")
implementation("info.picocli:picocli:4.7.6")
testImplementation(kotlin("test"))
}
application {
mainClass.set("me.blzr.apex.Main")
}
tasks.test {
useJUnitPlatform()
}
kotlin {
jvmToolchain(17)
}
// https://graalvm.github.io/native-build-tools/latest/gradle-plugin.html#configure-native-image
// Install visual studio https://www.graalvm.org/latest/getting-started/windows/
// Run
// set JAVA_HOME=%USERPROFILE%\.jdks\graalvm-jdk-23.0.2
// call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" > nul
// gradlew nativeCompile
// On linux run java -jar -agentlib:native-image-agent=config-output-dir=src/main/resources/META-INF/native-image build/libs/xlsx2json-1.0-SNAPSHOT-all.jar src/test/resources/input.xlsx out.json
graalvmNative {
// toolchainDetection.set(true)
binaries {
named("main") {
useFatJar.set(true)
buildArgs.add("-H:-CheckToolchain")
// CP1252 is missing
// https://github.com/apache/poi/blob/trunk/poi/src/main/java/org/apache/poi/poifs/filesystem/FileMagic.java#L133
buildArgs.add("-H:+AddAllCharsets")
configurationFileDirectories.from(file("src/main/resources/META-INF/native-image/"))
}
}
}