yonaskolb / yonaskolb/XcodeGen
"optional: true" causes an existing source to be excluded
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 8.8k
- Forks
- 908
- Avg merge
- 17d 14h
- Merged PRs (30d)
- 2
Description
Environment:
- xcodegen 2.4.0
- macOS 10.4.4
- Xcode 10.2
Folder structure:
.
├── Sources
│ └── test.swift
└── spec
└── project.yml
project.yml:
name: MyApp
targets:
MyApp:
type: application
platform: iOS
sources:
- path: ../Sources
optional: true
CLI command: xcodegen -s spec/project.yml -p .
Resulting Xcode project:

Note: Sources is missing.
If I remove optional: true, "Sources" appears:

Also note: in this case, the "Sources" group has invalid file path in Xcode project (that's why test.swift is rendered in gray):
- Expected:
Sources - Actual:
../Sources
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
Reproduce the issue with spec/project.yml, Sources/test.swift, and the supplied xcodegen -s spec/project.yml -p . command. Compare the generated project with the expected Sources group: optional: true should retain the existing source, and the non-optional case should use Sources rather than ../Sources as its path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift, yaml
- Domain
- build-system, cli
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 48/100