+101
justfile
+101
justfile
···
1
+
# AtProtoBackup Build Commands
2
+
3
+
# Default recipe to display available commands
4
+
default:
5
+
@just --list
6
+
7
+
# Build for iOS Simulator (iPhone 16 Pro)
8
+
build-ios-simulator:
9
+
xcodebuild build \
10
+
-project AtProtoBackup.xcodeproj \
11
+
-scheme AtProtoBackup \
12
+
-destination 'platform=iOS Simulator,name=iPhone 16 Pro,OS=18.6' \
13
+
-configuration Debug
14
+
15
+
# Build for iOS Device
16
+
build-ios-device:
17
+
xcodebuild build \
18
+
-project AtProtoBackup.xcodeproj \
19
+
-scheme AtProtoBackup \
20
+
-destination 'generic/platform=iOS' \
21
+
-configuration Debug
22
+
23
+
# Build for macOS
24
+
build-mac:
25
+
xcodebuild build \
26
+
-project AtProtoBackup.xcodeproj \
27
+
-scheme AtProtoBackup \
28
+
-destination 'platform=macOS' \
29
+
-configuration Debug
30
+
31
+
# Build for all platforms
32
+
build-all: build-ios-simulator build-ios-device build-mac
33
+
34
+
# Clean build artifacts
35
+
clean:
36
+
xcodebuild clean \
37
+
-project AtProtoBackup.xcodeproj \
38
+
-scheme AtProtoBackup
39
+
40
+
# Run tests on iOS Simulator
41
+
test-ios:
42
+
xcodebuild test \
43
+
-project AtProtoBackup.xcodeproj \
44
+
-scheme AtProtoBackup \
45
+
-destination 'platform=iOS Simulator,name=iPhone 16 Pro,OS=18.6' \
46
+
-configuration Debug
47
+
48
+
# Run tests on macOS
49
+
test-mac:
50
+
xcodebuild test \
51
+
-project AtProtoBackup.xcodeproj \
52
+
-scheme AtProtoBackup \
53
+
-destination 'platform=macOS' \
54
+
-configuration Debug
55
+
56
+
# Run all tests
57
+
test-all: test-ios test-mac
58
+
59
+
# Archive for iOS (Release build)
60
+
archive-ios:
61
+
xcodebuild archive \
62
+
-project AtProtoBackup.xcodeproj \
63
+
-scheme AtProtoBackup \
64
+
-destination 'generic/platform=iOS' \
65
+
-archivePath ./build/AtProtoBackup-iOS.xcarchive \
66
+
-configuration Release
67
+
68
+
# Archive for macOS (Release build)
69
+
archive-mac:
70
+
xcodebuild archive \
71
+
-project AtProtoBackup.xcodeproj \
72
+
-scheme AtProtoBackup \
73
+
-destination 'platform=macOS' \
74
+
-archivePath ./build/AtProtoBackup-macOS.xcarchive \
75
+
-configuration Release
76
+
77
+
# Build widget extension
78
+
build-widget:
79
+
xcodebuild build \
80
+
-project AtProtoBackup.xcodeproj \
81
+
-scheme WidgetExtensionExtension \
82
+
-destination 'platform=iOS Simulator,name=iPhone 16 Pro,OS=18.6' \
83
+
-configuration Debug
84
+
85
+
# Run the iOS app in simulator
86
+
run-ios:
87
+
xcodebuild build \
88
+
-project AtProtoBackup.xcodeproj \
89
+
-scheme AtProtoBackup \
90
+
-destination 'platform=iOS Simulator,name=iPhone 16 Pro,OS=18.6' \
91
+
-configuration Debug
92
+
open -a Simulator
93
+
xcrun simctl launch booted com.coreyja.AtProtoBackup || echo "App bundle ID may need updating"
94
+
95
+
# Open Xcode project
96
+
xcode:
97
+
open AtProtoBackup.xcodeproj
98
+
99
+
# Show available destinations
100
+
show-destinations:
101
+
xcodebuild -showdestinations -scheme AtProtoBackup -project AtProtoBackup.xcodeproj