suggestCodeGenerationPreDeployHook static method

Future<void> suggestCodeGenerationPreDeployHook(
  1. CommandLogger logger,
  2. ProjectLaunch projectSetup
)

Implementation

static Future<void> suggestCodeGenerationPreDeployHook(
  final CommandLogger logger,
  final ProjectLaunch projectSetup,
) async {
  if (!projectSetup.includePreDeployScripts) return;

  final configFilePath = projectSetup.configFilePath;
  ScloudConfig? existingConfig;
  try {
    existingConfig = ScloudConfigIO.readFromFile(configFilePath);
  } catch (_) {
    logger.debug('Failed to read config file at $configFilePath');
  }

  final codeGenerationHook = 'serverpod generate';

  final existingPreDeploy = existingConfig?.scripts.preDeploy ?? [];
  if (existingPreDeploy.contains(codeGenerationHook)) return;

  logger.debug(
    "Adding code generation ('serverpod generate') as a pre-deploy hook.",
  );
  projectSetup.suggestedPreDeployScripts.add(codeGenerationHook);
}