Commit Graph

474 Commits

Author SHA1 Message Date
Simon Michael
9caf21f13b tools: setversion: also update hledger-ui's version 2015-10-30 13:24:20 -07:00
Simon Michael
4307d99895 tools: include dev.hs in tags 2015-10-26 06:54:07 -07:00
Simon Michael
191c2e533f doc: generate man pages for each package (#282)
There are now six man pages, one for each main executable and file
format, generated from markdown by the mighty pandoc. They are basically
the content of the user manual, split up and moved into the appropriate
package directory.  I've also committed the generated man files.

The man pages' markdown source (hledger/hledger.1.md,
hledger-lib/hledger_journal.5.md etc.) are now the master documentation
files. The plan is to concatenate them (with a little munging) to form
the all-in-one user manual for the website, at release time.  This also
separates the hledger.org user manual from the latest doc commits, which
should simplify website management.
2015-10-20 06:26:09 -07:00
Simon Michael
78d5a0913e tools: dev-heap improvements 2015-10-17 11:23:39 -07:00
Simon Michael
7817cf9688 tools: functest now builds hledger if needed 2015-10-13 11:43:30 -07:00
Simon Michael
b3f5b7e7ca tools: rename dev-profile, add dev-heap rule 2015-10-13 10:31:43 -07:00
Simon Michael
e6d8a9d1bc tools: add sample journals with wide characters
generatejournal now has --chinese and --mixed options, which are used to
generate some additional small sample journals.
2015-10-10 11:51:07 -07:00
Simon Michael
1d84acc334 tools: drop functestdef and obsolete PATH munging 2015-09-26 16:01:00 -10:00
Simon Michael
1f839f6739 tools: dev script build/profiling updates 2015-09-26 16:00:16 -10:00
Simon Michael
7a7b26d93c tools: include benchmark script in tags 2015-09-26 15:59:11 -10:00
Simon Michael
690181426d tools: add "make describe" (#269)
A make rule to handle some subtleties in getting an accurate stable
git-describe version string.
2015-09-03 12:42:14 -07:00
Simon Michael
e1f5023e30 tools: more PATCHLEVEL/git-describe fixes 2015-09-03 12:24:35 -07:00
Simon Michael
2ec55117c0 tools: better git describe command to set PATCHLEVEL 2015-09-03 12:13:37 -07:00
Simon Michael
323af10790 tools: add hpack yaml files to tags 2015-08-28 15:24:27 -07:00
Simon Michael
8f18560b05 tools: add ghci-ui rule, add hledger-ui to lists 2015-08-24 16:24:11 -07:00
Simon Michael
97ab63811f tools: reenable make simplebench & generatejournal 2015-08-23 21:41:39 -07:00
Simon Michael
97a691cbad tools: update package version in yaml files now 2015-08-12 22:51:17 -07:00
Simon Michael
649f7aa168 tools: heap profiling
"make quickheap-CMD" generates a heap profile for CMD, in
hledgerprof.ps, and tries to open it in a viewer (currently the
mac-friendly "open" executable, so you may need to adjust this in the
makefile).

As with quickprof, CMD must be one word and runs against one of the
sample journals.
2015-07-22 08:59:41 -07:00
Simon Michael
523ab4331a tools: update profiling rules
A bunch of cleanups to make profiling possible again, and easier.

"make quickprof-CMD" generates a profile for CMD, which must be one
word and runs against one of the sample journals (the usual
quickprof-"SOME WORDS" quoting trick isn't working here for some
reason)

Also,

"make hledgerprof" builds the hledgerprof executable (in stack's bin dir) for profiling.

"make hledgercov" builds the hledgercov executable (in ./bin) for coverage reports
(renamed from hledgerhpc to remind me that HPC is nothing to do with heap coverage)
2015-07-22 08:52:30 -07:00
Simon Michael
b4320e08d4 tools: re-enable the ghci and ghci-web rules 2015-07-19 09:31:50 -07:00
Simon Michael
4b2c448a00 tools: ensure a locale in makefile again (eg for cron) 2015-07-14 17:52:14 -07:00
Simon Michael
c5d6f3308f tools: also clean .dyn_o etc, and avoid .stack-work 2015-07-14 17:38:02 -07:00
Simon Michael
78018cc24d tools: yaml definitions for the hledger cabal files
Here are hpack package.yaml files for the other hledger cabal files.
These remove a lot of human-error-prone duplication.
They are not used yet as hpack isn't quite mature enough -
when it supports flags and benchmarks we will probably switch.
2015-07-14 17:32:49 -07:00
Simon Michael
4a3b09e1ed tools: start generating cabal files with hpack
hakyll-std's cabal file is now generated by hpack from an easier yaml
config file, which looks like a valuable timesaver. "make gencabalfiles"
will regenerate this cabal file (and soon the others) when needed.
2015-07-14 15:19:05 -07:00
Simon Michael
f788c53217 site: commit and use hakyll-std, a generic site builder 2015-07-13 20:47:53 -07:00
Simon Michael
3ac9d419e0 tools: fix version string updating in manual 2015-07-13 11:54:38 -07:00
Simon Michael
b4f7860f2b tools: enable site, site-clean make rules 2015-07-13 11:48:48 -07:00
Simon Michael
56b3d9a041 tools: makefile updates 2015-07-12 15:23:42 -07:00
Simon Michael
1dd51b3e8b tools: new makefile updates
The makefile now uses stack primarily.
The following updated rules are available:

$ make
Makefile:35: -------------------- hledger make rules --------------------
Makefile:37: make [help] -- list documented rules in this makefile. make -n RULE shows more detail.
Makefile:202: (INSTALLING:)
Makefile:204: make install -- download dependencies and install hledger executables to ~/.local/bin or equivalent (with stack)
Makefile:229: (BUILDING:)
Makefile:233: make build -- download dependencies and build hledger executables (with stack)
Makefile:302: make hledgerdev -- quickly build the hledger executable (with ghc and -DDEVELOPMENT)
Makefile:487: (TESTING:)
Makefile:495: make test -- run default tests
Makefile:541: make pkgtest -- run the test suites for each package
Makefile:548: make builtintest -- run tests built in to the hledger executable (subset of pkg tests)
Makefile:572: make functest -- run hledger functional tests with the stack build
Makefile:606: make haddocktest -- run haddock and make sure it succeeds
Makefile:787: (DOCUMENTATION:)
Makefile:895: make haddock -- generate haddock docs for the hledger packages
Makefile:974: (RELEASING:)
Makefile:1053: make setversion -- update all version strings to match .version
Makefile:1056: make setversionforce -- update all version strings even if .version seems unchanged
Makefile:1080: make tagrelease -- commit a release tag based on .version for each package
Makefile:1253: (MISCELLANEOUS:)
Makefile:1255: make usage -- show size of various dirs
Makefile:1260: make stackusage -- show size of stack working dirs
Makefile:1264: make cabalusage -- show size of cabal working dirs if any
Makefile:1268: make tag -- generate tag files for source code navigation (for emacs)
Makefile:1294: make clean -- default cleanup (ghc build leftovers)
Makefile:1297: make Clean -- thorough cleanup (stack/cabal/ghc builds and tags)
Makefile:1302: make cabalCMD -- run cabal CMD inside each hledger package directory
Makefile:1306: make all"CMD" -- run CMD inside each hledger package directory
2015-07-12 12:29:53 -07:00
Simon Michael
1e7b7529af tools: archive old Makefile and start afresh 2015-07-12 12:29:53 -07:00
Simon Michael
a5295bd216 tools: fix functest rule breakage 2015-07-02 17:00:55 -07:00
Simon Michael
4da22cd846 tools: tweak some cabal make rules 2015-06-28 14:18:23 -07:00
Simon Michael
88d0f38f4e tools: makefile and makefile help cleanup 2015-06-17 13:52:04 -07:00
Simon Michael
9617380f3c tools: makefile tweaks 2015-06-17 12:14:46 -07:00
Simon Michael
7a8f813d2f tools: fix make bin/hledger-webdev 2015-05-25 08:44:42 -07:00
Simon Michael
6fa54c94a9 Merge pull request #254 from ricklupton/make-test-fixes
Changes to make `make test` run
2015-05-17 11:07:15 -07:00
Rick Lupton
36535b73d6 Changes to make make test run
- test/ADDONS -> test/addons
 - add bin/ to path when running shelltest so hledgerdev is found
 - use `cabal exec` to find shelltest in cabal sandbox
2015-05-17 18:24:57 +01:00
Simon Michael
9728206f4a tools: also recognize dist-sandbox in make rules (#253) 2015-05-16 07:22:29 -07:00
Simon Michael
83209b862c tools: fix overuse of -XCPP breaking make test etc. 2015-04-07 19:28:57 -07:00
Simon Michael
724bc3c9e9 tools: ghci, ghci-web fixes 2015-04-07 18:36:41 -07:00
Simon Michael
154699ce1f tools: makefile updates, new sandbox rules 2015-04-07 17:18:18 -07:00
Simon Michael
567d322907 tools: fix a makefile typo 2015-03-30 13:36:44 -07:00
Simon Michael
53c1fd3d12 tools: preliminary "make help" (all commented rules) 2015-03-30 12:02:48 -07:00
Simon Michael
1b912387fa tools: Makefile self-documentation system 2015-03-30 12:01:42 -07:00
Simon Michael
49d0492795 tools: clarify a makefile construct 2015-03-30 11:57:34 -07:00
Simon Michael
e91d271ca7 tools: adapt to latest shelltestrunner 2015-03-16 17:55:44 -07:00
Simon Michael
fc743155b9 tools: make sandbox-links, more build nuttiness 2015-03-15 18:50:46 -07:00
Simon Michael
372a2d768b register: use full width, column widths, cleanup
Refactored and enhanced the --width option used by register (and other
commands in future). register now uses the full terminal width by
default except on windows. Specifically, the output width is set from:

1. a --width option
2. or a COLUMNS environment variable (NB: not the same as a bash shell var)
3. or on POSIX (non-windows) systems, the current terminal width
4. or the default, 80 characters.

Also, register now accepts a description column width as part of
--width's argument, comma-separated (--width W,D). This adjusts the
relative widths of register's description and account columns, which are
normally about half of (W-40):

<--------------------------------- width (W) ---------------------------------->
date (10)  description (D)       account (W-41-D)     amount (12)   balance (12)
DDDDDDDDDD dddddddddddddddddddd  aaaaaaaaaaaaaaaaaaa  AAAAAAAAAAAA  AAAAAAAAAAAA

Examples:
$ hledger reg                 # use terminal width on posix
$ hledger reg -w 100          # width 100, equal description/account widths
$ hledger reg -w 100,40       # width 100, wider description
$ hledger reg -w $COLUMNS,100 # terminal width and set description width
2015-01-19 13:48:37 -08:00
Simon Michael
a575de9806 tools: makefile fix 2015-01-10 22:29:03 -08:00
Simon Michael
ec62644161 tools: a fix for make setversion 2014-12-27 14:41:28 -08:00