Commit Graph

499 Commits

Author SHA1 Message Date
Simon Michael
ae794be55d makefile: add hledger-api package 2016-10-26 13:39:48 -07:00
Simon Michael
843c417079 tools: simplebench is now quickbench 2016-10-21 11:46:50 -07:00
Simon Michael
146ba133c6 update recommended snapshots, make GHC8/lts-7 the default 2016-10-20 16:56:29 -07:00
Simon Michael
458a8735d7 makefile, doc tweaks 2016-09-21 09:35:11 -07:00
Simon Michael
25a2fe100c tools: make stack command configurable, for ghc 8 testing 2016-05-27 08:12:48 -07:00
Simon Michael
9a95b142b7 tools: fix for running ghci with extra packages 2016-05-24 19:20:30 -07:00
Simon Michael
99b6c11db5 tools: make a million-txn sample journal 2016-05-24 19:19:27 -07:00
Simon Michael
6454659a22 tools: revive "make quickbench" 2016-05-24 19:17:42 -07:00
Simon Michael
259e7bfbe3 lib: add a doctest suite 2016-04-28 13:34:57 -07:00
Simon Michael
e2126fe480 make: re-enable multi-package ghci prompts 2016-04-21 08:45:29 -07:00
Simon Michael
b0f40bd7c8 tools: fix make functest in a fresh copy 2016-04-21 08:37:37 -07:00
Simon Michael
57d7d931ae retire broken make ghci rules, prefer stack ghci 2016-04-18 15:41:35 -07:00
Simon Michael
588f36d662 rename timelog format to timeclock 2016-04-12 21:13:19 -07:00
Simon Michael
3e53cf7ef9 tools: fix outdated yaml paths in tags 2016-04-12 21:12:39 -07:00
Simon Michael
8fe2cd7ece whitespace 2016-02-21 02:34:36 -08:00
Simon Michael
e1c9e51775 tools: new build system for man/web docs
Goal:

Generate man pages and web docs from one source.

Current plan:

The master docs for each package are now the pandoc-style
manpage-markdown files in the package directories -
hledger/hledger.1.md, hledger-lib/hledger_journal.5.md, etc.

Parts of these will be marked as web-only, and parts as man-only, using
divs recognisable by custom pandoc filters.

When generating man pages we strip the web-only parts, and all html
blocks, inline html and hyperlinks.

When generating web docs we strip the man-only parts and apply any other
tweaks needed for easy presentation, perhaps combining them into a
single web page similar to the old user manual.

Shake:

This was hard to do with GNU Make, and so I've introduced Shake, which
is working very well. Both coexist for now but it's probably time to
switch.
2016-02-21 02:21:41 -08:00
Simon Michael
92d5b0ab3d tools: try making web manual from man pages, WIP 2016-02-19 22:39:13 -08:00
Simon Michael
8677d01024 tools: exclude some js files from LOC count 2016-02-19 22:05:41 -08:00
Simon Michael
06b54bf05e lib: timedot format, convenient for time logging
Timedot is a plain text format for logging dated, categorised
quantities (eg time), supported by hledger.  It is convenient for
approximate and retroactive time logging, eg when the real-time
clock-in/out required with a timeclock file is too precise or too
interruptive.  It can be formatted like a bar chart, making clear at a
glance where time was spent.
2016-02-19 17:55:57 -08:00
Simon Michael
b744033a28 tools: make ghci-api 2016-02-19 17:52:40 -08:00
Simon Michael
c8347b00cf tools: improve emacs tags, include js/docs etc. 2016-01-25 08:21:29 -08:00
Simon Michael
26ba907a2e tools: make cloc, counts lines of code 2016-01-17 08:52:19 -08:00
Simon Michael
ed0affd486 tools: move hakyll-std into a subdirectory 2015-11-05 20:24:03 -08:00
Simon Michael
7ec5407638 tools: fix hakyll-std building 2015-11-05 19:41:56 -08:00
Simon Michael
18f3e723ec site: move manual, devguide here; move out of doc/ 2015-11-05 19:32:17 -08:00
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