#!/bin/sh set -eu SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) PROJECT_DIR=$(dirname "$SCRIPT_DIR") ASSET_DIR="$PROJECT_DIR/macos/App/Assets" OUTPUT_DIR="$PROJECT_DIR/macos/.build/generated-icons" ICON_TEMP_DIR=$(mktemp -d /private/tmp/datatest-icons.XXXXXX) trap 'rm -rf "$ICON_TEMP_DIR"' EXIT generate_icon() { source_png=$1 icon_name=$2 iconset_dir="$ICON_TEMP_DIR/$icon_name.iconset" mkdir -p "$iconset_dir" sips -z 16 16 "$source_png" --out "$iconset_dir/icon_16x16.png" >/dev/null sips -z 32 32 "$source_png" --out "$iconset_dir/icon_16x16@2x.png" >/dev/null sips -z 32 32 "$source_png" --out "$iconset_dir/icon_32x32.png" >/dev/null sips -z 64 64 "$source_png" --out "$iconset_dir/icon_32x32@2x.png" >/dev/null sips -z 128 128 "$source_png" --out "$iconset_dir/icon_128x128.png" >/dev/null sips -z 256 256 "$source_png" --out "$iconset_dir/icon_128x128@2x.png" >/dev/null sips -z 256 256 "$source_png" --out "$iconset_dir/icon_256x256.png" >/dev/null sips -z 512 512 "$source_png" --out "$iconset_dir/icon_256x256@2x.png" >/dev/null sips -z 512 512 "$source_png" --out "$iconset_dir/icon_512x512.png" >/dev/null sips -z 1024 1024 "$source_png" --out "$iconset_dir/icon_512x512@2x.png" >/dev/null if ! iconutil --convert icns "$iconset_dir" --output "$ICON_TEMP_DIR/$icon_name.icns" >/dev/null 2>&1; then python3 "$SCRIPT_DIR/png-to-icns" "$iconset_dir" "$ICON_TEMP_DIR/$icon_name.icns" fi ditto --noextattr --noqtn "$ICON_TEMP_DIR/$icon_name.icns" "$OUTPUT_DIR/$icon_name.icns" } mkdir -p "$OUTPUT_DIR" generate_icon "$ASSET_DIR/DataTestIcon-Light.png" "DataTestIcon" generate_icon "$ASSET_DIR/DataTestIcon-Dark.png" "DataTestIcon-Dark"