AZ
https://github.com/EwenG/badigeon
Пример того, что можно написать:
(ns clojud.java-compiler
(:refer-clojure :exclude [compile])
(:require [badigeon.clean :as clean]
[badigeon.javac :as javac]
[badigeon.classpath :as classpath]))
(defn compile [{:keys [source-path output-path aliases]
:or {aliases []}}]
(let [cp (classpath/make-classpath {:aliases aliases})]
(javac/javac source-path
{:compile-path output-path
:javac-options ["-cp" cp "-target" "8" "-source" "8" "-Xlint:-options"]})))
(defn clean [{:keys [output-path]}]
(clean/clean (str output-path) {:allow-outside-target? false}))