mirror of
https://github.com/simonmichael/hledger.git
synced 2024-09-05 11:15:27 +03:00
;tools: just, make, shake: cleanup
This commit is contained in:
parent
7b8df1d34f
commit
36e1380674
23
Makefile
23
Makefile
@ -1,8 +1,6 @@
|
||||
# One of two project scripts files (Makefile, Shake.hs).
|
||||
# This one was a reboot of Makefile.old.
|
||||
# It is probably used by hledger developers/contributors but not end-users.
|
||||
# It requires GNU Make (https://www.gnu.org/software/make/).
|
||||
# Also, some rules may require:
|
||||
# Project scripts, some with file dependencies, using GNU Make.
|
||||
# Soon to be migrated to justfile or Shake.hs hopefully.
|
||||
# Also uses tools like
|
||||
# - stack (http://haskell-lang.org/get-started, installs libs and runs ghc)
|
||||
# - shelltestrunner (hackage, runs functional tests)
|
||||
# - quickbench (hackage/stackage, runs benchmarks)
|
||||
@ -12,21 +10,6 @@
|
||||
# - profiteur (hackage/stackage, renders profiles as html)
|
||||
# - hpack (hackage/stackage, generates cabal files from package.yaml files)
|
||||
# - perl
|
||||
#
|
||||
# Kinds of hledger builds:
|
||||
#
|
||||
# - stack build: built with stack
|
||||
# (hledger/.stack-work/dist/ARCH/CABAL/build/hledger/hledger,
|
||||
# .stack-work/install/ARCH/SNAPSHOT/GHC/bin/hledger, installs to ~/.local/bin)
|
||||
# - cabal (v1) build: built with cabal (and maybe a sandbox)
|
||||
# (hledger/dist/build/hledger/hledger, installs to ~/.cabal/bin)
|
||||
# - ghc-only build: built quickly with ghc only, unoptimised, with DEVELOPMENT flag
|
||||
# (hledgerdev)
|
||||
#
|
||||
# This makefile mostly uses stack to get things done (slow but robust).
|
||||
# It may sometimes (still ?) use ghc only, or cabal, when easier.
|
||||
|
||||
# see also: https://gmsl.sourceforge.io/
|
||||
|
||||
# XXX do we need this ?
|
||||
#SHELL=/bin/bash
|
||||
|
22
Shake.hs
22
Shake.hs
@ -14,22 +14,12 @@
|
||||
-- add this to see packages being installed instead of a long silence:
|
||||
--verbosity=info
|
||||
|
||||
This is one of two collections of maintainer/developer scripts; Makefile is the other.
|
||||
This one, based on shake, provides a stronger programming language and
|
||||
more platform independence. It requires stack and will auto-install
|
||||
the haskell packages above when needed.
|
||||
|
||||
Some of the commands below require additional command-line tools, including:
|
||||
Heavy project scripts, with file dependencies, using https://shakebuild.com.
|
||||
See also justfile, Makefile.
|
||||
Also uses tools like:
|
||||
- hpack (same version that's in current stack release)
|
||||
- GNU date (on mac: brew install coreutils)
|
||||
- groff
|
||||
- m4
|
||||
- makeinfo
|
||||
- pandoc
|
||||
- sed
|
||||
- mv
|
||||
- cat
|
||||
- rm
|
||||
- GNU date (on mac, get it with brew install coreutils)
|
||||
- pandoc, groff, m4, makeinfo, sed, mv, cat, rm
|
||||
|
||||
Some things that may be useful when working on this:
|
||||
- https://docs.haskellstack.org/en/stable/GUIDE/#script-interpreter
|
||||
@ -66,7 +56,7 @@ usage =
|
||||
let scriptname = "Shake" in replaceRe [re|/Shake|] ('/':scriptname) $
|
||||
unlines
|
||||
---------------------------------------79--------------------------------------
|
||||
["Shake: heavy project scripting. See also: make, ./bake"
|
||||
["Shake: heavy project scripting. See also: justfile, Makefile"
|
||||
,"Usage:"
|
||||
,"./Shake.hs [CMD [ARGS]] run CMD, compiling this script first if needed"
|
||||
,"./Shake [CMD [ARGS]] run CMD, using the compiled version of this script"
|
||||
|
8
justfile
8
justfile
@ -1,5 +1,9 @@
|
||||
# * project task scripts managed with https://github.com/casey/just.
|
||||
# This aspires to gradually replace Makefile and bake.
|
||||
#!/usr/bin/env just
|
||||
# * Light project scripts, without file dependendencies, using https://github.com/casey/just.
|
||||
# https://docs.rs/regex/1.5.4/regex/#syntax Regexps
|
||||
# https://just.systems/man/en/chapter_31.html Functions
|
||||
# See also Makefile, Shake.hs
|
||||
|
||||
|
||||
@help:
|
||||
just -lu
|
||||
|
Loading…
Reference in New Issue
Block a user