Blaze

A speedy, flexible, general purpose scripting and application launching stack for the JVM. Can replace shell scripts and plays nicely with other tools. Only requires a Java 8 runtime and adding blaze.jar to your project directory. Start writing portable and cross-platform scripts.

Blaze pulls together stable, mature libraries from the Java ecosystem into a light-weight package that lets you focus on getting things done. When you invoke blaze, it does the following:

  • Sets up console logging
  • Loads your optional configuration file(s)
  • Downloads runtime dependencies (e.g. jars from Maven central)
  • Loads and compiles your script(s)
  • Executes "tasks" (methods your script defines)

Includes the following features:

  • Write your applications (scripts) in whatever JVM language you prefer. Out-of-the-box support for
    • Java (.java) (8, 11, 17, 21, etc.)
    • Groovy (.groovy) (v4.0.15)
    • Kotlin (.kt) (v1.9.10)
    • JavaScript (.js) (via nashorn on Java 11+)
    • Or write your own (examples here, here, and here)
  • Zero-install required. Just drop blaze.jar into your project directory and you or others can run it with java -jar blaze.jar.
  • IDE support
  • Small size so you can commit blaze.jar to your repository
  • Excellent framework support for executing processes, modifying the filesystem, user interaction, http, and ssh.
  • Easily use any Java library as a dependency to accomplish whatever the framework doesn't provide.