Skip to content

Commit 39a6480

Browse files
committed
Major refactor of Support scripts
1 parent 84b4547 commit 39a6480

File tree

11 files changed

+477
-402
lines changed

11 files changed

+477
-402
lines changed

Support/Scripts/build_rust_dependencies renamed to Support/Scripts/CI/build_rust_dependencies

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ LIBPACT_FFI_DIR="${WORKSPACE}/pact-reference/rust/pact_ffi"
3434
LIBPACT_FFI_VERSION=$(awk 'NR==1 {print; exit}' libpact_ffi.version)
3535

3636
# "import"
37-
source "$SOURCE_DIR/utils.sh"
38-
source "$SOURCE_DIR/configure_rust_tools"
37+
source "$SOURCE_DIR/../utils.sh"
38+
source "$SOURCE_DIR/../Config/configure_rust_tools.sh"
3939

4040
#######################
4141
# Pre-requisite #
Lines changed: 37 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
#!/usr/bin/env bash
2+
# shellcheck disable=SC1091
23

34
# PactSwiftMockService
45
#
@@ -26,8 +27,11 @@ set -o pipefail
2627
IPHONEOS_DEPLOYMENT_TARGET=16.0
2728
MACOSX_DEPLOYMENT_TARGET=13.0
2829

29-
TMP_DIR="../../.tmp/build-xcframework"
30+
BUILD_XCFRAMEWORK_SOURCE_DIR="${BASH_SOURCE[0]%/*}"
31+
32+
TMP_DIR="${BUILD_XCFRAMEWORK_SOURCE_DIR}/../../../.tmp/build-xcframework"
3033
PRODUCT_NAME="PactSwiftMockServer"
34+
source "${BUILD_XCFRAMEWORK_SOURCE_DIR}/../utils.sh"
3135

3236
# Only use xcbeautify if it can be found in path.
3337
XCBEAUTIFY=$(command -v xcbeautify || command -v cat)
@@ -40,78 +44,70 @@ XCBEAUTIFY=$(command -v xcbeautify || command -v cat)
4044
# Otherwise a _concurrency fatal issue will be raised if PactSwiftMockSerer is
4145
# used in a project built with Xcode 12.x
4246

43-
echo "⚠️ Checking for the right Xcode tools..."
44-
xcode-select -p && xcode-select -v
45-
46-
echo "🚨 Are you running this using Xcode 16.x tools!?"
47-
select yn in "Yes" "No"; do
48-
case $yn in
49-
Yes) break;;
50-
No) exit 1;;
51-
esac
52-
done
47+
check_xcode
5348

5449
# Setup
55-
56-
echo "ℹ️ Looking for ${PRODUCT_NAME}.xcodeproj"
57-
if [ ! -d "${PRODUCT_NAME}.xcodeproj" ]; then
58-
echo "🚨 Run this in the same folder as \"${PRODUCT_NAME}.xcodeproj\"."
50+
echo "ℹ️ Looking for $PRODUCT_NAME.xcodeproj"
51+
if [ ! -d "$PRODUCT_NAME.xcodeproj" ]; then
52+
echo "🚨 Run this in the same folder as \"$PRODUCT_NAME.xcodeproj\"!"
53+
echo "Your current location is: $(pwd)"
5954
exit 1
6055
fi
6156

62-
echo "ℹ️ Removing existing XCFramework"
63-
rm -fr "./${PRODUCT_NAME}.xcframework"
64-
echo "👍 Removed existing XCFramework"
57+
echo "ℹ️ Removing deprecated XCFramework..."
58+
rm -fr "./$PRODUCT_NAME.xcframework"
59+
echo "👍 Removed deprecated XCFramework"
6560

66-
echo "ℹ️ Preparing ${TMP_DIR} folder"
67-
mkdir -p $TMP_DIR
68-
rm -fr $TMP_DIR
61+
echo "ℹ️ Setting up $TMP_DIR folder"
62+
rm -fr "$TMP_DIR"
63+
mkdir -p "$TMP_DIR"
6964

7065
# iOS
7166

