You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
976 B
35 lines
976 B
#!/usr/bin/env bash
|
|
|
|
RED='\033[0;31m'
|
|
BLUE='\033[0,34m'
|
|
YELLOW='\033[0;33m'
|
|
NC='\033[0m' # No Color
|
|
function info {
|
|
printf "\r💬 ${BLUE}INFO:${NC} ${1}\n"
|
|
}
|
|
function fail {
|
|
printf "\r🗯 ${RED}ERROR:${NC} ${1}\n"
|
|
exit 1
|
|
}
|
|
function warn {
|
|
printf "\r⚠️ ${YELLOW}WARNING:${NC} ${1}\n"
|
|
}
|
|
|
|
function DoCodeSignMaybe { # ARGS: infoName fileOrDirName codesignIdentity
|
|
infoName="$1"
|
|
file="$2"
|
|
identity="$3"
|
|
deep=""
|
|
if [ -z "$identity" ]; then
|
|
# we are ok with them not passing anything; master script calls us unconditionally even if no identity is specified
|
|
return
|
|
fi
|
|
if [ -d "$file" ]; then
|
|
deep="--deep"
|
|
fi
|
|
if [ -z "$infoName" ] || [ -z "$file" ] || [ -z "$identity" ] || [ ! -e "$file" ]; then
|
|
fail "Argument error to internal function DoCodeSignMaybe()"
|
|
fi
|
|
info "Code signing ${infoName}..."
|
|
codesign -f -v $deep -s "$identity" "$file" || fail "Could not code sign ${infoName}"
|
|
}
|
|
|