updateLibrary method

  1. @override
Future<void> updateLibrary(
  1. AndroidLibrary library
)
override

Implementation

@override
Future<void> updateLibrary(AndroidLibrary library) async {
  List<SearchResult> result = [];
  result = await buildFile.search("dependencies");
  if (result.isEmpty) {
    throw Exception("No libraries tag into /android/app/build.gradle");
  }
  await listLibraries();

  var libraryIndex = -1;
  for (var element in _cache.entries) {
    if (element.value.name == library.name &&
        element.value.version?.trim() == library.version?.trim()) {
      libraryIndex = element.key;
      break;
    }
  }

  if (libraryIndex == -1) {
    printWarning("No Android Library Matched ");
    return;
  }

  Map<int, String> linesIndex = await buildFile.linesIndexed();

  String content = "";
  linesIndex.forEach((key, value) {
    if (key != libraryIndex) {
      content += '    implementation "${library.name}:${library.version}"\n';
    }
  });

  buildFile.writeAsStringSync(content);
}