char16t / java-makefile-graalvm-template

Template of Java application built to native binary with pure Makefile using GraavlVM

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This repository contains a example built with Makefile and GraalVM of a native Java application. You can use it as a starting template for developing embedded Java applications.

Features

  • No build systems are used, just pure javac. The build is automated using the Makefile;

  • Java 21 is used, with the ability to easily enable and disable the --enable-preview flag. Virtual threads are used as an example of an experimental feature;

  • The example includes working with resource files. They are included and excluded from the bundle;

  • The example has a demonstration of working with code generation at compilation using JavaCC as an example;

  • The example has a demonstration of autotests without using any dependencies;

  • The example has a demonstration of generating javadocs;

  • The example applies Profile-Guided Optimizations.

make test
# or
make jar
# or
make native-image

Full documentation

See the docs/README.adoc for full documentation.

Changelog

All notable changes to this project are documented in docs/Changelog.adoc file. This project adheres to Semantic Versioning.

License

This software is available under Public Domain. See the docs/License.adoc for detailed licensing information.

About

Template of Java application built to native binary with pure Makefile using GraavlVM

License:The Unlicense


Languages

Language:Makefile 67.4%Language:Java 32.6%