yonaskolb / yonaskolb/XcodeGen

Allow for arrays as templateAttributes

Open
#991 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

Use case: We want to define a list of custom fonts per target within the generated Info.plist.

This is our template (simplified):

targetTemplates:
  App:
    info:
      UIAppFonts: ${fonts}

This is the target (automatically generated, based on a tenant configuration file and folder content):

targets:
  Tenant1:
    templates:
      - App
    templateAttributes:
      fonts:
        - MyFont-Italic.ttf
        - MyFontBlack.ttf

So, I would want the resulting Info.plist to contain:

<key>UIAppFonts</key>
<array>
  <string>MyFont-Italic.ttf</string>
  <string>MyFont Black.ttf</string>
</array>

However, in the current state of XcodeGen, the result is:

<key>UIAppFonts</key>
<string>${fonts}</string>

Could this be a useful addition?

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 tracing how targetTemplates and templateAttributes are expanded into Info.plist values. Confirm the change by generating a project from the YAML examples and checking that ${fonts} becomes an array of strings in the resulting Info.plist.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift, yaml
Domain
build-system, tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 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.