module battery.frontend.scanner

Holds the code for searching a directory and automatically creating a project from that.

Code Map

//! Holds the code for searching a directory and automatically creating a
//! project from that.
module battery.frontend.scanner;


enum PathRt;
enum PathSrc;
enum PathRes;
enum PathTest;
enum PathMainD;
enum PathMainVolt;
enum PathBatteryTxt;
enum PathBatteryToml;
enum PathTestJson;
enum PathTestSimple;

struct Scanner
{
public:
	drv: Driver;
	inputPath: string;
	name: string;
	hasSrc: bool;
	hasRes: bool;
	hasPath: bool;
	hasTest: bool;
	hasMainD: bool;
	hasMainVolt: bool;
	hasBatteryToml: bool;
	path: string;
	pathRt: string;
	pathSrc: string;
	pathRes: string;
	pathTest: string;
	pathMainD: string;
	pathMainVolt: string;
	pathBatteryToml: string;
	pathDerivedBin: string;
	pathSimpleTests: string[];
	pathJsonTests: string[];
	pathSubProjects: string[];
	filesC: string[];
	filesD: string[];
	filesVolt: string[];


public:
	fn scan(drv: Driver, inputPath: string) { }
	fn getInPath(file: string) string { }
	fn buildExe() Exe { }
	fn buildLib() Lib { }
	fn buildCommon(p: Project) { }
}

//! Scan a directory and see what it holds.
fn scanDir(drv: Driver, c: Configuration, onProject: scope (void delegate(Project)), path: string, parent: string) { }
fn rootify(root: string, path: string) string { }
fn printInfo(drv: Driver, lib: Lib, s: Scanner) { }
fn printInfo(drv: Driver, exe: Exe, s: Scanner) { }
fn printInfoCommon(drv: Driver, p: Project, s: Scanner) { }
fn processBatteryCmd(drv: Driver, c: Configuration, b: Project, s: Scanner) { }
fn deepScan(path: string, ending: string, omissions: string[]) string[] { }
fn scanDir(drv: Driver, c: Configuration, onProject: scope (void delegate(Project)), path: string, parent: string)

Scan a directory and see what it holds.