* Makefile: New file subsuming create-docs.sh and run-tests.sh. * create-docs.sh: * run-tests.sh: Remove files. * .github/workflows/test.yml: * dash-template.texi (Contribute): * readme-template.md (Contribute): * pre-commit.sh: Refer to new Make targets. * dev/examples.el: Add support for running byte-compiled tests in Emacs < 24.3, where setf was still defined in cl-macs.el. * README.md: * dash.texi: Regenerate docs.master
parent
84721fc466
commit
9c6a7c3e07
10 changed files with 81 additions and 51 deletions
@ -0,0 +1,62 @@ |
||||
# Makefile for Dash.
|
||||
|
||||
# Copyright (C) 2021 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
# Variables.
|
||||
|
||||
EMACS ?= emacs
|
||||
BATCH := $(EMACS) -Q -batch -L .
|
||||
ELS := dash.el dash-functional.el
|
||||
ELCS := $(addsuffix c,$(ELS))
|
||||
|
||||
# Targets.
|
||||
|
||||
lisp: $(ELCS) |
||||
.PHONY: lisp |
||||
|
||||
docs: README.md dash.texi |
||||
.PHONY: docs |
||||
|
||||
# ERT_SELECTOR is a Lisp expression determining which tests to run.
|
||||
# Its format is described in (info "(ert) Test Selectors"). It
|
||||
# defaults to selecting all tests. Note that in batch mode, a nil
|
||||
# selector is the same as t.
|
||||
check: ERT_SELECTOR ?= t |
||||
check: lisp |
||||
$(BATCH) -l dev/examples-to-tests.el -l dev/examples.el \
|
||||
-eval '(ert-run-tests-batch-and-exit (quote $(ERT_SELECTOR)))'
|
||||
.PHONY: check |
||||
|
||||
all: lisp docs check |
||||
.PHONY: all |
||||
|
||||
clean: |
||||
$(RM) $(ELCS)
|
||||
.PHONY: clean |
||||
|
||||
# Files.
|
||||
|
||||
%.elc: %.el |
||||
$(BATCH) -eval '(setq byte-compile-error-on-warn t)' \
|
||||
-f batch-byte-compile $<
|
||||
|
||||
dash-functional.elc: dash.elc |
||||
|
||||
README.md: $(ELS) dev/examples-to-docs.el dev/examples.el readme-template.md |
||||
$(BATCH) $(addprefix -l ,$(filter %.el,$^)) -f create-docs-file
|
||||
|
||||
dash.texi: $(ELS) dev/examples-to-info.el dev/examples.el dash-template.texi |
||||
$(BATCH) $(addprefix -l ,$(filter %.el,$^)) -f create-info-file
|
||||
@ -1,10 +0,0 @@ |
||||
#!/usr/bin/env sh |
||||
|
||||
if [ -z "${EMACS}" ]; then |
||||
EMACS=emacs |
||||
fi |
||||
|
||||
"${EMACS}" -Q -batch -l dash.el -l dash-functional.el \ |
||||
-l dev/examples-to-docs.el -l dev/examples.el -f create-docs-file |
||||
"${EMACS}" -Q -batch -l dash.el -l dash-functional.el \ |
||||
-l dev/examples-to-info.el -l dev/examples.el -f create-info-file |
||||
@ -1,9 +1,9 @@ |
||||
#!/usr/bin/env bash |
||||
#!/usr/bin/env sh |
||||
|
||||
git stash -q --keep-index |
||||
./run-tests.sh |
||||
make check |
||||
RESULT=$? |
||||
[ $RESULT == 0 ] && ./create-docs.sh && git add ./README.md |
||||
[ $RESULT -eq 0 ] && make docs && git add ./README.md |
||||
git stash pop -q |
||||
[ $RESULT -ne 0 ] && exit 1 |
||||
exit 0 |
||||
|
||||
@ -1,28 +0,0 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
set -e |
||||
|
||||
if [ -z "$EMACS" ] ; then |
||||
EMACS="emacs" |
||||
fi |
||||
|
||||
# Run all tests by default. |
||||
# To only run certain tests, set $ERT_SELECTOR as required. |
||||
# For example, to skip the test "-fixfn", run the following command: |
||||
# |
||||
# ERT_SELECTOR='(not "-fixfn")' ./run-tests.sh |
||||
# |
||||
if [ -z "$ERT_SELECTOR" ] ; then |
||||
ERT_SELECTOR="nil" |
||||
fi |
||||
|
||||
$EMACS -Q -batch \ |
||||
-l dash.el \ |
||||
-l dash-functional.el \ |
||||
-l dev/examples-to-tests.el \ |
||||
-l dev/examples.el \ |
||||
-eval "(ert-run-tests-batch-and-exit (quote ${ERT_SELECTOR}))" |
||||
|
||||
$EMACS -Q -batch \ |
||||
-eval '(setq byte-compile-error-on-warn t)' \ |
||||
-f batch-byte-compile dash.el |
||||
Loading…
Reference in new issue