diff options
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/build.sh | 28 | ||||
| -rwxr-xr-x | scripts/notarize.sh | 18 | ||||
| -rwxr-xr-x | scripts/package.sh | 23 | ||||
| -rwxr-xr-x | scripts/sign.sh | 26 | ||||
| -rwxr-xr-x | scripts/upload.sh | 22 |
5 files changed, 117 insertions, 0 deletions
diff --git a/scripts/build.sh b/scripts/build.sh new file mode 100755 index 0000000..1d931db --- /dev/null +++ b/scripts/build.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env sh + +set -e + +echo "Starting build with configuration ${configuration}" > /dev/stderr +echo "Quicksilver directory is: ${quicksilver_directory}" > /dev/stderr +pushd "${quicksilver_directory}" +echo "Starting build at `pwd`" > /dev/stderr +xcodebuild \ + -quiet \ + -destination generic/platform=macos \ + -configuration "${configuration}" \ + -scheme 'Quicksilver Distribution' \ + build +popd +echo "Building `pwd`" > /dev/stderr +xcodebuild \ + -quiet \ + -destination generic/platform=macos \ + -configuration "${configuration}" \ + -scheme 'Captura Plugin' \ + build + +echo "Build complete, signing." > /dev/stderr +output_directory="/tmp/QS/build/Release/Quicksilver.app/Contents/PlugIns/" +plugin_name="Captura Plugin.qsplugin" +codesign --force -vvv --deep --sign ${SIGNING_IDENTITY} "${output_directory}${plugin_name}" +echo "Done." > /dev/stderr diff --git a/scripts/notarize.sh b/scripts/notarize.sh new file mode 100755 index 0000000..410c851 --- /dev/null +++ b/scripts/notarize.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +set -e + +if [ "$#" -ne 3 ]; then + echo "Usage: $0 <project_name> <build_directory> <quicksilver_directory>" + exit 1 +fi + +project_name="$1" +build_directory="$2" +quicksilver_directory="$3" + +plugin_path="${quicksilver_directory}/Quicksilver.app/Contents/Plugins/${project_name}" +plugin_version=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${plugin_path}/Contents/Info.plist") +zip_path="${build_directory}/${project_name}-${plugin_version}.zip" +xcrun notarytool submit "${zip_path}" --wait --verbose --keychain-profile "Apps @ Unlimited Pizza" +stapler staple "${plugin_path}" diff --git a/scripts/package.sh b/scripts/package.sh new file mode 100755 index 0000000..a8a1eb1 --- /dev/null +++ b/scripts/package.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash + +set -e + +if [ "$#" -ne 3 ]; then + echo "Usage: $0 <project_name> <build_directory> <quicksilver_directory>" + exit 1 +fi + +project_name="$1" +build_directory="$2" +quicksilver_directory="$3" + +plugin_path="${quicksilver_directory}/Quicksilver.app/Contents/Plugins/${project_name}" +plugin_version=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${plugin_path}/Contents/Info.plist") +tmp_dir=$(mktemp -d) +zip_name="${project_name}-${plugin_version}.zip" +cp -R "${plugin_path}" "${tmp_dir}" +pushd "${tmp_dir}" +zip -r "${zip_name}" . +popd +cp "${tmp_dir}/${zip_name}" "${build_directory}" +rm -rf "${tmp_dir}" diff --git a/scripts/sign.sh b/scripts/sign.sh new file mode 100755 index 0000000..73e00f5 --- /dev/null +++ b/scripts/sign.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash + +set -e + +if [ "$#" -ne 3 ]; then + echo "Usage: $0 <project_name> <build_directory> <quicksilver_directory>" + exit 1 +fi + +project_name="$1" +build_directory="$2" +quicksilver_directory="$3" + +plugin_path="${quicksilver_directory}/Quicksilver.app/Contents/Plugins/${project_name}" +plugin_version=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${plugin_path}/Contents/Info.plist") +build_number=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${plugin_path}/Contents/Info.plist") +zip_path="${build_directory}/${project_name}-${plugin_version}.zip" + +base_zip_name=$(basename "${zip_path}") +COMMENT="Version: ${plugin_version}, File: ${base_zip_name} Built on: $(date +'%Y-%m-%d %H:%M')" + +if [ -f ~/.minisign/minisign.pass ]; then + cat ~/.minisign/minisign.pass | minisign -Sm "${zip_path}" -t "${COMMENT}" +else + minisign -Sm "${zip_path}" -t "${COMMENT}" +fi diff --git a/scripts/upload.sh b/scripts/upload.sh new file mode 100755 index 0000000..a2881c5 --- /dev/null +++ b/scripts/upload.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash + +set -e + + +if [ "$#" -ne 4 ]; then + echo "Usage: $0 <project_name> <build_directory> <quicksilver_directory> <upload_location>" + exit 1 +fi + +project_name="$1" +build_directory="$2" +quicksilver_directory="$3" +upload_location="$4" + +plugin_path="${quicksilver_directory}/Quicksilver.app/Contents/Plugins/${project_name}" +plugin_version=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "${plugin_path}/Contents/Info.plist") +zip_path="${build_directory}/${project_name}-${plugin_version}.zip" + +echo "Uploading ${zip_path} to ${upload_location}" +rsync -avz "${zip_path}" "${upload_location}" +rsync -avz "${zip_path}".minisig "${upload_location}" |