Files
MLXServer/resolve-packages.sh

28 lines
989 B
Bash
Executable File

#!/bin/bash
set -euo pipefail
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_PATH="$PROJECT_DIR/MLXServer.xcodeproj"
RESOLVED_PATH="$PROJECT_PATH/project.xcworkspace/xcshareddata/swiftpm/Package.resolved"
SPM_STATE_DIR="$PROJECT_DIR/build/swiftpm"
PACKAGE_CACHE_PATH="$SPM_STATE_DIR/cache"
CLONED_SOURCES_PATH="$SPM_STATE_DIR/clones"
DERIVED_DATA_PATH="$PROJECT_DIR/build/DerivedData"
echo "==> Resolving Swift packages from project.yml constraints"
# For branch-based dependencies (like mlx-swift-lm main), force a fresh resolve
# so the lockfile follows the current branch head.
rm -f "$RESOLVED_PATH"
rm -rf "$PACKAGE_CACHE_PATH" "$CLONED_SOURCES_PATH"
rm -rf "$DERIVED_DATA_PATH"
mkdir -p "$PACKAGE_CACHE_PATH" "$CLONED_SOURCES_PATH"
xcodebuild \
-resolvePackageDependencies \
-project "$PROJECT_PATH" \
-scheme MLXServer \
-disablePackageRepositoryCache \
-packageCachePath "$PACKAGE_CACHE_PATH" \
-clonedSourcePackagesDirPath "$CLONED_SOURCES_PATH"