aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-15 08:22:35 -0500
committerCraig Jennings <c@cjennings.net>2026-06-15 08:22:35 -0500
commit4d29914d7bc696edf4116ba7747f17dc92c8925c (patch)
treeca687beb5126fd833a834063f81e37fb5b9bfe41
parent47e64b5dff7e820619d4d60cf97a0fe027a4bcbd (diff)
downloaddotemacs-4d29914d7bc696edf4116ba7747f17dc92c8925c.tar.gz
dotemacs-4d29914d7bc696edf4116ba7747f17dc92c8925c.zip
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.
-rw-r--r--Makefile15
1 files changed, 14 insertions, 1 deletions
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/<name>-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