diff options
| -rw-r--r-- | Info.plist | 6 | ||||
| -rw-r--r-- | Liquid Glass Bezel.xcodeproj/project.pbxproj | 10 | ||||
| -rw-r--r-- | Makefile | 28 | ||||
| -rw-r--r-- | README.md | 4 | ||||
| -rw-r--r-- | builds/Liquid Glass Bezel.qsplugin-1.0.0.zip | bin | 0 -> 62993 bytes | |||
| -rw-r--r-- | builds/Liquid Glass Bezel.qsplugin-1.0.0.zip.minisig | 4 | ||||
| -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 |
11 files changed, 135 insertions, 21 deletions
@@ -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><h2>Liquid Glass Bezel Interface</h2> <p>The classic Bezel Quicksilver interface, but now in liquid glass.</p> <h3>Colors</h3> -<p>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.</p> +<p>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.</p> <h3>Credits</h3> -This plugin was created by Ruben Beltran del Río, building on top of the Yosemite interface that was originally built by Mikkel Malmberg (<a href="https://github.com/mikker/">@mikker</a>), 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 (<a href="https://github.com/mikker/">@mikker</a>), 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; @@ -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 @@ -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 Binary files differnew file mode 100644 index 0000000..b8fe5eb --- /dev/null +++ b/builds/Liquid Glass Bezel.qsplugin-1.0.0.zip 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}" |