yonaskolb / yonaskolb/XcodeGen

Base settings erroneously added when only setting for configs

Open
#971 4 comments 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

I have a spec that sets CODE_SIGN_IDENTITY separately for a few configs, and does not set it at the base level.

We previously had a compiled version of xcodegen checked into our repository, which was version 2.7.0. The project generated successfully with this version with the expected settings:

1  previously working

I just upgraded our repo to use homebrew to manage installing xcodegen, and removed that compiled version we had checked in. Now, with version 2.18.0, we get a bogus base value set for this setting, which breaks our deploys at the code sign step:

2  now broken

I've verified this by feeding the same spec into both versions. You can see where the new unexpected settings are added at the target level. I expect this setting only to be set at the project level, and only for the configurations, not at the base level.

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 reported spec with XcodeGen 2.18.0 and compare its generated project settings with version 2.7.0. Trace how configuration-specific CODE_SIGN_IDENTITY values become target-level base settings; done means the generated project contains only the requested configuration-specific values and deploy signing is no longer broken.

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
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.