28 lines
989 B
Bash
Executable File
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"
|