yonaskolb / yonaskolb/XcodeGen

Serial Incremental Builds with Xcodegen vs. Parallel Builds with Tuist

Open
#1,488 0 comments 2 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.