final public async function genRun()

in src/shipit/phase/ShipItPhase.php [40:65]


  final public async function genRun(
    ShipItManifest $manifest,
  ): Awaitable<void> {
    $logger = new ShipItVerboseLogger($manifest->isVerboseEnabled());

    if ($this->isSkipped()) {
      $logger->out("Skipping phase: %s", $this->getReadableName());
      return;
    }
    $logger->out("Starting phase: %s", $this->getReadableName());
    try {
      await $this->genRunImpl($manifest);
    } catch (ShipItExitException $e) {
      $logger->out("Finished phase: %s", $this->getReadableName());
      // This is used to signal that ShipIt is exiting, not a reportable
      // error message.
      throw $e;
    } catch (\Exception $e) {
      $logger->out(
        "Finished phase WITH EXCEPTION: %s",
        $this->getReadableName(),
      );
      throw $e;
    }
    $logger->out("Finished phase: %s", $this->getReadableName());
  }