From 6b0a560ae71b5ca7c2439d7470bed7b02c362a64 Mon Sep 17 00:00:00 2001
From: John MacFarlane <jgm@berkeley.edu>
Date: Sat, 18 Dec 2021 09:52:24 -0800
Subject: [PATCH] Improve 'make check'.

---
 Makefile          | 23 ++++++++++++++---------
 RELEASE-CHECKLIST |  2 +-
 2 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/Makefile b/Makefile
index 7f36d16e7..ac0506328 100644
--- a/Makefile
+++ b/Makefile
@@ -43,6 +43,19 @@ ghci:
 haddock:
 	stack haddock
 
+check: check-cabal checkdocs
+	cabal check # check cabal file
+	cabal outdated # check cabal dependencies
+	lsd # check that stack.yaml dependencies are up to date
+
+check-cabal: git-files.txt sdist-files.txt
+	@echo "Checking to see if all committed test/data files are in sdist."
+	diff -u $^
+
+checkdocs:
+	@echo "Checking for tabs in manual."
+	! grep -q -n -e "\t" MANUAL.txt changelog.md
+
 # Note:  to accept current results of golden tests,
 # make test TESTARGS='--accept'
 test:
@@ -82,10 +95,6 @@ dist: man/pandoc.1
 	cd pandoc-${version}
 	stack setup && stack test && cd .. && rm -rf "pandoc-${version}"
 
-check: checkdocs check-cabal
-
-checkdocs:
-	! grep -q -n -e "\t" MANUAL.txt changelog.md
 
 debpkg:
 	docker run -v `pwd`:/mnt \
@@ -135,14 +144,10 @@ update-website:
 clean:
 	stack clean
 
-check-cabal: git-files.txt sdist-files.txt
-	echo "Checking to see if all committed test/data files are in sdist."
-	diff -u $^
-
 sdist-files.txt: .FORCE
 	cabal sdist --list-only | sed 's/\.\///' | grep '^\(test\|data\)\/' | sort > $@
 
 git-files.txt: .FORCE
 	git ls-tree -r --name-only HEAD | grep '^\(test\|data\)\/' | sort > $@
 
-.PHONY: .FORCE deps quick full haddock install clean test bench changes_github dist prof download_stats reformat lint weigh doc/lua-filters.md pandoc-templates trypandoc update-website debpkg checkdocs ghcid ghci fix_spacing hlint check check-cabal
+.PHONY: .FORCE deps quick full haddock install clean test bench changes_github dist prof download_stats reformat lint weigh doc/lua-filters.md pandoc-templates trypandoc update-website debpkg checkdocs ghcid ghci fix_spacing hlint check check-cabal check
diff --git a/RELEASE-CHECKLIST b/RELEASE-CHECKLIST
index 1e42c0f3e..fcfe2d751 100644
--- a/RELEASE-CHECKLIST
+++ b/RELEASE-CHECKLIST
@@ -1,4 +1,4 @@
-[ ] use 'policeman' to check API changes and version update
+[ ] make check
 [ ] make README.md and commit if needed
 [ ] make man/pandoc.1 and commit if needed
 [ ] Finalize changelog