Skip to content

Introduce swift-xcodegen #77406

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 6, 2024
Merged

Conversation

hamishknight
Copy link
Contributor

@hamishknight hamishknight commented Nov 5, 2024

This is a tool specifically designed to generate Xcode projects for the Swift repo (as well as a couple of adjacent repos such as LLVM and Clang). It aims to provide a much more user-friendly experience than the CMake Xcode generation (build-script --xcode). Forum post to follow.

Resolves #70604

This is a tool specifically designed to generate
Xcode projects for the Swift repo (as well as a
couple of adjacent repos such as LLVM and Clang).
It aims to provide a much more user-friendly experience
than the CMake Xcode generation (`build-script --xcode`).
@hamishknight
Copy link
Contributor Author

@swift-ci please smoke test

@hamishknight
Copy link
Contributor Author

Looks like swift-xcodegen.test is failing in CI (#77407). Passes locally, going to disable for now and will resolve tomorrow.

Generate a target for C/C++ files in the standard library (default: --stdlib)
--stdlib-swift/--no-stdlib-swift
Generate targets for Swift files in the standard library. This requires
using Xcode with with a main development snapshot (and as such is disabled
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit:

Suggested change
using Xcode with with a main development snapshot (and as such is disabled
using Xcode with a main development snapshot (and as such is disabled

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, will resolve in a follow-up

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resolving in #77415

@jamieQ
Copy link
Contributor

jamieQ commented Nov 6, 2024

wow, this is very exciting! i expect upon merge, this will also resolve #70604?

@hamishknight
Copy link
Contributor Author

🚢

@hamishknight hamishknight merged commit a9efa84 into swiftlang:main Nov 6, 2024
3 checks passed
@hamishknight hamishknight deleted the a-new-generation branch November 6, 2024 11:58
@amritpan
Copy link
Member

amritpan commented Nov 6, 2024

@hamishknight I'm running into this error when I attempt to generate an Xcode project using the new setup:

**error**: keyNotFound(CodingKeys(stringValue: "output", intValue: nil), Swift.DecodingError.Context(codingPath: [_JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"output\", intValue: nil) (\"output\").", underlyingError: nil))

This is after building the toolchain for --debug-swift

The full output is:

utils/generate-xcode /Users/amritpankaur/swift-project/build/Ninja-DebugAssert
Building for production...
[1/1] Write swift-version--58304C5D6DBC2206.txt
Build complete! (0.24s)
info: Generating project for '/Users/amritpankaur/swift-project/build/Ninja-DebugAssert'...
error: keyNotFound(CodingKeys(stringValue: "output", intValue: nil), Swift.DecodingError.Context(codingPath: [_JSONKey(stringValue: "Index 0", intValue: 0)], debugDescription: "No value associated with key CodingKeys(stringValue: \"output\", intValue: nil) (\"output\").", underlyingError: nil))

@hamishknight
Copy link
Contributor Author

@amritpan should be fixed by #77415

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.

Contributor Experience: Automate the Xcode workspace generation process
3 participants