35 lines
685 B
D
35 lines
685 B
D
import snapd;
|
||
import commandr;
|
||
import std.file;
|
||
|
||
import std.stdio : writeln;
|
||
|
||
import core.stdc.stdlib : EXIT_SUCCESS, EXIT_FAILURE;
|
||
|
||
private string programName = "snapd";
|
||
|
||
int main(string[] args)
|
||
{
|
||
auto argumets = new Program(programName, snapdVersion)
|
||
.add(new Option("c", "config", "Сonfiguration file path")
|
||
.optional
|
||
.validateEachWith(
|
||
opt => opt.exists && opt.isFile,
|
||
"A JSON file path must be provided"
|
||
)
|
||
)
|
||
.parse(args);
|
||
|
||
string configFile = argumets.option("config", "snapd.json");
|
||
|
||
SnapdConfig config;
|
||
|
||
try {
|
||
config = new SnapdConfig(configFile);
|
||
} catch (SnapdConfigException e) {
|
||
e.print();
|
||
return EXIT_FAILURE;
|
||
}
|
||
|
||
return EXIT_SUCCESS;
|
||
}
|