updatePubspecYaml static method
Implementation
static Future<void> updatePubspecYaml({
Map<String, dynamic> Function(Map<String, dynamic>)? modifiedYamlCallback,
}) async {
final pubspecFile = File('pubspec.yaml');
String yamlString = pubspecFile.readAsStringSync();
final yamlMap = loadYaml(yamlString);
Map<String, dynamic> modifiedYamlMap = Map<String, dynamic>.from(yamlMap as Map);
if (!modifiedYamlMap.containsKey('flutter')) {
modifiedYamlMap['flutter'] = {
'assets': [],
};
}
if (!(modifiedYamlMap['flutter'] as Map).containsKey('assets')) {
var flutter = {
...(modifiedYamlMap['flutter'] as Map),
'assets': [],
};
modifiedYamlMap['flutter'] = flutter;
}
Map<String, dynamic> modifiedYamlMapCalled = {};
if (modifiedYamlCallback != null) {
modifiedYamlMapCalled = modifiedYamlCallback(modifiedYamlMap);
modifiedYamlMap = modifiedYamlMapCalled;
}
final yamlWriter = YamlWriter();
final modifiedYamlString = yamlWriter.write(modifiedYamlMap);
pubspecFile.writeAsStringSync(modifiedYamlString);
}