-
Notifications
You must be signed in to change notification settings - Fork 5
Ant build file
Kassing edited this page Mar 30, 2026
·
1 revision
Ant is the build manager for AProVE. Invoke it with ant -f build-aprove.xml <target>. The default target is dist.
All dependencies are pre-bundled as JARs in the lib/ directory — there is no Ivy or Maven dependency fetch step.
| Target | Description |
|---|---|
dist |
(default) Compile and produce dist/lib/aprove.jar
|
build |
Compile only (no JAR) |
cleanAll |
Delete build/, gen/, and dist/
|
initialSetup |
Run once after first checkout: copies GlobalSettings.template → GlobalSettings.java and generates all grammar sources |
generateSources |
Regenerate the gen/ folder (grammars + Haskell prelude) without rebuilding |
regenerateGrammars |
Clean and regenerate grammars only — useful after switching branches |
releasedist |
dist + packages aprove.jar and license files into dist/lib/aprove-release.zip
|
fastdist |
Same as dist but uses fastjar instead of the Ant <jar> task |
These each call dist with a different Main-Class manifest attribute:
| Target | Main class |
|---|---|
competition |
aprove.CommandLineInterface.Runme |
ceta |
aprove.CommandLineInterface.RunmeCeTA |
color |
aprove.CommandLineInterface.RunmeRainbow |
a3pat |
aprove.CommandLineInterface.RunmeA3PAT |
itrsmerger |
aprove.verification.dpframework.IDPProblem.utility.ITRSMerger |
-
Settings — if
src/aprove/GlobalSettings.javadoes not exist, copy it fromsrc/aprove/GlobalSettings.template. -
Generate grammars — run ANTLR/SableCC on all grammars in
src/aprove/input/Grammars/; output goes togen/aprove/input/Generated/. -
Generate Haskell prelude — produces
.hsfiles intogen/. -
Copy resources — grammar
.datfiles, Haskell prelude, and all.properties,.strategy,.xsl,.dtd,.bib, etc. files fromsrc/are copied intobuild/. -
Compile —
javaccompilessrc/andgen/intobuild/. -
Unjar dependencies — all
lib/*.jardependencies are unpacked intodist/lib/. -
Version info —
lib/GIT-VERSION-GENwrites aVERSIONfile intobuild/. -
Package — everything is combined into
dist/lib/aprove.jarwithMain-Class: aprove.Main.