Skip to content

Commit dcbf963

Browse files
Fix regex for extracting Xcode build settings with whitespace
Co-authored-by: web <web@cameroncooke.com>
1 parent 21c6628 commit dcbf963

3 files changed

Lines changed: 8 additions & 6 deletions

File tree

src/mcp/tools/macos/build_run_macos.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,8 +113,8 @@ async function _getAppPathFromBuildSettings(
113113

114114
// Parse the output to extract the app path
115115
const buildSettingsOutput = result.output;
116-
const builtProductsDirMatch = buildSettingsOutput.match(/BUILT_PRODUCTS_DIR = (.+)$/m);
117-
const fullProductNameMatch = buildSettingsOutput.match(/FULL_PRODUCT_NAME = (.+)$/m);
116+
const builtProductsDirMatch = buildSettingsOutput.match(/^\s*BUILT_PRODUCTS_DIR\s*=\s*(.+)$/m);
117+
const fullProductNameMatch = buildSettingsOutput.match(/^\s*FULL_PRODUCT_NAME\s*=\s*(.+)$/m);
118118

119119
if (!builtProductsDirMatch || !fullProductNameMatch) {
120120
return { success: false, error: 'Could not extract app path from build settings' };

src/mcp/tools/simulator/build_run_simulator.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,8 +214,10 @@ export async function build_run_simulatorLogic(
214214
appBundlePath = appPathMatch[1].trim();
215215
} else {
216216
// Workspace approach: Extract BUILT_PRODUCTS_DIR and FULL_PRODUCT_NAME
217-
const builtProductsDirMatch = buildSettingsOutput.match(/BUILT_PRODUCTS_DIR = (.+)$/m);
218-
const fullProductNameMatch = buildSettingsOutput.match(/FULL_PRODUCT_NAME = (.+)$/m);
217+
const builtProductsDirMatch = buildSettingsOutput.match(
218+
/^\s*BUILT_PRODUCTS_DIR\s*=\s*(.+)$/m,
219+
);
220+
const fullProductNameMatch = buildSettingsOutput.match(/^\s*FULL_PRODUCT_NAME\s*=\s*(.+)$/m);
219221

220222
if (builtProductsDirMatch && fullProductNameMatch) {
221223
const builtProductsDir = builtProductsDirMatch[1].trim();

src/mcp/tools/simulator/get_simulator_app_path.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,8 +224,8 @@ export async function get_simulator_app_pathLogic(
224224
}
225225

226226
const buildSettingsOutput = result.output;
227-
const builtProductsDirMatch = buildSettingsOutput.match(/BUILT_PRODUCTS_DIR = (.+)$/m);
228-
const fullProductNameMatch = buildSettingsOutput.match(/FULL_PRODUCT_NAME = (.+)$/m);
227+
const builtProductsDirMatch = buildSettingsOutput.match(/^\s*BUILT_PRODUCTS_DIR\s*=\s*(.+)$/m);
228+
const fullProductNameMatch = buildSettingsOutput.match(/^\s*FULL_PRODUCT_NAME\s*=\s*(.+)$/m);
229229

230230
if (!builtProductsDirMatch || !fullProductNameMatch) {
231231
return createTextResponse(

0 commit comments

Comments
 (0)