diff options
| author | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-09-04 16:22:58 +0200 |
|---|---|---|
| committer | Ruben Beltran del Rio <git@r.bdr.sh> | 2025-09-04 16:22:58 +0200 |
| commit | 4750d70541ba518ffb824bca173b455ccbd9ab06 (patch) | |
| tree | ff44b6bd04dfdc33fd184bacdadc8b16a16886fb /scripts | |
| parent | cda16a10fc62c58b9a3eebdca6a5a81bc8b64683 (diff) | |
Improve build process1.0.0
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/build.sh | 15 | ||||
| -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, 93 insertions, 11 deletions
diff --git a/scripts/build.sh b/scripts/build.sh index 37d4ab9..fd3efb6 100755 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -3,8 +3,8 @@ set -e echo "Starting build with configuration ${configuration}" > /dev/stderr -echo "Quicksilver path is: ${quicksilver_path}" > /dev/stderr -pushd "${quicksilver_path}" +echo "Quicksilver directory is: ${quicksilver_directory}" > /dev/stderr +pushd "${quicksilver_directory}" echo "Starting build at `pwd`" > /dev/stderr xcodebuild \ -quiet \ @@ -22,14 +22,7 @@ xcodebuild \ build echo "Build complete, signing." > /dev/stderr -output_path="/tmp/QS/build/Release/Quicksilver.app/Contents/PlugIns/" +output_directory="/tmp/QS/build/Release/Quicksilver.app/Contents/PlugIns/" plugin_name="Liquid Glass Bezel.qsplugin" -codesign --force -vvv --deep --sign ${SIGNING_IDENTITY} "${output_path}${plugin_name}" - -echo "Signing complete, archiving." > /dev/stderr -archive_name="Liquid_Glass_Bezel.qsplugin.tar.gz" -pushd "${output_path}" -tar -czvf "${archive_name}" "${plugin_name}" -popd -mv "${output_path}${archive_name}" . +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}" |