import { prepareEnvironmentVariables } from "../docker/utils"; import { getBuildAppDirectory } from "../filesystem/directory"; import type { ApplicationNested } from "."; export const getPaketoCommand = (application: ApplicationNested) => { const { env, appName, cleanCache } = application; const buildAppDirectory = getBuildAppDirectory(application); const envVariables = prepareEnvironmentVariables( env, application.environment.project.env, application.environment.env, ); const args = [ "build", appName, "--path", buildAppDirectory, "--builder", "paketobuildpacks/builder-jammy-full", ]; if (cleanCache) { args.push("--clear-cache"); } for (const env of envVariables) { args.push("--env", `'${env}'`); } const command = `pack ${args.join(" ")}`; const bashCommand = ` echo "Starting Paketo build..." ; ${command} || { echo "❌ Paketo build failed" ; exit 1; } echo "✅ Paketo build completed." ; `; return bashCommand; };