buildAndroidDocs method

Future<int> buildAndroidDocs()

Builds Android changelogs.

Implementation

Future<int> buildAndroidDocs() async {
  logger.logDebug("[ANDROID] Start building Android changelogs...");
  final docs = await Process.run(
      "git", ["log", "--pretty=format:%s", "--since=yesterday.midnight"]);
  if (docs.exitCode != 0) {
    logger.logError("[ANDROID] Failed to retrieve Git logs.");
    return 1;
  }
  final log = docs.stdout.toString().replaceAll("'", "");
  await Files.androidChangeLogs
      .writeAsString(log, encoding: utf8, flush: true);

  Files.androidDistributionMetadataDir.list().toList().then((value) {
    for (var dir in value) {
      if (dir is Directory) {
        File("${dir.path}/changelogs/default.txt")
            .writeAsString(log, encoding: utf8, flush: true)
            .then((value) {
          logger.logDebug(
              "[ANDROID] Changelogs written to ${dir.path}/changelogs/default.txt");
        }).catchError((error) {
          logger.logError(
              "[ANDROID] Failed to write changelogs to ${dir.path}/changelogs/default.txt");
        });
      }
    }
  });
  return 0;
}