From 83371cd35dffe2052e034d1be5d23adebab0cd0a Mon Sep 17 00:00:00 2001 From: Andreas Coroiu Date: Mon, 1 Jul 2024 11:52:22 +0200 Subject: [PATCH] feat: always clean build and add better error handling --- apps/desktop/gulpfile.js | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/apps/desktop/gulpfile.js b/apps/desktop/gulpfile.js index 3183cd6b96d..cc2c0048ee0 100644 --- a/apps/desktop/gulpfile.js +++ b/apps/desktop/gulpfile.js @@ -1,14 +1,16 @@ const child = require("child_process"); +const fse = require("fs-extra"); const paths = { - build: "./build/", - dist: "./dist/", - node_modules: "./node_modules/", + extensionBuild: "./macos/build", macOsProject: "./macos/desktop.xcodeproj", - macOsBuild: "./build-macos", }; async function buildMacOs(cb) { + if (fse.existsSync(paths.extensionBuild)) { + fse.removeSync(paths.extensionBuild); + } + const proc = child.spawn("xcodebuild", [ "-project", paths.macOsProject, @@ -17,7 +19,16 @@ async function buildMacOs(cb) { "Release", ]); stdOutProc(proc); - await new Promise((resolve) => proc.on("close", resolve)); + await new Promise((resolve, reject) => + proc.on("close", (code) => { + if (code > 0) { + console.error("xcodebuild failed with code", code); + return reject(new Error(`xcodebuild failed with code ${code}`)); + } + console.log("xcodebuild success"); + resolve(); + }), + ); } function stdOutProc(proc) {