module battery.driver

Holds the default implementation of the Driver class.

Code Map

//! Holds the default implementation of the Driver class.
module battery.driver;


//! Controls the flow of the program.
class DefaultDriver : Driver
{
public:
	enum BatteryDirectory;
	enum BatteryConfigFile;
	enum VersionNumber;
	enum VersionString;


public:
	this(args: string[]) { }
	fn process(args: string[]) { }
	fn config(args: string[]) { }
	fn configSanity() { }
	fn build(buildArgs: string[]) { }
	fn test(args: string[]) { }
	fn help(args: string[]) { }
	fn projectInit(args: string[]) { }
	fn prompt(question: string) string { }
	fn choice(question: string, options: string[]) string { }
	fn printLogo() { }
	fn printVersion() { }
	fn printUsage() { }
	fn printHelpUsage() { }
	fn printBuildUsage() { }
	fn printTestUsage() { }
	fn printInitUsage() { }
	fn printConfigUsage() { }
	fn applyQuirks() { }
	fn verifyConfig() { }
	fn normalisePath(path: string) string { }
	fn removeWorkingDirectoryPrefix(path: string) string { }
	fn addEnv(boot: bool, name: string, value: string) { }
	fn setCmd(boot: bool, name: string, c: Command) { }
	fn addCmd(boot: bool, name: string, cmd: string) { }
	fn addCmdArg(boot: bool, name: string, arg: string) { }
	fn add(lib: Lib) { }
	fn add(exe: Exe) { }
	fn clearProjects() { }
	fn action(fmt: scope (Fmt)) { }
	fn info(fmt: scope (Fmt)) { }
	fn abort(fmt: scope (Fmt)) { }
	fn getCmd(boot: bool, name: string) Command { }


protected:
	mLogFile: string;
	mConfig: Configuration;
	mHostConfig: Configuration;
	mBootstrapConfig: Configuration;
	mStore: Project[string];
	mExe: Exe[];
	mLib: Lib[];
	mPwd: string;
	mLLVMConf: string;
	mConf: string;
	mBootstrapCommands: Command[string];
	mTargetCommands: Command[string];
	mHostCommands: Command[string];
}
global log: Logger

So we get the right prefix on logged messages.

class DefaultDriver : Driver

Controls the flow of the program.