Conversation
…erator The release workflow uses xcodebuild via generate_xcodeproj.py to build the macOS DMG wrapper. PR 57 introduced ModelArchitectureProbe.swift to MLXInferenceCore, and also added an import for MLXVLM in InferenceEngine.swift. This commit adds both the missing source file and the missing SPM product dependency to generate_xcodeproj.py so that the UI can build successfully.
There was a problem hiding this comment.
Pull request overview
Updates the Xcode project generator so the macOS DMG wrapper build includes the newly added MLXVLM SPM product dependency and the ModelArchitectureProbe.swift source file, fixing the no such module 'MLXVLM' failure introduced by PR #57.
Changes:
- Adds
MLXVLMas anXCSwiftPackageProductDependencyand links it in the Frameworks build phase. - Registers
ModelArchitectureProbe.swiftin theMLXInferenceCoresources list used by the generator. - Updates the generator’s console output list to include
ModelArchitectureProbe.swift.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| print("📂 MLXInferenceCore sources included directly:") | ||
| for p, _, _ in [("ChatMessage", None, None), ("GenerationConfig", None, None), | ||
| ("ModelCatalog", None, None), ("ModelDownloadManager", None, None), | ||
| ("InferenceEngine", None, None)]: | ||
| ("ModelArchitectureProbe", None, None), ("InferenceEngine", None, None)]: | ||
| print(f" • {p}.swift") |
There was a problem hiding this comment.
The "MLXInferenceCore sources included directly" output is maintained as a hard-coded list, which has already drifted from core_sources and required a manual update for ModelArchitectureProbe. Consider deriving this list from core_sources (e.g., printing Path(path).stem for each entry) so future file additions don’t require updating two places and the output stays accurate.
| \t\t\t\t{PROD_MLX} /* MLX */, | ||
| \t\t\t\t{PROD_MLXLLM} /* MLXLLM */, | ||
| \t\t\t\t{PROD_MLXLMC} /* MLXLMCommon */, | ||
| {PROD_MLXVLM} /* MLXVLM */, |
There was a problem hiding this comment.
Same indentation inconsistency as above in the packageProductDependencies list (the MLXVLM entry is not aligned/escaped like adjacent entries). Consider matching the surrounding \t\t\t\t... formatting for readability and stable generated output.
| {PROD_MLXVLM} /* MLXVLM */, | |
| \t\t\t\t{PROD_MLXVLM} /* MLXVLM */, |
| }}; | ||
| {PROD_MLXVLM} /* MLXVLM */ = {{ | ||
| isa = XCSwiftPackageProductDependency; | ||
| package = {PKG_MLXLM}; | ||
| productName = MLXVLM; | ||
| \t\t}}; |
There was a problem hiding this comment.
In the XCSwiftPackageProductDependency section, the newly added MLXVLM block (and the preceding MLXLMCommon block terminator) use different indentation than the rest of the section. Aligning these lines with the established \t\t... indentation keeps the generator output consistent and easier to maintain.
| }}; | |
| {PROD_MLXVLM} /* MLXVLM */ = {{ | |
| isa = XCSwiftPackageProductDependency; | |
| package = {PKG_MLXLM}; | |
| productName = MLXVLM; | |
| \t\t}}; | |
| \t\t}}; | |
| \t\t{PROD_MLXVLM} /* MLXVLM */ = {{ | |
| \t\t\tisa = XCSwiftPackageProductDependency; | |
| \t\t\tpackage = {PKG_MLXLM}; | |
| \t\t\tproductName = MLXVLM; | |
| \t\t}}; |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Summary
PR #57 introduced two new entities to
InferenceEngine.swiftandMLXInferenceCore:ModelArchitectureProbe.swift(new source file)import MLXVLM(new SPM product dependency)The
SwiftBuddy/generate_xcodeproj.pyscript that generates the Xcode project for the macOS DMG wrapper was not updated with these additions, causing the Build macOS DMG Wrapper release job to fail with:Changes
MLXVLMas an SPM product dependency (from localmlx-swift-lmpackage)ModelArchitectureProbe.swiftto theMLXInferenceCoresource groupxcodebuildrun (BUILD SUCCEEDED)