See the requirements.
Build the frontend files (optional)
./builder.bash build-frontend
Build and run the program
$ ./gradlew clean build compTest shadowJar -i
$ java -jar dns-proxy-server-*-all.jar
Generated possible necessary metadata
./gradlew clean -Pagent compTest
./gradlew metadataCopy
Generate the binary
$ ./gradlew -x check clean build nativeIntTest nativeImageJar nativeCompile
$ ./build/native/nativeCompile/dns-proxy-server
Compiling the source JAR
$ ./gradlew build -x check shadowJar nativeImageJar
$ mkdir -p build/artifacts/native-image-source && cp build/libs/native-image-*.jar ./build/artifacts/native-image-source/dns-proxy-server.jar
$ tree build/artifacts/
build/artifacts/
└── native-image-source
└── dns-proxy-server.jar
1 directory, 1 file
Generating the native image
$ ./builder.bash build-backend amd64-static