yonaskolb / yonaskolb/XcodeGen

XcodeGen stops generating schemes when using 'preAction' in a project with lots of schemes

Open
#1,409 1 comment 0 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

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
  1. Create a project.yml with more than 150 schemes.
  2. Set up a "preAction" in all schemes to run XcodeGen.
  3. 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

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.