From 4d29914d7bc696edf4116ba7747f17dc92c8925c Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Mon, 15 Jun 2026 08:22:35 -0500 Subject: build: add deploy-wip target for live WIP theme reload Build scripts/theme-studio/WIP.json into themes/WIP-theme.el, load it into the running daemon via the existing theme-reload target, and fire a silent desktop notification on success. The notify runs after the reload, so a build or load failure aborts before claiming the theme deployed. --- Makefile | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 73b4ce2e2..7f4352c97 100644 --- a/Makefile +++ b/Makefile @@ -47,7 +47,7 @@ EMACS_TEST = $(EMACS_BATCH) -L $(TEST_DIR) -L $(MODULE_DIR) # No colors - using plain text symbols instead .PHONY: help targets test test-all test-unit test-integration test-file test-name \ - test-bash theme-studio-test theme-studio-check theme-studio-coverage theme-studio-gen theme-studio-open theme-studio-theme theme-studio-theme-load theme-studio-theme-reload \ + test-bash theme-studio-test theme-studio-check theme-studio-coverage theme-studio-gen theme-studio-open theme-studio-theme theme-studio-theme-load theme-studio-theme-reload deploy-wip \ benchmark coverage coverage-summary coverage-clean \ validate-parens validate-modules compile compile-file lint profile \ clean clean-compiled clean-tests reset @@ -79,6 +79,7 @@ help: @echo " make theme-studio-theme JSON=/path/theme.json - Convert JSON export to themes/-theme.el" @echo " make theme-studio-theme-load THEME=name - Disable all custom themes, then load THEME" @echo " make theme-studio-theme-reload JSON=/path.json - Convert JSON, then cleanly reload its theme" + @echo " make deploy-wip - Build WIP.json into the theme, load it live, ping silently" @echo "" @echo " Coverage:" @echo " make coverage - Generate simplecov JSON and summarize modules" @@ -172,6 +173,18 @@ ifndef JSON endif @$(MAKE) -C scripts/theme-studio theme-reload JSON='$(abspath $(JSON))' OUT='$(abspath $(OUT))' THEME='$(THEME)' +# Path to the theme-studio work-in-progress export. +WIP_JSON = scripts/theme-studio/WIP.json + +# Build WIP.json into themes/WIP-theme.el, load it into the running Emacs +# daemon, and fire a silent desktop notification when done. Requires the +# daemon to be up (the load goes through emacsclient). Only notifies on +# success — a build or load failure aborts make before the ping. +deploy-wip: + @$(MAKE) theme-studio-theme-reload JSON='$(WIP_JSON)' OUT='$(OUT)' THEME=WIP + @notify success "WIP theme deployed" "Built WIP.json and loaded it into Emacs." --silent + @echo "[i] WIP theme deployed and loaded into the running daemon." + BANNER = ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ # Run the .el test files in $(1), each in its own Emacs, with :slow and :perf -- cgit v1.2.3