parser method
Implementation
@override
Future<void> parser(List<String> arguments) async {
final argResults = argParser.parse(arguments);
if (argResults['help']) {
stdout.writeln(argParser.usage);
return;
}
// 更新数字版本号
var result = await updateVersionCode();
if (!result) return;
// 生成构建信息
final buildInfo = await gitBuildInfo();
final buildInfoStr = 'const buildInfo = \'$buildInfo\';';
final generateFile = File(path.join(await PROJECT_PATH, 'lib/generated/build_config.g.dart'));
final content = <String>[];
if (!generateFile.existsSync()) {
generateFile.createSync(recursive: true);
content.addAll([license, buildInfoStr]);
} else {
content.addAll(generateFile.readAsLinesSync());
final index = content.indexWhere((element) => element.startsWith('const buildInfo ='));
content.replaceRange(index, index + 1, [buildInfoStr]);
}
result = await writeFile(generateFile, content);
if (result) {
logger.i('Process finished.');
}
}