aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/build.sh28
-rwxr-xr-xscripts/notarize.sh18
-rwxr-xr-xscripts/package.sh23
-rwxr-xr-xscripts/sign.sh26
-rwxr-xr-xscripts/upload.sh22
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}"