On Tue, Dec 4, 2012 at 3:03 PM, <[email protected]> wrote: > Initial version of cfc command line tool
> Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/eb8f8956 This is a very logical translation of CFC's current internal workflow to a command line interface. I have no difficulty following the code. Perhaps we can build on your work and add a couple modules to CFC which represent the application interface, transforming the cfc command line utility into a thin wrapper around those: * `CFCSettings` - Compiler settings, classically set via command line args. * `CFCCompiler` - A compiler session. I have always felt that having client code in our build scripts manipulate CFCHierarchy objects directly was a little too low-level, but since I'm intimately familiar with the CFC codebase it hasn't bothered me acutely. Naturally, we'd want to refactor those build scripts to use the higher-level interface. We might want to study the interfaces of other command line compiler applications for inspiration. There's POSIX `cc` of course (which GCC and Clang extend), but the behavior of `javac` is probably closer to that of CFC: `javac -d DIR` corresponds to `cfc --dest=DIR`, for example. Marvin Humphrey
