protected void runNativeBuilder(List<String> optionList) throws IOException {
		Util.verboseMsg("native-image: " + String.join(" ", optionList));

		ProcessBuilder pb = CommandBuffer.of(optionList)
			.applyWindowsMaxProcessLimit()
			.asProcessBuilder()
			.inheritIO();

		// Redirect the output of the native builder to a file
		Path nilog = Files.createTempFile("jbang", "native-image");
		Util.infoMsg("log: " + nilog.toString());
		pb.redirectOutput(nilog.toFile());

		Process process = pb.start();
		try {
			process.waitFor();
		} catch (InterruptedException e) {
			throw new ExitException(1, e);
		}

		if (process.exitValue() != 0) {
			throw new ExitException(1, "Error during native-image");
		}
	}
Based on the jar path this will return the path for the output file to be
passed to the native-image compiler. NB: On Windows the compiler always adds
`.exe` to the name!
src/main/java/dev/jbang/source/buildsteps/NativeBuildStep.java