diff options
author | Thomas Letan <lthms@soap.coffee> | 2022-08-13 19:16:51 +0200 |
---|---|---|
committer | Thomas Letan <lthms@soap.coffee> | 2022-08-13 19:19:30 +0200 |
commit | 7350cc722850621c2f362e3b802b16a4753b9ae4 (patch) | |
tree | aaf933250eaf48f84ced59097f084b7309596ada | |
parent | Use emacs --daemon to speed things up (diff) |
Provide a script to capture output of commands into files in 'logs/'
-rw-r--r-- | .gitignore | 62 | ||||
-rw-r--r-- | literate-programming.mk | 4 | ||||
-rw-r--r-- | logs/.gitkeep | 0 | ||||
-rw-r--r-- | makefile | 12 | ||||
-rw-r--r-- | org.mk | 2 | ||||
-rwxr-xr-x | scripts/capture.sh | 13 |
6 files changed, 85 insertions, 8 deletions
@@ -12,6 +12,68 @@ .soupault.deps .theme.deps _opam +logs/coqffi-tutorial.stderr +logs/site--cleopatra--commands.html.stderr +logs/site--cleopatra--coq.html.stderr +logs/site--cleopatra--dependencies.html.stderr +logs/site--cleopatra.html.stderr +logs/site--cleopatra--literate-programming.html.stderr +logs/site--cleopatra--org.html.stderr +logs/site--cleopatra--soupault.html.stderr +logs/site--cleopatra--theme.html.stderr +logs/site--coq.html.stderr +logs/site--haskell.html.stderr +logs/site--index.html.stderr +logs/site--meta.html.stderr +logs/site--miscellaneous.html.stderr +logs/site--news--ColorlessThemes-0.2.html.stderr +logs/site--opinions--index.html.stderr +logs/site--opinions--MonadTransformers.html.stderr +logs/site--opinions--StackedGit.html.stderr +logs/site--posts--CleopatraV1.html.stderr +logs/site--posts--CoqffiEcho.html.stderr +logs/site--posts--Coqffi.html.stderr +logs/site--posts--CoqffiIntro.html.stderr +logs/site--posts--DiscoveringCommonLisp.html.stderr +logs/site--posts--ExtensibleTypeSafeErrorHandling.html.stderr +logs/site--posts--Ltac.html.stderr +logs/site--posts--RankNTypesInOCaml.html.stderr +logs/site--posts--StronglySpecifiedFunctions.html.stderr +logs/site--posts--Thanks.html.stderr +logs/site--projects--index.html.stderr +logs/start-server.stderr +logs/tangling-lp.stderr +logs/coqffi-tutorial.stdout +logs/site--cleopatra--commands.html.stdout +logs/site--cleopatra--coq.html.stdout +logs/site--cleopatra--dependencies.html.stdout +logs/site--cleopatra.html.stdout +logs/site--cleopatra--literate-programming.html.stdout +logs/site--cleopatra--org.html.stdout +logs/site--cleopatra--soupault.html.stdout +logs/site--cleopatra--theme.html.stdout +logs/site--coq.html.stdout +logs/site--haskell.html.stdout +logs/site--index.html.stdout +logs/site--meta.html.stdout +logs/site--miscellaneous.html.stdout +logs/site--news--ColorlessThemes-0.2.html.stdout +logs/site--opinions--index.html.stdout +logs/site--opinions--MonadTransformers.html.stdout +logs/site--opinions--StackedGit.html.stdout +logs/site--posts--CleopatraV1.html.stdout +logs/site--posts--CoqffiEcho.html.stdout +logs/site--posts--Coqffi.html.stdout +logs/site--posts--CoqffiIntro.html.stdout +logs/site--posts--DiscoveringCommonLisp.html.stdout +logs/site--posts--ExtensibleTypeSafeErrorHandling.html.stdout +logs/site--posts--Ltac.html.stdout +logs/site--posts--RankNTypesInOCaml.html.stdout +logs/site--posts--StronglySpecifiedFunctions.html.stdout +logs/site--posts--Thanks.html.stdout +logs/site--projects--index.html.stdout +logs/start-server.stdout +logs/tangling-lp.stdout lp/ node_modules out diff --git a/literate-programming.mk b/literate-programming.mk index e7d8cb1..1e0ab16 100644 --- a/literate-programming.mk +++ b/literate-programming.mk @@ -1,6 +1,6 @@ literate-programming-prebuild : org-prebuild @scripts/pretty-echo.sh "Tangling" "literate programming project" - @${EMACS} --eval "(cleopatra:export-lp)" + @capture.sh tangling-lp ${EMACS} --eval "(cleopatra:export-lp)" ARTIFACTS += lp/ site/posts/deps.svg @@ -11,7 +11,7 @@ coqffi-tutorial-build : literate-programming-prebuild _opam/init @cd lp/coqffi-tutorial; dune build --display quiet @scripts/pretty-echo.sh "Archiving" "coqffi tutorial" @rm -f ${COQFFI_ARCHIVE} - @tar --exclude="_build" -C lp/ -czvf ${COQFFI_ARCHIVE} coqffi-tutorial + @capture.sh coqffi-tutorial tar --exclude="_build" -C lp/ -czvf ${COQFFI_ARCHIVE} coqffi-tutorial site/posts/CoqffiEcho.html : coqffi-tutorial-build literate-programming-build : coqffi-tutorial-build diff --git a/logs/.gitkeep b/logs/.gitkeep new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/logs/.gitkeep @@ -1,4 +1,6 @@ -ARTIFACTS := +PATH := scripts/:${PATH} + +ARTIFACTS := logs/*.stderr logs/*.stdout CONFIGURE := .emacs.d PROCS := $(wildcard *.mk) @@ -11,12 +13,12 @@ EMACS_NAME=cleopatra EMACS := emacsclient -s ${EMACS_NAME} init : ${PROCS_DEPS} needs-emacs - make ${CMD} + @make ${CMD} needs-emacs : @scripts/pretty-echo.sh "Starting" "emacs daemon" - @${EMACS} -s ${EMACS_NAME} --eval "(kill-emacs)" || true - @ROOT=$(shell pwd) emacs --daemon=${EMACS_NAME} -Q --load="scripts/init.el" + @${EMACS} -s ${EMACS_NAME} --eval "(kill-emacs)" 2> /dev/null || true + @ROOT=$(shell pwd) capture.sh "start-server" emacs --daemon=${EMACS_NAME} -Q --load="scripts/init.el" .PHONY : needs-emacs @@ -33,7 +35,7 @@ postbuild : @scripts/pretty-echo.sh "Updating" ".gitignore" @scripts/update-gitignore.sh $(sort ${CONFIGURE} ${ARTIFACTS} ${PROCS_DEPS}) @scripts/pretty-echo.sh "Killing" "emacs daemon" - ${EMACS} -s ${EMACS_NAME} --eval "(kill-emacs)" + @${EMACS} -s ${EMACS_NAME} --eval "(kill-emacs)" @rm -f $(wildcard .*.deps) .PHONY: prebuild build postbuild @@ -11,4 +11,4 @@ site/index.org : site/haskell.org site/miscellaneous.org site/meta.org site/coq. %.html : %.org org.mk @scripts/pretty-echo.sh Exporting "$*.org" - @${EMACS} --eval "(cleopatra:export-org \"$<\")" + @capture.sh "$@" ${EMACS} --eval "(cleopatra:export-org \"$<\")" diff --git a/scripts/capture.sh b/scripts/capture.sh new file mode 100755 index 0000000..b21c3eb --- /dev/null +++ b/scripts/capture.sh @@ -0,0 +1,13 @@ +#!/bin/sh + +logfile=logs/$(echo ${1} | sed -e 's/\//--/g') + +shift 1 + +"$@" 1> ${logfile}.stdout 2> ${logfile}.stderr +exitcode=$? + +if [[ ! ${exitcode} -eq 0 ]]; then + echo "An error occurred, see ${logfile}.stdout and ${logfile}.stderr" + exit ${exitcode} +fi |