yonaskolb / yonaskolb/XcodeGen
XcodeGen stops generating schemes when using 'preAction' in a project with lots of schemes
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 8.8k
- Forks
- 908
- Avg merge
- 17d 14h
- Merged PRs (30d)
- 2
Description
Problem Description
My application has over 150 schemes, and I'm attempting to run XcodeGen as a "preAction" in a scheme to simplify the project file to include only the necessary files. Each scheme is targeted for a different client, and each client has their own set of files for customizing the app's appearance. Originally, I had these files in different targets, but due to performance issues in Xcode, I want to keep the project file as lightweight as possible.
The issue is that when running a scheme, in most cases, XcodeGen stops before completing the project generation, and only a few schemes are actually created. I've logged the output to a log file, and all it shows is:
⚙️ Generating plists...
⚙️ Generating project...
⚙️ Writing project...
Additional Information
- XcodeGen Version: 2.37.0
Steps to Reproduce
- Create a project.yml with more than 150 schemes.
- Set up a "preAction" in all schemes to run XcodeGen.
- Execute a scheme.
Expected Behavior
I expect XcodeGen to successfully generate all schemes and finish building the project without interruptions.
Current Behavior
XcodeGen stops before completing the project generation
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 by reproducing the issue with the mentioned project.yml, more than 150 schemes, and XcodeGen invoked through a scheme preAction. Compare the generation output with the expected completion and inspect the project-generation path responsible for writing schemes. Done means XcodeGen completes without stopping and generates all schemes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- build-system, cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100