;tools:Justfile: simplify STACK defs
This commit is contained in:
parent
50e0405031
commit
21ad2a41a7
55
Justfile
55
Justfile
@ -38,14 +38,14 @@
|
|||||||
# https://github.com/casey/just/discussions
|
# https://github.com/casey/just/discussions
|
||||||
#
|
#
|
||||||
# Other tools used below include:
|
# Other tools used below include:
|
||||||
# - stack (http://haskell-lang.org/get-started, installs libs and runs ghc)
|
# - stack - installs libs and runs ghc
|
||||||
# - shelltestrunner (hackage, runs functional tests)
|
# - shelltestrunner - runs functional tests
|
||||||
# - quickbench (hackage/stackage, runs benchmarks)
|
# - quickbench - runs benchmarks
|
||||||
# - ghcid (hackage/stackage, recompiles and optionally runs tests on file change)
|
# - ghcid - recompiles and optionally runs tests on file change
|
||||||
# - hasktags (hackage, generates tag files for code navigation)
|
# - hasktags - generates tag files for code navigation
|
||||||
# - profiterole (hackage/stackage, simplifies profiles)
|
# - profiterole - simplifies profiles
|
||||||
# - profiteur (hackage/stackage, renders profiles as html)
|
# - profiteur - renders profiles as html
|
||||||
# - dateround (from dateutils)
|
# - dateround - from dateutils
|
||||||
|
|
||||||
# ** Helpers ------------------------------------------------------------
|
# ** Helpers ------------------------------------------------------------
|
||||||
HELPERS: help
|
HELPERS: help
|
||||||
@ -137,20 +137,7 @@ PROFRTSFLAGS := '-P'
|
|||||||
# Which stack command (and in particular, stack yaml/GHC version) to use for building etc. ?
|
# Which stack command (and in particular, stack yaml/GHC version) to use for building etc. ?
|
||||||
|
|
||||||
STACK := 'stack'
|
STACK := 'stack'
|
||||||
|
#STACK := 'stack --stack-yaml=stack912.yaml'
|
||||||
#STACK := 'stack --stack-yaml=stack8.10.yaml'
|
|
||||||
# Or override temporarily with an env var:
|
|
||||||
# STACK := '"stack --stack-yaml=stack8.10.yaml" make functest'
|
|
||||||
# if using an unreleased stack with a newer hpack than the one mentioned in */*.cabal,
|
|
||||||
# it will give warnings. To silence these, put the old hpack-X.Y in $PATH and uncomment:
|
|
||||||
#STACK := 'stack --with-hpack=hpack-0.20'
|
|
||||||
# --threads := '16 sometimes gives "commitAndReleaseBuffer: resource vanished (Broken pipe)" but seems harmless'
|
|
||||||
# --timeout := 'N is not much use here - can be defeated by multiple threads, unoptimised builds, '
|
|
||||||
# slow hackage index or compiler setup on first build, etc.
|
|
||||||
# Which stack command (stack yaml, GHC version) to use for ghci[d] operations ?
|
|
||||||
|
|
||||||
STACKGHCI := STACK
|
|
||||||
#STACKGHCI := 'stack --stack-yaml=stack9.2.yaml'
|
|
||||||
|
|
||||||
PACKAGES := '
|
PACKAGES := '
|
||||||
hledger-lib
|
hledger-lib
|
||||||
@ -159,12 +146,6 @@ PACKAGES := '
|
|||||||
hledger-web
|
hledger-web
|
||||||
'
|
'
|
||||||
|
|
||||||
# BINARIES := '
|
|
||||||
# hledger
|
|
||||||
# hledger-ui
|
|
||||||
# hledger-web
|
|
||||||
# '
|
|
||||||
|
|
||||||
INCLUDEPATHS := '
|
INCLUDEPATHS := '
|
||||||
-ihledger-lib
|
-ihledger-lib
|
||||||
-ihledger
|
-ihledger
|
||||||
@ -352,16 +333,16 @@ TESTING:
|
|||||||
|
|
||||||
# run ghci on hledger-lib + hledger
|
# run ghci on hledger-lib + hledger
|
||||||
@ghci *GHCIARGS:
|
@ghci *GHCIARGS:
|
||||||
$STACKGHCI exec -- $GHCI $BUILDFLAGS {{ GHCIARGS }} hledger/Hledger/Cli.hs
|
$STACK exec -- $GHCI $BUILDFLAGS {{ GHCIARGS }} hledger/Hledger/Cli.hs
|
||||||
|
|
||||||
# echo the full command that just ghci would run
|
# echo the full command that just ghci would run
|
||||||
@ghci-echo *GHCIARGS:
|
@ghci-echo *GHCIARGS:
|
||||||
echo $STACKGHCI exec -- $GHCI $BUILDFLAGS {{ GHCIARGS }} hledger/Hledger/Cli.hs
|
echo $STACK exec -- $GHCI $BUILDFLAGS {{ GHCIARGS }} hledger/Hledger/Cli.hs
|
||||||
|
|
||||||
# run ghci on hledger-lib + hledger with profiling/call stack information
|
# run ghci on hledger-lib + hledger with profiling/call stack information
|
||||||
@ghci-prof *GHCIARGS:
|
@ghci-prof *GHCIARGS:
|
||||||
stack build --profile hledger --only-dependencies
|
stack build --profile hledger --only-dependencies
|
||||||
$STACKGHCI exec -- $GHCI $BUILDFLAGS -fexternal-interpreter -prof -fprof-auto {{ GHCIARGS }} hledger/Hledger/Cli.hs
|
$STACK exec -- $GHCI $BUILDFLAGS -fexternal-interpreter -prof -fprof-auto {{ GHCIARGS }} hledger/Hledger/Cli.hs
|
||||||
|
|
||||||
# run ghcitui on hledger-lib + hledger
|
# run ghcitui on hledger-lib + hledger
|
||||||
@ghcitui *GHCITUIARGS:
|
@ghcitui *GHCITUIARGS:
|
||||||
@ -369,25 +350,25 @@ TESTING:
|
|||||||
|
|
||||||
# # run ghci on hledger-lib + hledger + dev.hs script
|
# # run ghci on hledger-lib + hledger + dev.hs script
|
||||||
# @ghci-dev:
|
# @ghci-dev:
|
||||||
# $STACKGHCI exec -- $GHCI $BUILDFLAGS -fno-warn-unused-imports -fno-warn-unused-binds dev.hs
|
# $STACK exec -- $GHCI $BUILDFLAGS -fno-warn-unused-imports -fno-warn-unused-binds dev.hs
|
||||||
|
|
||||||
# run ghci on hledger-lib + hledger + hledger-ui
|
# run ghci on hledger-lib + hledger + hledger-ui
|
||||||
@ghci-ui *GHCIARGS:
|
@ghci-ui *GHCIARGS:
|
||||||
$STACKGHCI exec -- $GHCI $BUILDFLAGS {{ GHCIARGS }} hledger-ui/Hledger/UI/Main.hs
|
$STACK exec -- $GHCI $BUILDFLAGS {{ GHCIARGS }} hledger-ui/Hledger/UI/Main.hs
|
||||||
|
|
||||||
# run ghci on hledger-lib + hledger + hledger-web
|
# run ghci on hledger-lib + hledger + hledger-web
|
||||||
@ghci-web *GHCIARGS:
|
@ghci-web *GHCIARGS:
|
||||||
$STACKGHCI exec -- $GHCI $BUILDFLAGS {{ GHCIARGS }} hledger-web/app/main.hs
|
$STACK exec -- $GHCI $BUILDFLAGS {{ GHCIARGS }} hledger-web/app/main.hs
|
||||||
|
|
||||||
# run ghci on hledger-lib + hledger + hledger-web + hledger-web test suite
|
# run ghci on hledger-lib + hledger + hledger-web + hledger-web test suite
|
||||||
@ghci-web-test *GHCIARGS:
|
@ghci-web-test *GHCIARGS:
|
||||||
$STACKGHCI exec -- $GHCI $BUILDFLAGS {{ GHCIARGS }} hledger-web/test/test.hs
|
$STACK exec -- $GHCI $BUILDFLAGS {{ GHCIARGS }} hledger-web/test/test.hs
|
||||||
|
|
||||||
# # better than stack exec ?
|
# # better than stack exec ?
|
||||||
# # XXX does not see changes to files
|
# # XXX does not see changes to files
|
||||||
# # run ghci on hledger-lib + test runner
|
# # run ghci on hledger-lib + test runner
|
||||||
# ghci-lib-test:
|
# ghci-lib-test:
|
||||||
# $STACKGHCI ghci --ghc-options="\'-rtsopts {{ WARNINGS }} -ihledger-lib -DDEVELOPMENT -DVERSION=\"1.26.99\"\'" hledger-lib/test/unittest.hs
|
# $STACK ghci --ghc-options="\'-rtsopts {{ WARNINGS }} -ihledger-lib -DDEVELOPMENT -DVERSION=\"1.26.99\"\'" hledger-lib/test/unittest.hs
|
||||||
# run ghci on all the hledger
|
# run ghci on all the hledger
|
||||||
# ghci-all:
|
# ghci-all:
|
||||||
# $STACK exec -- $GHCI $BUILDFLAGS \
|
# $STACK exec -- $GHCI $BUILDFLAGS \
|
||||||
@ -396,7 +377,7 @@ TESTING:
|
|||||||
|
|
||||||
# run ghci on hledger-lib doctests
|
# run ghci on hledger-lib doctests
|
||||||
@ghci-doctest:
|
@ghci-doctest:
|
||||||
cd hledger-lib; $STACKGHCI ghci hledger-lib:test:doctest
|
cd hledger-lib; $STACK ghci hledger-lib:test:doctest
|
||||||
|
|
||||||
# run ghci on Shake.hs
|
# run ghci on Shake.hs
|
||||||
@ghci-shake:
|
@ghci-shake:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user