MCPcopy Index your code
hub / github.com/getsentry/XcodeBuildMCP / collectSetupSelection

Function collectSetupSelection

src/cli/commands/setup.ts:863–965  ·  view source on GitHub ↗
(
  existingConfig: ProjectConfig | undefined,
  deps: SetupDependencies,
)

Source from the content-addressed store, hash-verified

861}
862
863async function collectSetupSelection(
864 existingConfig: ProjectConfig | undefined,
865 deps: SetupDependencies,
866): Promise<SetupSelection> {
867 const existing = normalizeExistingDefaults(existingConfig);
868
869 showPromptHelp(
870 'Enable debug mode to turn on more verbose logging and diagnostics while using XcodeBuildMCP.',
871 deps.quietOutput,
872 );
873 const debug = await deps.prompter.confirm({
874 message: 'Enable debug mode?',
875 defaultValue: existingConfig?.debug ?? false,
876 });
877
878 showPromptHelp(
879 'Disable Sentry telemetry to stop sending anonymous runtime diagnostics for XcodeBuildMCP itself (not your app, project code, or build errors).',
880 deps.quietOutput,
881 );
882 const sentryDisabled = await deps.prompter.confirm({
883 message: 'Disable Sentry telemetry?',
884 defaultValue: existingConfig?.sentryDisabled ?? false,
885 });
886
887 const platforms = await selectPlatforms({
888 existingPlatforms: inferPlatformsFromExisting(existingConfig),
889 prompter: deps.prompter,
890 quietOutput: deps.quietOutput,
891 });
892
893 const enabledWorkflows = await selectWorkflowIds({
894 debug,
895 existingConfig,
896 existingEnabledWorkflows: existingConfig?.enabledWorkflows ?? [],
897 platforms,
898 prompter: deps.prompter,
899 quietOutput: deps.quietOutput,
900 });
901
902 const isTTY = isInteractiveTTY();
903
904 const projectChoice = await selectProjectChoice({
905 cwd: deps.cwd,
906 existingProjectPath: existing.projectPath,
907 existingWorkspacePath: existing.workspacePath,
908 fs: deps.fs,
909 prompter: deps.prompter,
910 isTTY,
911 quietOutput: deps.quietOutput,
912 });
913
914 const scheme = await selectScheme({
915 projectChoice,
916 existingScheme: existing.scheme,
917 executor: deps.executor,
918 prompter: deps.prompter,
919 isTTY,
920 quietOutput: deps.quietOutput,

Callers 1

runSetupWizardFunction · 0.85

Calls 13

isInteractiveTTYFunction · 0.90
showPromptHelpFunction · 0.85
selectPlatformsFunction · 0.85
selectWorkflowIdsFunction · 0.85
selectProjectChoiceFunction · 0.85
selectSchemeFunction · 0.85
requiresSimulatorDefaultFunction · 0.85
selectSimulatorFunction · 0.85
requiresDeviceDefaultFunction · 0.85
selectDeviceFunction · 0.85

Tested by

no test coverage detected