7267
echo "🏗 Building for iOS..."
7368
xcodebuild archive \
74-
-sdk iphoneos IPHONEOS_DEPLOYMENT_TARGET=${IPHONEOS_DEPLOYMENT_TARGET} \
69+
-sdk iphoneos IPHONEOS_DEPLOYMENT_TARGET=$IPHONEOS_DEPLOYMENT_TARGET \
7570
-arch arm64 \
76-
-scheme "${PRODUCT_NAME}-iphoneos" \
77-
-archivePath "${TMP_DIR}/iphoneos/${PRODUCT_NAME}.xcarchive" \
71+
-scheme "$PRODUCT_NAME-iphoneos" \
72+
-archivePath "$TMP_DIR/iphoneos/$PRODUCT_NAME.xcarchive" \
7873
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
79-
SKIP_INSTALL=NO | ${XCBEAUTIFY}
80-
81-
echo "👍 Framework for arm64 device built"
74+
SKIP_INSTALL=NO | $XCBEAUTIFY
75+
echo "👍 Framework for physical arm64 device built"
8276

8377
echo "🏗 Building for iOS Simulator..."
8478
xcodebuild archive \
85-
-sdk iphonesimulator IPHONEOS_DEPLOYMENT_TARGET=${IPHONEOS_DEPLOYMENT_TARGET} \
86-
-arch x86_64 -arch arm64 \
87-
-scheme "${PRODUCT_NAME}-iOS" \
88-
-archivePath "${TMP_DIR}/iphonesimulator/${PRODUCT_NAME}.xcarchive" \
79+
-sdk iphonesimulator IPHONEOS_DEPLOYMENT_TARGET=$IPHONEOS_DEPLOYMENT_TARGET \
80+
-arch x86_64 \
81+
-arch arm64 \
82+
-scheme "$PRODUCT_NAME-iOS" \
83+
-archivePath "$TMP_DIR/iphonesimulator/$PRODUCT_NAME.xcarchive" \
8984
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
90-
SKIP_INSTALL=NO | ${XCBEAUTIFY}
85+
SKIP_INSTALL=NO | $XCBEAUTIFY
9186
echo "👍 Framework for iOS Simulator built for x86_64 and arm64 architecture"
9287

9388
# macOS
9489

9590
echo "🏗 Building for macOS..."
9691
xcodebuild archive \
97-
-sdk macosx MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET} \
98-
-arch x86_64 -arch arm64 \
99-
-scheme "${PRODUCT_NAME}-macOS" \
100-
-archivePath "${TMP_DIR}/macos/${PRODUCT_NAME}.xcarchive" \
92+
-sdk macosx MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET \
93+
-arch x86_64 \
94+
-arch arm64 \
95+
-scheme "$PRODUCT_NAME-macOS" \
96+
-archivePath "$TMP_DIR/macos/$PRODUCT_NAME.xcarchive" \
10197
BUILD_LIBRARY_FOR_DISTRIBUTION=YES \
102-
SKIP_INSTALL=NO | ${XCBEAUTIFY}
98+
SKIP_INSTALL=NO | $XCBEAUTIFY
10399
echo "👍 Framework for macOS built for x86_64 and arm64 architectures"
104100

105101
# XCFramework
106102

107103
echo "🏗 Building XCFramework..."
108104
xcodebuild -create-xcframework -output ./$PRODUCT_NAME.xcframework \
109-
-framework $TMP_DIR/iphoneos/$PRODUCT_NAME.xcarchive/Products/Library/Frameworks/$PRODUCT_NAME.framework \
110-
-framework $TMP_DIR/iphonesimulator/$PRODUCT_NAME.xcarchive/Products/Library/Frameworks/$PRODUCT_NAME.framework \
111-
-framework $TMP_DIR/macos/$PRODUCT_NAME.xcarchive/Products/Library/Frameworks/$PRODUCT_NAME.framework
105+
-framework "$TMP_DIR"/iphoneos/$PRODUCT_NAME.xcarchive/Products/Library/Frameworks/"$PRODUCT_NAME".framework \
106+
-framework "$TMP_DIR"/iphonesimulator/$PRODUCT_NAME.xcarchive/Products/Library/Frameworks/"$PRODUCT_NAME".framework \
107+
-framework "$TMP_DIR"/macos/$PRODUCT_NAME.xcarchive/Products/Library/Frameworks/"$PRODUCT_NAME".framework
112108

113109
# Cleanup
114110
echo "ℹ️ Removing $TMP_DIR folder..."
115-
rm -fr $TMP_DIR
111+
rm -fr "$TMP_DIR"
116112

117113
echo "🎉 Done!"

Support/Scripts/CI/bump_version_number

Lines changed: 0 additions & 76 deletions
This file was deleted.

0 commit comments

Comments
 (0)