registerAssets function

Future<bool> registerAssets(
  1. String path
)

注册资源目录到pubspec.yaml文件中

Implementation

Future<bool> registerAssets(String path) async {
  final yamlFile = await getYamlFile();
  if (yamlFile == null) return false;
  var yamlMap = loadYaml(yamlFile.readAsStringSync()) as YamlMap;
  if (!yamlMap.containsKey('flutter')) {
    yamlFile.writeAsStringSync('\n\rflutter:', mode: FileMode.append, flush: true);
    yamlMap = loadYaml(yamlFile.readAsStringSync()) as YamlMap;
  }
  var flutter = yamlMap['flutter'] as YamlMap?;
  if (flutter == null || !flutter.containsKey('assets')) {
    yamlFile.writeAsStringSync('\r  assets:', mode: FileMode.append, flush: true);
    yamlMap = loadYaml(yamlFile.readAsStringSync()) as YamlMap;
  }
  final assets = flutter?['assets'] as YamlList?;
  if (assets == null || !assets.contains(path)) {
    yamlFile.writeAsStringSync('\r    - $path', mode: FileMode.append, flush: true);
    return true;
  }
  return false;
}