main function
Implementation
void main(List<String> argv) {
final ArgParser parser = ArgParser();
parser.addOption(_kFileOption,
help: 'Specifies the file to edit samples in.');
parser.addOption(_kFlutterRootOption,
help: 'Specifies the location of the Flutter root directory.');
parser.addOption(_kDartUiRootOption,
help: 'Specifies the location of the dart:ui source directory.');
final ArgResults args = parser.parse(argv);
const FileSystem filesystem = LocalFileSystem();
Directory? flutterRoot;
if (args.wasParsed(_kFlutterRootOption)) {
flutterRoot = filesystem.directory(args[_kFlutterRootOption]! as String);
}
if (flutterRoot != null && !flutterRoot.existsSync()) {
io.stderr.writeln('Supplied --$_kFlutterRootOption directory '
'${args[_kFlutterRootOption]!} does not exist.');
io.exit(-1);
}
Directory? dartUiRoot;
if (args.wasParsed(_kDartUiRootOption)) {
dartUiRoot = filesystem.directory(args[_kDartUiRootOption]! as String);
}
if (dartUiRoot != null && !dartUiRoot.existsSync()) {
io.stderr.writeln('Supplied --$_kDartUiRootOption directory '
'${args[_kDartUiRootOption]!} does not exist.');
io.exit(-1);
}
File? workingFile;
if (args.wasParsed(_kFileOption)) {
workingFile = filesystem.file(args[_kFileOption]);
}
Model.resetInstance(
workingFile: workingFile,
flutterRoot: flutterRoot,
filesystem: filesystem,
dartUiRoot: dartUiRoot,
);
runApp(const MainApp());
}