antlr.build
Class Tool
An application-specific build tool for ANTLR. Old build
was a shell script that of course is not portable. All it
did though was to compile; this Java program is a portable
compile script. :)
This class knows how to portable invoke a system command with
wildcard expansion. It also knows to how dynamically load a project
description based upon the name. Actions are just method names
within that object. The ANTLR object defines build and jar methods
that use Tool to portably compile and jar--it is the replacement
the script.
I almost used Python for this, but I hate forcing users to download
yet another tool just to compile this one. (Another reason not
to use Ant).
I am using a class to describe the build (e.g., ANTLR) rather than
a file format at the moment since I am not sure how all this will
progress.
Properties antlr.build.compiler and antlr.build.root may be set
according to your needs. They default to "javac" and ".". The
root is the dir containing the antlr directory associated with
the antlr Java package.
To build this builder, run "javac *.java" in this dir.
To build ANTLR, just run
java antlr.build.Tool build"
from the
directory containing package antlr's "antlr" dir. Or, use
something like:
java -Dantlr.build.root=/usr/local/antlr-2.7.2 antlr.build.Tool build
To make the antlr.jar file, use
java antlr.build.Tool jar
void | antlr(String fullyQualifiedFilename) - Run ANTLR on a grammar file, leaving the output in the directory of the
grammar file.
|
void | error(String msg)
|
void | error(String msg, Exception e)
|
void | log(String cmd)
|
static void | main(String[] args)
|
void | perform(String app, String action) - Find a class named after the app and then find a method within
that is named after the action.
|
void | stderr(String s) - Stderr from executing sub tools
|
void | stdout(String s) - Stdout from executing sub tools
|
void | system(String cmd) - A portable system command execution routine that logs stdout/stderr
and handles cmd-line wildcards properly.
|
antlr
public void antlr(String fullyQualifiedFilename)
Run ANTLR on a grammar file, leaving the output in the directory of the
grammar file.
error
public void error(String msg)
error
public void error(String msg,
Exception e)
log
public void log(String cmd)
main
public static void main(String[] args)
perform
public void perform(String app,
String action)
Find a class named after the app and then find a method within
that is named after the action.
stderr
public void stderr(String s)
Stderr from executing sub tools
stdout
public void stdout(String s)
Stdout from executing sub tools
system
public void system(String cmd)
A portable system command execution routine that logs stdout/stderr
and handles cmd-line wildcards properly.