Skip to content

Comments

🐛 fix: install XcodeGen bundled resources#3

Merged
younke merged 1 commit intoyounke:masterfrom
gaelfoppolo:fix/install-resources
Jan 17, 2026
Merged

🐛 fix: install XcodeGen bundled resources#3
younke merged 1 commit intoyounke:masterfrom
gaelfoppolo:fix/install-resources

Conversation

@gaelfoppolo
Copy link
Contributor

Summary

This fixes a regression where the plugin installs only the xcodegen executable but omits XcodeGen’s bundled runtime resources (e.g. share/xcodegen and/or XcodeGen_XcodeGenKit.bundle).

When those resources are missing, xcodegen generate prints messages like:

  • No "base" settings found
  • No "release config" settings found
  • No "debug config" settings found
  • No "iOS" settings found

…and the generated .xcodeproj can end up with incomplete/empty build settings (e.g. SWIFT_VERSION missing) which then breaks downstream xcodebuild runs.

Root cause

The current install_version() implementation copies only:

  • ${ASDF_DOWNLOAD_PATH}/bin/xcodegen

But XcodeGen releases are not “single binary only”; they ship additional resources required at runtime.

Fix

  • Install the full extracted archive payload into the asdf install prefix (ASDF_INSTALL_PATH), not just bin/xcodegen.
  • Add a sanity check to fail fast if the bundled resources are missing after install (expects either share/xcodegen or XcodeGen_XcodeGenKit.bundle).

How to validate

asdf plugin add xcodegen https://github.com/younke/asdf-xcodegen.git
asdf install xcodegen 2.43.0

XCODEGEN_BIN="$(asdf which xcodegen)"
echo "$XCODEGEN_BIN"
ls -la "$(dirname "$XCODEGEN_BIN")/../share/xcodegen" || true

xcodegen generate

Expected:

- resource directory (or bundle) exists alongside the installed binary
- xcodegen generate runs without the “No … settings found” warnings

XcodeGen releases include runtime resources (e.g. share/xcodegen / XcodeGen_XcodeGenKit.bundle). Copy the full extracted archive into the asdf install prefix instead of only bin/xcodegen, and fail fast if resources are missing.
@younke
Copy link
Owner

younke commented Jan 17, 2026

@gaelfoppolo lgtm, ty

@younke younke merged commit 1a44a49 into younke:master Jan 17, 2026
4 checks passed
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.

2 participants