updateGetCliYaml static method
bool
updateGetCliYaml(
- String key,
- dynamic value, {
- bool logger = true,
})
Implementation
static bool updateGetCliYaml(
String key,
dynamic value, {
bool logger = true,
}) {
try {
YamlMap? yaml;
bool isGetCli = false;
try {
yaml = getCliJson as YamlMap?;
isGetCli = true;
} catch (e) {
yaml = pubspecJson['get_cli'] as YamlMap?;
isGetCli = false;
}
final entries = yaml?.entries;
final yamlEditor = YamlEditor(
isGetCli ? PubspecUtils.getCliString : PubspecUtils.pubspecString,
);
final List<Object?> path = isGetCli ? [] : ['get_cli'];
final file =
isGetCli ? PubspecUtils._getCliFile : PubspecUtils._pubspecFile;
var newVaule = Map.fromEntries(entries ?? {})..[key] = value;
// 创建一个 YamlEditor 来编辑 YAML 文件
yamlEditor.update(path, newVaule);
file.writeAsStringSync(yamlEditor.toString());
} on Exception catch (_) {
return false;
}
if (logger) {
LogService.success(
LocaleKeys.sucess_update_yaml.trArgs(['$key: $value']),
);
}
return true;
}