checkForUpdate function

void checkForUpdate()

Implementation

void checkForUpdate() async {
  if (!CliConfig.updateIsCheckingToday()) {
    if (!isDevVersion()) {
      await PubDevApi.getLatestVersionFromPackage('get_mad_cli').then((versionInPubDev) async {
        await PubspecLock.getVersionCli(disableLog: true).then((versionInstalled) async {
          if (versionInstalled == null) exit(2);

          final v1 = Version.parse(versionInPubDev!);
          final v2 = Version.parse(versionInstalled);
          final needsUpdate = v1.compareTo(v2);
          // needs update.
          if (needsUpdate == 1) {
            LogService.info(Translation(LocaleKeys.info_update_available.trArgs([versionInstalled])).toString());
            //await versionCommand();
            printGetCli();
            final String codeSample = LogService.code('get update');
            LogService.info('${LocaleKeys.info_update_available2.trArgs([versionInPubDev])}${' $codeSample'}', false, true);
          }
        });
      });
      CliConfig.setUpdateCheckToday();
    }
  }
}