yonaskolb / yonaskolb/XcodeGen
Serial Incremental Builds with Xcodegen vs. Parallel Builds with Tuist
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 8.8k
- Forks
- 908
- Avg merge
- 17d 14h
- Merged PRs (30d)
- 2
Description
I've been working with both XcodeGen and Tuist for testing my Xcode projects. During my setup, I've observed that the incremental builds are handled differently between these two tools. Specifically, I've noticed that:
Xcodegen: Produces serial incremental builds.
Tuist: Produces parallel incremental builds for the same setup.
It's possible that it may not be an issue with Xcodegen but with this llbuild issue. However, given that Tuist-generated projects benefit from parallel incremental builds, it suggests that the issue might not lie with llbuild itself or maybe tuist generated projects have some workaround(potentially few settings that Xcode requires) that can also be applied to XcodeGen generated projects.
Are there any known differences in how Xcodegen and Tuist configure project settings that could explain this discrepancy in incremental builds parallelism?
Repro: https://github.com/chiragramani/Xcode-Serial-Incremental-Builds
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked reproduction project and compare the Xcode projects generated by XcodeGen and Tuist, focusing on settings that could affect incremental-build parallelism. Check the linked llbuild issue for relevant constraints; done means identifying and documenting a confirmed XcodeGen setting difference or workaround, or showing that the behavior is external to XcodeGen.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100