runBuilder method

Future<int> runBuilder(
  1. BuilderJob builder,
  2. ConfigParser config
)

Implementation

Future<int> runBuilder(BuilderJob builder, ConfigParser config) async {
  logger.logEmpty();
  List<int> results = [];

  if (builder.android != null) {
    logger.logInfo("Building Android binary");
    final androidResult = await builder.android!
        .build()
        .then((value) {
          logger.logEmpty();
          logger.logSuccess("Android build finished");
          return value;
        })
        .catchError((error) {
          logger.logEmpty();
          logger.logError("Android build failed with error: $error");
          return 1;
        });

    results.add(androidResult);
  }

  if (builder.ios != null) {
    logger.logInfo("Building iOS binary");
    final iosResult = await builder.ios!
        .build()
        .then((value) {
          logger.logEmpty();
          logger.logSuccess("iOS build finished");
          return value;
        })
        .catchError((error) {
          logger.logEmpty();
          logger.logError("iOS build failed with error: $error");
          return 1;
        });
    results.add(iosResult);
  }

  if (results.isEmpty) {
    logger.logError("No build results found.");
    return 1;
  }
  return results.reduce((value, element) => value + element);
}