aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Info.plist6
-rw-r--r--Liquid Glass Bezel.xcodeproj/project.pbxproj10
-rw-r--r--Makefile28
-rw-r--r--README.md4
-rw-r--r--builds/Liquid Glass Bezel.qsplugin-1.0.0.zipbin0 -> 62993 bytes
-rw-r--r--builds/Liquid Glass Bezel.qsplugin-1.0.0.zip.minisig4
-rwxr-xr-xscripts/build.sh15
-rwxr-xr-xscripts/notarize.sh18
-rwxr-xr-xscripts/package.sh23
-rwxr-xr-xscripts/sign.sh26
-rwxr-xr-xscripts/upload.sh22
11 files changed, 135 insertions, 21 deletions
diff --git a/Info.plist b/Info.plist
index ea5effd..bc71eb1 100644
--- a/Info.plist
+++ b/Info.plist
@@ -19,7 +19,7 @@
<key>CFBundleShortVersionString</key>
<string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key>
- <string>19</string>
+ <string>2B</string>
<key>QSPlugIn</key>
<dict>
<key>author</key>
@@ -34,12 +34,12 @@
<string>&lt;h2&gt;Liquid Glass Bezel Interface&lt;/h2&gt;
&lt;p&gt;The classic Bezel Quicksilver interface, but now in liquid glass.&lt;/p&gt;
&lt;h3&gt;Colors&lt;/h3&gt;
-&lt;p&gt;Both light mode and dark mode are supported by this plugin. Choose your color preferences by enabling the Liquid Glass Bezel interface in the Appearance preferences, and then clicking the &apos;Customize&apos; button.&lt;/p&gt;
+&lt;p&gt;Both light mode and dark mode are supported by this plugin. Choose your color preferences by enabling the Liquid Glass Bezel interface in the Appearance preferences, and then clicking the 'Customize' button.&lt;/p&gt;
&lt;h3&gt;Credits&lt;/h3&gt;
-This plugin was created by Ruben Beltran del Río, building on top of the Yosemite interface that was originally built by Mikkel Malmberg (&lt;a href=&quot;https://github.com/mikker/&quot;&gt;@mikker&lt;/a&gt;), and updated by the Patrick Robertson and the Quicksilver Development Team.</string>
+This plugin was created by Ruben Beltran del Río, building on top of the Yosemite interface that was originally built by Mikkel Malmberg (&lt;a href="https://github.com/mikker/"&gt;@mikker&lt;/a&gt;), and updated by the Patrick Robertson and the Quicksilver Development Team.</string>
</dict>
<key>QSRegistration</key>
<dict>
diff --git a/Liquid Glass Bezel.xcodeproj/project.pbxproj b/Liquid Glass Bezel.xcodeproj/project.pbxproj
index 59b8918..46f83e6 100644
--- a/Liquid Glass Bezel.xcodeproj/project.pbxproj
+++ b/Liquid Glass Bezel.xcodeproj/project.pbxproj
@@ -298,13 +298,13 @@
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 10;
+ CURRENT_PROJECT_VERSION = 1;
DEAD_CODE_STRIPPING = YES;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = S68NHQVJXW;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 26;
- MARKETING_VERSION = 1.1.0;
+ MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = "pizza.unlimited.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "Liquid Glass Bezel";
PROVISIONING_PROFILE_SPECIFIER = "";
@@ -323,17 +323,17 @@
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "-";
CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 10;
+ CURRENT_PROJECT_VERSION = 1;
DEAD_CODE_STRIPPING = YES;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = S68NHQVJXW;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 26;
- MARKETING_VERSION = 1.1.0;
+ MARKETING_VERSION = 1.0.0;
PRODUCT_BUNDLE_IDENTIFIER = "pizza.unlimited.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = "Liquid Glass Bezel";
PROVISIONING_PROFILE_SPECIFIER = "";
- SWIFT_OBJC_BRIDGING_HEADER = "Liquid Glass Bezel/LiquidGlasssBezel-Bridging-Header.h";
+ SWIFT_OBJC_BRIDGING_HEADER = "Liquid Glass Bezel/LiquidGlassBezel-Bridging-Header.h";
SWIFT_VERSION = 5.0;
};
name = Release;
diff --git a/Makefile b/Makefile
index eb7c360..09c802e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,31 @@
+project_name := Liquid Glass Bezel.qsplugin
+build_directory := builds
configuration = Debug
-quicksilver_path = "../../vendor/Quicksilver/Quicksilver/"
+quicksilver_directory = "../../vendor/Quicksilver/Quicksilver/"
+quicksilver_build_directory = "/tmp/QS/build"
+deploy_host := deploy@conchos.bdr.sh
+deploy_path := /srv/http/build.r.bdr.sh/LiquidGlassBezel.qsplugin
+
+distribute: build package notarize repackage sign_distributable upload
default: build
build:
- configuration=$(configuration) quicksilver_path=$(quicksilver_path) ./scripts/build.sh
+ configuration=$(configuration) quicksilver_directory=$(quicksilver_directory) ./scripts/build.sh
+
+package:
+ @scripts/package.sh "$(project_name)" "$(build_directory)" "$(quicksilver_build_directory)/$(configuration)"
+
+repackage:
+ @scripts/package.sh "$(project_name)" "$(build_directory)" "$(quicksilver_build_directory)/$(configuration)"
+
+notarize:
+ @scripts/notarize.sh "$(project_name)" "$(build_directory)" "$(quicksilver_build_directory)/$(configuration)"
+
+sign_distributable:
+ @scripts/sign.sh "$(project_name)" "$(build_directory)" "$(quicksilver_build_directory)/$(configuration)"
+
+upload:
+ @scripts/upload.sh "$(project_name)" "$(build_directory)" "$(quicksilver_build_directory)/$(configuration)" "$(deploy_host):$(deploy_path)"
+
+.PHONY: build package repackage notarize distribute sign_distributable
diff --git a/README.md b/README.md
index c589a28..757eae4 100644
--- a/README.md
+++ b/README.md
@@ -17,3 +17,7 @@ value can be updated with the `quicksilver_path` variable (eg.
To build for release you will have to set the environment variable
`$SIGNING_IDENTITY`, otherwise it won't be correctly signed
+
+## Some issues
+
+- As of 2025-09-04, `FMDB MacOS` needs to be adjusted to target macOS 10.13, instead of 10.11
diff --git a/builds/Liquid Glass Bezel.qsplugin-1.0.0.zip b/builds/Liquid Glass Bezel.qsplugin-1.0.0.zip
new file mode 100644
index 0000000..b8fe5eb
--- /dev/null
+++ b/builds/Liquid Glass Bezel.qsplugin-1.0.0.zip
Binary files differ
diff --git a/builds/Liquid Glass Bezel.qsplugin-1.0.0.zip.minisig b/builds/Liquid Glass Bezel.qsplugin-1.0.0.zip.minisig
new file mode 100644
index 0000000..a258218
--- /dev/null
+++ b/builds/Liquid Glass Bezel.qsplugin-1.0.0.zip.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RUQSZS35nwHbOHhNTfjys0ZPno3HXHrqU+H3T09RvzP+Xn/xy9o62tSkS5tuHlN/y1rXcKbShKbexoxLl4Vz7aT3t4CHH7YBIgQ=
+trusted comment: Version: 1.0.0, File: Liquid Glass Bezel.qsplugin-1.0.0.zip Built on: 2025-09-04 15:55
+U8CCTZ+opMH/Up88bqiEfTNxn8DbCBDwis79HLy3efpkEINSvC7/8vPCjsoF0+9WJiAIhr7ToWqoKNkh41qVCg==
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}"