From 3cef99d25608acd89b75c962e41200b9974e696d Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Wed, 30 Apr 2025 15:57:22 +0200 Subject: [PATCH] Add BUILD.md --- BUILD.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 BUILD.md diff --git a/BUILD.md b/BUILD.md new file mode 100644 index 00000000..8c4f4e6c --- /dev/null +++ b/BUILD.md @@ -0,0 +1,22 @@ + + +# Build PGPainless + +There are a number of different artifacts that can be built from the PGPainless source code: + +## `pgpainless-cli/build/libs/pgpainless-cli-X.Y.Z-all.jar` + +This is a fat jar, built using the Shadow plugin. +It bundles all necessary dependencies required by the CLI application at runtime. +This artifact will be produced by the `gradle shadowJar` task, which is run as part of the `gradle assemble` task. + +## `pgpainless-cli/build/native/nativeCompile/pgpainless-cli` + +This is a native image, that can be built using GraalVM which compared to the executable jar file above +offers greatly improved performance by skipping the JVM startup overhead. + +To build this image, you need to run `gradle nativeCompile` using a GraalVM-enabled Java SDK.