From e54041ac630fe31a9968cf41c452feee317a4049 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Tue, 5 May 2026 04:57:14 -0500 Subject: build: add eask manifest and setup/compile/coverage targets MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I switched the test runner from `~/.emacs.d/elpa`-grep to eask. With this, `make setup` installs every dep into a project-local `.eask/`, so test runs don't depend on whatever's in my global elpa. It also lets us catch missing Package-Requires entries before MELPA submission. New targets: - `make setup` — runs `eask install-deps --dev` - `make compile` — byte-compiles chime.el and surfaces warnings that checkdoc and elisp-lint don't catch - `make coverage` — runs the unit suite under undercover and writes a simplecov JSON to `.coverage/simplecov.json` - `make test-all` — runs every test, including `:slow` tagged - `-include makefile-local` in both Makefiles, for per-machine knobs I added `ERT_FAST_SELECTOR` so `make test`, `test-unit`, `test-integration`, and `test-file` exclude tests tagged `:slow`. When we tag end-to-end integration tests as `:slow`, they'll stay out of the fast feedback loop until someone explicitly asks for them via `make test-all`. Eask treats CWD as its workspace. So all eask invocations now run from project root, with `(cd "tests/")' as the first `--eval' to restore Emacs's default-directory. That preserves the relative loads the existing test files and test-bootstrap.el rely on, without touching either. I updated `.gitignore` for `.eask/`, `.coverage/`, and the optional `makefile-local` files. --- Eask | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Eask (limited to 'Eask') diff --git a/Eask b/Eask new file mode 100644 index 0000000..8883e85 --- /dev/null +++ b/Eask @@ -0,0 +1,25 @@ +;; -*- mode: eask; lexical-binding: t -*- + +(package "chime" + "0.6.0" + "CHIME Heralds Imminent Modeline Events") + +(website-url "https://github.com/cjennings/chime") +(keywords "notification" "alert" "org" "org-agenda" "calendar") + +(package-file "chime.el") +(files "chime.el" "chime-debug.el" "chime-org-contacts.el") + +(source 'gnu) +(source 'nongnu) +(source 'melpa) + +(depends-on "emacs" "27.1") +(depends-on "alert" "1.2") +(depends-on "async" "1.9.3") +(depends-on "dash" "2.18.0") + +(development + (depends-on "elisp-lint") + (depends-on "package-lint") + (depends-on "undercover")) -- cgit v1.2.3