Skip to main content

Java

Location: examples/java/

Java generates a source file from a template at build time:

examples/java/app/Main.java
package app;

import static app.BuildTime.VERSION;

public class Main {
public static void main(String[] args) {
System.out.println("Sample Java Application");
System.out.println("Version: " + VERSION);
}
}

The Makefile generates BuildTime.java from a template:

examples/java/Makefile (excerpt)
build:
VERSION=$$(versionator version); \
sed -e "s/@VERSION@/$${VERSION}/g" BuildTime.java.tmpl > BuildTime.java; \
javac Main.java BuildTime.java

Run it

$ cd examples/java && just run
Getting version from versionator...
Generating BuildTime.java from template...
Building sample application with version: 0.0.16
Build completed: app/Main.class app/BuildTime.class
java app.Main
Sample Java Application
Version: 0.0.16

Source Code