yonaskolb / yonaskolb/XcodeGen

Currently .xcconfig files on Xcode don't seem to follow the folder hierarchy.

Open
#1,069 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

When using the top-level configFiles: label to point to individual .xcconfig files, it all works correctly, with the exception of how it's currently displayed in the xcode file drawer. The files I'm pointing to are two levels down the file hierarchy (we have a significant amount of them), but on Xcode they're displayed at the top level. Is this a bug, intended behaviour, or did I miss some aspect of the file spec?

Excerpt of project.yaml with names changed.

configs:
  APP DEV: debug
  APP1: release
  APP2: release
  APP3: release

configFiles:
  APP DEV: SourceFolder/Supporting Files/APP DEV/APP DEV.xcconfig
  APP1: SourceFolder/Supporting Files/APP1/APP1.xcconfig
  APP2: SourceFolder/Supporting Files/APP2/APP2.xcconfig
  APP3: SourceFolder/Supporting Files/APP3/APP3.xcconfig

targets:
  MainTarget:
    type: application
    platform: iOS
    deploymentTarget: "14.4"
    sources: [SourceFolder]
    configVariants:
      - APP1
      - APP2
      - APP3
      - APP DEV

On Xcode they show app at the top level as such:

-  MainTarget
    - APP DEV
        - APP DEV.xcconfig
     - APP1
         - APP1.xcconfig
     - APP2
         - APP2.xcconfig
      - APP3
         - APP3.xcconfig

And the Supporting Files folder appears empty. When inspecting the file locations on Xcode, I can see that it points to the right file, deeper inside the folder structure. Any clues on what's happening is appreciated.

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

Reproduce the issue using the supplied project.yaml excerpt, especially the configFiles paths, and inspect the generated Xcode project in the file drawer. Determine whether the displayed hierarchy should follow those paths; done means the behavior is corrected or its intended behavior is clearly established.

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.