Problem
When incrementalBuildsEnabled: true is set in .xcodebuildmcp/config.yaml, the xcodemake tool writes build log files directly into the project root directory. The filenames are the full command line, resulting in files like:
xcodemake -project MyApp.xcodeproj -scheme MyApp -configuration Debug -skipMacroValidation -destination platform=iOS Simulator,id=XXXX build.log
Each variation in build parameters (different simulator ID, extra flags like -quiet, clean, COMPILER_INDEX_STORE_ENABLE=NO, etc.) creates a separate log file. Over time this pollutes the project root with dozens of log files.
While .gitignore can prevent them from being committed, they still clutter the working directory, show up in IDE file explorers, and are generally not where build artifacts belong.
Proposed Solution
Add a configuration option (e.g. logDirectory) in .xcodebuildmcp/config.yaml to specify where xcodemake log files are written. For example:
incrementalBuildsEnabled: true
logDirectory: .xcodebuildmcp/logs
A sensible default like .xcodebuildmcp/logs/ or artifacts/logs/ would also be welcome, rather than the project root.
Environment
- XcodeBuildMCP with
incrementalBuildsEnabled: true
- macOS, Xcode 26
Problem
When
incrementalBuildsEnabled: trueis set in.xcodebuildmcp/config.yaml, thexcodemaketool writes build log files directly into the project root directory. The filenames are the full command line, resulting in files like:Each variation in build parameters (different simulator ID, extra flags like
-quiet,clean,COMPILER_INDEX_STORE_ENABLE=NO, etc.) creates a separate log file. Over time this pollutes the project root with dozens of log files.While
.gitignorecan prevent them from being committed, they still clutter the working directory, show up in IDE file explorers, and are generally not where build artifacts belong.Proposed Solution
Add a configuration option (e.g.
logDirectory) in.xcodebuildmcp/config.yamlto specify where xcodemake log files are written. For example:A sensible default like
.xcodebuildmcp/logs/orartifacts/logs/would also be welcome, rather than the project root.Environment
incrementalBuildsEnabled: true