addPlugin method

  1. @override
Future<void> addPlugin(
  1. AndroidPlugin plugin
)
override

Implementation

@override
Future<void> addPlugin(AndroidPlugin plugin) async {
  List<SearchResult> result = [];
  result = await buildFile.search("dependencies");
  if (result.isEmpty) {
    throw Exception("No dependencies tag into /android/build.gradle");
  }

  try {
    var currentPlugin = await getPlugin(plugin.name, plugin.version);
    return;
  } catch (error) {}

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

  var content = "";
  linesIndex.forEach((key, value) {
    if (key == result[0].index + 1) {
      content += "        classpath '${plugin.name}:${plugin.version}'\n";
    }
    content += "$value\n";
  });

  buildFile.writeAsStringSync(content);

  // TODO Apply Plugin
}