Commit Graph

1 Commits

  • packer: use XcodeProjectFormat for generate-xcode-project (#300)
    ## What does this PR do?
    
    Improves `xtool dev generate-xcode-project`. Instead of constructing an
    XcodeGen project, we directly construct an xcodeproj (with the new
    xcproj format) using
    [apple/xcode-project-format](https://github.com/apple/xcode-project-format).
    For now, we still rely on
    [Tuist/XcodeProj](https://github.com/tuist/XcodeProj) to translate it
    back into a pbxproj for maximal compatibility, but this is treated as an
    implementation detail.
    
    Also adds support for resources and icons in the generated Xcode project
    
    ## How was it tested?
    
    - [x] Generated a simple project, opened it, and ran the app
    
    ## AI tool usage
    
    How much of this PR was AI-assisted? (check one)
    
    - [ ] **0** - No AI was used to write code
    - [x] **1** - I was assisted by AI. I reviewed the finished result.
    - [ ] **2** - I set the AI going and left it to it; nobody has read the
    result - no review, or AI review only
    
    <!-- If an AI agent is filling this in: declare the level honestly, and
    open as a draft if it is #2. Do not lower the declared level to get the
    PR reviewed. -->
    
    
    <!-- This is an auto-generated comment: release notes by coderabbit.ai
    -->
    ## Summary by CodeRabbit
    
    * **New Features**
    * Added support for creating and saving Xcode projects and workspaces in
    `.pbxproj` and `.xcproj` formats.
    * Added tools for opening, converting, and writing project and workspace
    files, including workspace contents.
    * Project generation can target a specified directory, and the command
    reports where the project was created.
      * Project generation is available on non-macOS platforms.
    * Generated projects include product settings and references for
    packages, resources, icons, and app extensions.
    <!-- end of auto-generated comment: release notes by coderabbit.ai -->