2
2
#
3
3
# Build script for Nudge
4
4
5
+ check_exit_code () {
6
+ if [ " $1 " != " 0" ]; then
7
+ echo " $2 : $1 " 1>&2
8
+ exit 1
9
+ fi
10
+ }
11
+
5
12
# Variables
6
13
XCODE_PATH=" /Applications/Xcode_15.4.app"
7
14
APP_SIGNING_IDENTITY=" Developer ID Application: Mac Admins Open Source (T4SK8ZXCXG)"
42
49
# Perform unit tests
43
50
echo " Running Nudge unit tests"
44
51
$XCODE_BUILD test -project " $TOOLSDIR /Nudge.xcodeproj" -scheme " Nudge - Debug" -destination ' platform=macos'
45
- XCBT_RESULT=" $? "
46
- if [ " ${XCBT_RESULT} " != " 0" ]; then
47
- echo " Error running xcodebuild: ${XCBT_RESULT} " 1>&2
48
- exit 1
49
- fi
52
+ check_exit_code " $? " " Error running xcodebuild unit tests"
50
53
51
54
# build nudge
52
55
echo " Building Nudge"
53
56
$XCODE_BUILD -project " $TOOLSDIR /Nudge.xcodeproj" CODE_SIGN_IDENTITY=$APP_SIGNING_IDENTITY OTHER_CODE_SIGN_FLAGS=" --timestamp"
54
- XCB_RESULT=" $? "
55
- if [ " ${XCB_RESULT} " != " 0" ]; then
56
- echo " Error running xcodebuild: ${XCB_RESULT} " 1>&2
57
- exit 1
58
- fi
57
+ check_exit_code " $? " " Error running xcodebuild"
59
58
60
59
# Setup notary item
61
60
$XCODE_NOTARY_PATH store-credentials --apple-id
" [email protected] " --team-id
" T4SK8ZXCXG" --password
" $2 " nudge
@@ -101,11 +100,7 @@ if [ -d ${MP_BINDIR} ]; then
101
100
/usr/bin/sudo /bin/rm -rf ${MP_BINDIR}
102
101
fi
103
102
/usr/bin/unzip ${MP_ZIP} -d ${MP_BINDIR}
104
- DL_RESULT=" $? "
105
- if [ " ${DL_RESULT} " != " 0" ]; then
106
- echo " Error downloading munki-pkg tool: ${DL_RESULT} " 1>&2
107
- exit 1
108
- fi
103
+ check_exit_code " $? " " Error downloading munki-pkg tool"
109
104
110
105
# Create the json file for signed munkipkg Nudge pkg
111
106
/bin/cat << SIGNED_JSONFILE > "$NUDGE_PKG_PATH /build-info.json"
@@ -128,15 +123,15 @@ SIGNED_JSONFILE
128
123
# Create the signed pkg
129
124
python3 " ${MP_BINDIR} /munki-pkg-${MP_SHA} /munkipkg" " $NUDGE_PKG_PATH "
130
125
PKG_RESULT=" $? "
131
- if [ " ${PKG_RESULT} " != " 0 " ] ; then
132
- echo " Could not sign package: ${PKG_RESULT} " 1>&2
133
- else
134
- # Notarize nudge package
135
- $XCODE_NOTARY_PATH submit " $NUDGE_PKG_PATH /build/ Nudge-$AUTOMATED_NUDGE_BUILD .pkg" --keychain-profile " nudge " --wait
136
- $XCODE_STAPLER_PATH staple " $NUDGE_PKG_PATH /build/Nudge-$AUTOMATED_NUDGE_BUILD .pkg"
137
- # Move the signed pkg
138
- /bin/mv " $NUDGE_PKG_PATH /build/Nudge- $AUTOMATED_NUDGE_BUILD .pkg " " $OUTPUTSDIR "
139
- fi
126
+ check_exit_code " $? " " Could not sign package: Nudge- $AUTOMATED_NUDGE_BUILD .pkg "
127
+
128
+ # Notarize nudge package
129
+ $XCODE_NOTARY_PATH submit " $NUDGE_PKG_PATH /build/Nudge- $AUTOMATED_NUDGE_BUILD .pkg " --keychain-profile " nudge" --wait
130
+ check_exit_code " $? " " Could not notarize package: Nudge-$AUTOMATED_NUDGE_BUILD .pkg"
131
+ $XCODE_STAPLER_PATH staple " $NUDGE_PKG_PATH /build/Nudge-$AUTOMATED_NUDGE_BUILD .pkg"
132
+ check_exit_code " $? " " Could not staple package: Nudge- $AUTOMATED_NUDGE_BUILD . pkg"
133
+ # Move the signed pkg
134
+ /bin/mv " $NUDGE_PKG_PATH /build/Nudge- $AUTOMATED_NUDGE_BUILD .pkg " " $OUTPUTSDIR "
140
135
141
136
# move the la to the payload folder
142
137
echo " Moving LaunchAgent to payload folder"
@@ -172,16 +167,15 @@ SIGNED_JSONFILE
172
167
173
168
# Create the signed pkg
174
169
python3 " ${MP_BINDIR} /munki-pkg-${MP_SHA} /munkipkg" " $NUDGE_LA_PKG_PATH "
175
- PKG_RESULT=" $? "
176
- if [ " ${PKG_RESULT} " != " 0" ]; then
177
- echo " Could not sign package: ${PKG_RESULT} " 1>&2
178
- else
179
- # Notarize launchagent package
180
- $XCODE_NOTARY_PATH submit " $NUDGE_LA_PKG_PATH /build/Nudge_LaunchAgent-1.0.1.pkg" --keychain-profile " nudge" --wait
181
- $XCODE_STAPLER_PATH staple " $NUDGE_LA_PKG_PATH /build/Nudge_LaunchAgent-1.0.1.pkg"
182
- # Move the signed pkg
183
- /bin/mv " $NUDGE_LA_PKG_PATH /build/Nudge_LaunchAgent-1.0.1.pkg" " $OUTPUTSDIR "
184
- fi
170
+ check_exit_code " $? " " Could not sign package: Nudge_LaunchAgent-1.0.1.pkg"
171
+
172
+ # Notarize launchagent package
173
+ $XCODE_NOTARY_PATH submit " $NUDGE_LA_PKG_PATH /build/Nudge_LaunchAgent-1.0.1.pkg" --keychain-profile " nudge" --wait
174
+ check_exit_code " $? " " Could not notarize package: Nudge_LaunchAgent-1.0.1.pkg"
175
+ $XCODE_STAPLER_PATH staple " $NUDGE_LA_PKG_PATH /build/Nudge_LaunchAgent-1.0.1.pkg"
176
+ check_exit_code " $? " " Could not staple package: Nudge_LaunchAgent-1.0.1.pkg"
177
+ # Move the signed pkg
178
+ /bin/mv " $NUDGE_LA_PKG_PATH /build/Nudge_LaunchAgent-1.0.1.pkg" " $OUTPUTSDIR "
185
179
186
180
# move the ld to the payload folder
187
181
echo " Moving LaunchDaemon to logging payload folder"
@@ -217,16 +211,15 @@ SIGNED_JSONFILE
217
211
218
212
# Create the signed pkg
219
213
python3 " ${MP_BINDIR} /munki-pkg-${MP_SHA} /munkipkg" " $NUDGE_LD_PKG_PATH "
220
- PKG_RESULT=" $? "
221
- if [ " ${PKG_RESULT} " != " 0" ]; then
222
- echo " Could not sign package: ${PKG_RESULT} " 1>&2
223
- else
224
- # Notarize logger package
225
- $XCODE_NOTARY_PATH submit " $NUDGE_LD_PKG_PATH /build/Nudge_Logger-1.0.1.pkg" --keychain-profile " nudge" --wait
226
- $XCODE_STAPLER_PATH staple " $NUDGE_LD_PKG_PATH /build/Nudge_Logger-1.0.1.pkg"
227
- # Move the signed pkg
228
- /bin/mv " $NUDGE_LD_PKG_PATH /build/Nudge_Logger-1.0.1.pkg" " $OUTPUTSDIR "
229
- fi
214
+ check_exit_code " $? " " Could not sign package: Nudge_Logger-1.0.1.pkg"
215
+
216
+ # Notarize logger package
217
+ $XCODE_NOTARY_PATH submit " $NUDGE_LD_PKG_PATH /build/Nudge_Logger-1.0.1.pkg" --keychain-profile " nudge" --wait
218
+ check_exit_code " $? " " Could not notarize package: Nudge_Logger-1.0.1.pkg"
219
+ $XCODE_STAPLER_PATH staple " $NUDGE_LD_PKG_PATH /build/Nudge_Logger-1.0.1.pkg"
220
+ check_exit_code " $? " " Could not staple package: Nudge_Logger-1.0.1.pkg"
221
+ # Move the signed pkg
222
+ /bin/mv " $NUDGE_LD_PKG_PATH /build/Nudge_Logger-1.0.1.pkg" " $OUTPUTSDIR "
230
223
231
224
# Create the Essentials package
232
225
echo " Moving Nudge.app to payload folder"
@@ -264,16 +257,15 @@ SIGNED_JSONFILE
264
257
265
258
# Create the signed Nudge Essentials pkg
266
259
python3 " ${MP_BINDIR} /munki-pkg-${MP_SHA} /munkipkg" " $ESSENTIALS_PKG_PATH "
267
- PKG_RESULT=" $? "
268
- if [ " ${PKG_RESULT} " != " 0" ]; then
269
- echo " Could not sign package: ${PKG_RESULT} " 1>&2
270
- else
271
- # Notarize Nudge Essentials package
272
- $XCODE_NOTARY_PATH submit " $ESSENTIALS_PKG_PATH /build/Nudge_Essentials-$AUTOMATED_NUDGE_BUILD .pkg" --keychain-profile " nudge" --wait
273
- $XCODE_STAPLER_PATH staple " $ESSENTIALS_PKG_PATH /build/Nudge_Essentials-$AUTOMATED_NUDGE_BUILD .pkg"
274
- # Move the Nudge Essentials signed/notarized pkg
275
- /bin/mv " $ESSENTIALS_PKG_PATH /build/Nudge_Essentials-$AUTOMATED_NUDGE_BUILD .pkg" " $OUTPUTSDIR "
276
- fi
260
+ check_exit_code " $? " " Could not sign package: Nudge_Essentials-$AUTOMATED_NUDGE_BUILD .pkg"
261
+
262
+ # Notarize Nudge Essentials package
263
+ $XCODE_NOTARY_PATH submit " $ESSENTIALS_PKG_PATH /build/Nudge_Essentials-$AUTOMATED_NUDGE_BUILD .pkg" --keychain-profile " nudge" --wait
264
+ check_exit_code " $? " " Could not notarize package: Nudge_Essentials-$AUTOMATED_NUDGE_BUILD .pkg"
265
+ $XCODE_STAPLER_PATH staple " $ESSENTIALS_PKG_PATH /build/Nudge_Essentials-$AUTOMATED_NUDGE_BUILD .pkg"
266
+ check_exit_code " $? " " Could not staple package: Nudge_Essentials-$AUTOMATED_NUDGE_BUILD .pkg"
267
+ # Move the Nudge Essentials signed/notarized pkg
268
+ /bin/mv " $ESSENTIALS_PKG_PATH /build/Nudge_Essentials-$AUTOMATED_NUDGE_BUILD .pkg" " $OUTPUTSDIR "
277
269
278
270
# Create the Suite package
279
271
echo " Moving Nudge.app to payload folder"
@@ -314,13 +306,12 @@ SIGNED_JSONFILE
314
306
315
307
# Create the signed Nudge Suite pkg
316
308
python3 " ${MP_BINDIR} /munki-pkg-${MP_SHA} /munkipkg" " $SUITE_PKG_PATH "
317
- PKG_RESULT=" $? "
318
- if [ " ${PKG_RESULT} " != " 0" ]; then
319
- echo " Could not sign package: ${PKG_RESULT} " 1>&2
320
- else
321
- # Notarize Nudge Suite package
322
- $XCODE_NOTARY_PATH submit " $SUITE_PKG_PATH /build/Nudge_Suite-$AUTOMATED_NUDGE_BUILD .pkg" --keychain-profile " nudge" --wait
323
- $XCODE_STAPLER_PATH staple " $SUITE_PKG_PATH /build/Nudge_Suite-$AUTOMATED_NUDGE_BUILD .pkg"
324
- # Move the Nudge Suite signed/notarized pkg
325
- /bin/mv " $SUITE_PKG_PATH /build/Nudge_Suite-$AUTOMATED_NUDGE_BUILD .pkg" " $OUTPUTSDIR "
326
- fi
309
+ check_exit_code " $? " " Could not sign package: Nudge_Suite-$AUTOMATED_NUDGE_BUILD .pkg"
310
+
311
+ # Notarize Nudge Suite package
312
+ $XCODE_NOTARY_PATH submit " $SUITE_PKG_PATH /build/Nudge_Suite-$AUTOMATED_NUDGE_BUILD .pkg" --keychain-profile " nudge" --wait
313
+ check_exit_code " $? " " Could not notarize package: Nudge_Suite-$AUTOMATED_NUDGE_BUILD .pkg"
314
+ $XCODE_STAPLER_PATH staple " $SUITE_PKG_PATH /build/Nudge_Suite-$AUTOMATED_NUDGE_BUILD .pkg"
315
+ check_exit_code " $? " " Could not staple package: Nudge_Suite-$AUTOMATED_NUDGE_BUILD .pkg"
316
+ # Move the Nudge Suite signed/notarized pkg
317
+ /bin/mv " $SUITE_PKG_PATH /build/Nudge_Suite-$AUTOMATED_NUDGE_BUILD .pkg" " $OUTPUTSDIR "
0 commit comments