Skip to content

Update build settings and comment writer for Xcode 27#51

Merged
EvanBacon merged 2 commits into
mainfrom
@evanbacon/xcode-27-updates
Jun 9, 2026
Merged

Update build settings and comment writer for Xcode 27#51
EvanBacon merged 2 commits into
mainfrom
@evanbacon/xcode-27-updates

Conversation

@EvanBacon

Copy link
Copy Markdown
Owner

Summary

Brings @bacons/xcode up to date with Xcode 27.

  • New build settings in src/json/types.ts — adds 22 modern/Xcode-27 settings (deployment targets, launch & library load constraints, EU alternative distribution, AI model build, compilation caching, explicit modules, Embedded Swift, sticker asset catalog options, localization, etc.), each with a @since annotation denoting first availability.
  • Verbose configuration comments — when objectVersion >= 90 (Xcode 27.0), the writer now emits the descriptive comment style, e.g. Debug configuration for PBXNativeTarget "App" instead of the bare Debug. Older project versions keep the terse form.
  • Fixed PBXProject name resolution — the unnamed project object is now labeled from the first target's product reference basename (App.appApp), matching Xcode. This also corrects the existing build-configuration-list comment for projects where the target name and productName diverge.
  • New fixture 011-swift-ios-27.pbxproj added to both the parse and round-trip test arrays; it round-trips byte-for-byte.

Test plan

  • bun test — 661 pass / 0 fail
  • npx tsc --noEmit — clean

EvanBacon added 2 commits June 9, 2026 10:58
Detect Xcode >= 27 (objectVersion >= 90) and emit more descriptive XCConfiguration comments. Extracted logic to resolve the owner (isa and display name) of an XCConfigurationList, derive a project name from a target's product reference when necessary, and add getXCBuildConfigurationComment to produce either simple names or verbose "<name> configuration for <isa> \"<owner>\"" comments. Also update the reference cache to include XCBuildConfiguration entries. Re-enable the 011-swift-ios-27.pbxproj test fixture.
@EvanBacon EvanBacon merged commit 1731d01 into main Jun 9, 2026
1 check passed
@EvanBacon EvanBacon deleted the @evanbacon/xcode-27-updates branch June 9, 2026 18:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant