alias xcbuild=$(xcode-select -p)/../SharedFrameworks/XCBuild.framework/Versions/A/Support/xcbuild
# THIS DOESNT WORK YET: xcbuild openIDEConsole # … then switch to Xcode ➡️
xcbuild showSpecs
xcbuild build <foo.pif> [—target <target>]
# Some minimal additional logging (this is safe to leave on).
defaults write com.apple.dt.XCBuild EnableDebugActivityLogs -bool YES
# Enable build debugging mode (safe to leave on, but slows down the build system & litters DerivedData/<project>/Build/Intermediates.noindex), generally should only be enabled when trying to capture a trace for incremental build debugging purposes.
defaults write com.apple.dt.XCBuild EnableBuildDebugging -bool YES
# You can also use:
env EnableBuildDebugging=YES xcodebuild -UseNewBuildSystem=1 ...
# Use `xcbuild` to dump a headermap.
xcbuild headermap --dump <path>
open with Internal > XCBuild Console
writePIF <workspace name> <path>
# … you can use this with the `xcbuild build …` command (above) to build via the service directly
showStatistics
clearAllCaches
setConfig EnableBuildDebugging true
# … then save DerivedData & build log; same as above dwrite, but not persisted
@manuyavuz not yet, but we are actively working on code in the llbuild project (https://github.com/apple/swift-llbuild) to help with analysis.
Were you doing something special with modifying mtime? llbuild enforces exact match of mtime as well as some other file attributes.