Commit Graph

761 Commits

Author SHA1 Message Date
Simon Michael
7565687fcb tools: always generate cabal files with hpack 0.20 to avoid warnings
Not great, requires makefile users to have a "hpack-0.20" in $PATH.
2018-04-04 17:47:36 +01:00
Simon Michael
3e81019b88 tools: make ghci[d]-lib-doctest 2018-04-04 17:47:01 +01:00
Simon Michael
addd9b5385 tools: make build-check-warnings, notes 2018-03-25 13:17:00 +01:00
Simon Michael
6b1445fa96 site: docs: make site/docs.md mirrors wiki sidebar there 2018-03-09 23:31:26 +00:00
Simon Michael
9fb3a6d986 tools: note site-preview losing styles issue
[ci skip]
2018-03-09 04:18:32 +00:00
Simon Michael
b31c3d7678 tools: make easytest[-watch]
[ci skip]
2018-03-04 12:33:58 -08:00
Simon Michael
46d7893446 updated generated manuals 2018-01-18 11:01:15 -08:00
Simon Michael
b19e885e82 tools: make functest: stop building addons, low value & too slow
[ci skip]
2018-01-13 16:27:11 -08:00
Simon Michael
756296c440 tools: make: version bumping tweaks 2018-01-04 10:25:10 -08:00
Simon Michael
ae3dca28e2 tools: make: update version/date setting rules 2017-12-31 10:21:31 -08:00
Simon Michael
e83b375959 tools: make: changelog-related notes 2017-12-30 18:20:30 -08:00
Simon Michael
2dc47673b7 tools: more reliable cabal file regeneration using stack
Uses stack's hpack, making hpack version warnings less likely.
Regenerates all local stack packages' cabal files, even if they're missing.
2017-12-30 08:58:39 -08:00
Simon Michael
128efd96c2 tools: make ghcid-shake 2017-12-14 16:49:55 -08:00
Simon Michael
b425e50ad1 change paths in code, scripts, readme 2017-12-06 18:16:35 -08:00
Simon Michael
79965c5186 tools: make bench: just run hledger in $PATH by default 2017-12-05 14:32:28 -08:00
Simon Michael
30e4d26534 tools: add bench.hs with notes; make quickbench -> make bench 2017-11-29 07:41:53 -08:00
Simon Michael
9ee1ce9e08 tools: make: changelog comment, make help system optional 2017-09-26 15:32:30 -10:00
Simon Michael
4a5d10eb2d tools: make: tweak commit messages 2017-09-22 16:15:11 -10:00
Simon Michael
88fdb1f465 tools: make: drop "dev" version suffix 2017-09-14 05:51:38 -07:00
Simon Michael
406acac48e cli: include new Commands directory in make rules 2017-09-12 18:06:20 -07:00
Simon Michael
a5d3f82054 tools: make travistest: stack clean before this also 2017-09-12 10:05:11 -07:00
Simon Michael
0bfe590fd7 tools: make stackagetest: also check for haddock errors 2017-09-11 18:37:05 -07:00
Simon Michael
89a627b0c2 tools: make: document ghci rules, add ghcid rules 2017-09-11 16:53:13 -07:00
Simon Michael
6f44987c42 stack: more robust make stacktest, does a clean first
[ci skip]
2017-09-08 12:17:26 -07:00
Simon Michael
9ef6abb3b6 tools: make stacktest: really build all packages 2017-09-08 11:54:29 -07:00
Simon Michael
aac739a248 tools: make stacktest: install ghc when needed 2017-09-08 11:41:01 -07:00
Simon Michael
cf9654797d stack: make stacktest consistent naming, help
[ci skip]
2017-09-08 10:37:28 -07:00
Simon Michael
025a2375bd stack: more thorough make test-stackage (test and bench) 2017-09-08 10:26:40 -07:00
Simon Michael
1f2b00ee3b stack: update stackage configs for 3 ghcs, switch to 8.2.1 as default
Building with same GHC as stackage nightly is a good idea for noticing
problems keeping us out of stackage. make test-stackage is a start at
checking for stackage problems with the last three GHC versions.
2017-09-08 07:57:07 -07:00
Simon Michael
ed256f1dd8 tools: simplify changelog process, make changes-show in each package
[ci skip]
2017-08-25 12:01:31 -07:00
Simon Michael
ffbb71c4ef tools: improve change notes process, make help system, make speed
Draft change notes are now kept in CHANGENOTES.org in the top
directory for easiest access.

The changenotes-* rules for maintaining this have been renamed and
improved.

"make SECTION-help" has been added, as it's sometimes easier to type
than "make help-SECTION". Eg if you append "-help" to any "make RULE"
command you will likely see its help (and neighbouring RULEs' help.
Specifically, it shows the "make help" output from the first match
of the SECTION regexp to the next section end.)

Makefile variables are now all of the dynamic/recursive type. This
might mean shell commands are run redundantly when a variable is used
multiple times, but it avoids running those shell commands at all when
the variable is not used, which means most make rules should now feel
more snappy.

showreleaseauthors looks bitrotted and has been commented out.

[ci skip]
2017-08-16 15:50:48 -07:00
Simon Michael
0a0e6d18ec tools: make help-SECTION 2017-08-16 06:19:32 -07:00
Simon Michael
f99d4eefa6 tools: make help headings tweak 2017-08-16 06:05:43 -07:00
Simon Michael
058791631d tools: make setversion: more thorough replacing of bounds (==, >= only) 2017-08-01 10:10:35 -07:00
Simon Michael
69a272178a tools: make: update RELEASING rules; misc cleanups 2017-07-31 16:12:59 -07:00
Simon Michael
f16052b992 tools: setversion: keep (and require) upper bound in hledger deps 2017-07-30 15:00:44 -07:00
Simon Michael
d4268b4c2e tools: make draft-changelog-start, draft-changelog-update
[ci skip]
2017-07-05 08:17:01 +01:00
Simon Michael
f40c19165d tools: make showreleaseauthors 2017-07-01 18:39:18 +01:00
Simon Michael
6c38f3dc1f tools: make: refactor 2017-06-30 21:14:21 +01:00
Simon Michael
8a847c982b tools: make changelog-draft: show the commits since last tag as org nodes 2017-06-22 09:56:59 -07:00
Simon Michael
2b4e7cdbf7 tools: make tag: add a .ctags file, more detailed tagging of non-haskell files 2017-06-22 07:28:00 -07:00
Simon Michael
f633f2bbb1 tools: make addons (& make functest) compiles the add-ons
bin/compile.sh remains in place for discoverability.

Let's see if this causes a Travis meltdown.
2017-06-13 09:39:34 -07:00
Simon Michael
06140ea610 tools: make test: less stack progress output; skip redundant builtin tests 2017-06-07 07:20:25 -07:00
Simon Michael
54915bba61 tools: hide successes in make functest 2017-06-07 07:15:45 -07:00
Simon Michael
573b08bb90 tools: make setversion: also update hledger-api package version 2017-06-06 09:20:55 -07:00
Simon Michael
13c4643a09 tools: make ghci-prof starts GHCI in profiling mode, can use traceStack 2017-05-30 13:57:52 -07:00
Simon Michael
2f5d950f0e tools: note that shelltest should be a released version 2017-05-24 15:51:33 -07:00
Simon Michael
93f637c766 tools: make ghci-web creates required symlinks
These are needed to run hledger-web from the top directory.
2017-04-29 14:45:38 -07:00
Simon Michael
7bcce9e787 tools: site: note hakyll preview issues, add easy auto-reloading rule 2017-04-27 10:00:26 -07:00
Simon Michael
2f5c9df0de tools: make tagrelease move tags when needed 2017-03-31 18:29:41 -07:00
Simon Michael
2c1ec12d2e tools: update make hackageupload 2017-03-31 18:16:04 -07:00
Simon Michael
ed93026f48 tools: make travistest 2017-03-31 17:57:12 -07:00
Simon Michael
98ca2e965c tools: make: set exit code when various tests fail 2017-03-28 22:10:46 -07:00
Simon Michael
6eb211aa6c tools: revert problematic "make functest" PATH change 2017-03-28 18:43:13 -07:00
Simon Michael
71b7103e00 tools: fix path for make tag 2017-03-28 04:47:36 -07:00
Simon Michael
49973afe2d tools: shelltest tweaks: explicit path, show successes 2017-03-22 08:13:04 +00:00
Simon Michael
fc51940c78 tools: avoid excessive rebuilding with make [func]test 2017-03-21 09:17:10 +00:00
Simon Michael
3ae8712bbc rename data/ to examples/ 2017-01-08 07:26:13 -08:00
Simon Michael
eaadc927a7 tools: fix ugly warnings after using multiple cabal versions 2016-12-30 14:36:28 -08:00
Simon Michael
eaf8853a9f tools: hakyll isn't in lts 7, use nightly for hakyll-std
Also compile it when run interpreted.
2016-12-29 11:33:34 -08:00
Simon Michael
2b310029bf file list fixes 2016-11-12 13:53:55 -08:00
Simon Michael
7d4a1f2399 tools: make/shake cleanups 2016-10-28 11:15:10 -07:00
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
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
Simon Michael
18856d6a76 doc: skip generating old docs for now 2014-12-02 11:53:12 -08:00
Simon Michael
3ed0ccef0c doc: move profs/ under doc/ 2014-10-31 16:24:58 -07:00
Simon Michael
1221b2d3ed doc: site rule tweak 2014-10-31 16:16:41 -07:00
Simon Michael
78640449a0 doc: move site/ under doc/, switch to hakyll-std 2014-10-31 15:20:43 -07:00
Simon Michael
add2ee36b8 makefile tweaks 2014-10-28 18:40:21 -07:00
Simon Michael
93128d71b4 makefile updates 2014-10-26 11:29:17 -07:00
Simon Michael
5f32855040 tools: make allcabal* -> make cabal* 2014-10-18 11:17:02 -07:00
Simon Michael
6c0975be81 tools: document ghci*, repl* rules 2014-10-18 10:20:32 -07:00
Simon Michael
4ec9bc4c53 tools: make uninstall, reduces noise when testing
Tries to unregister all three hledger packages from the user's package
db (not cabal sandbox aware).
2014-10-18 10:19:00 -07:00
Simon Michael
33499a9957 tools: more selective make clean* 2014-10-18 10:18:36 -07:00
Simon Michael
84a90374b4 make build warnings consistent 2014-10-18 10:16:22 -07:00
Simon Michael
6a23ea87cc tools: make clean avoid sandboxes 2014-10-18 09:30:53 -07:00
Simon Michael
42a22be9b0 tools: fix tagrelease 2014-09-12 18:41:53 -07:00
Simon Michael
6bf599ae9e tools: dev setup/test updates 2014-08-13 17:48:24 -07:00
Simon Michael
2d6b2008f5 tools: "make check" tests the dev environment
Fed up with GHC/cabal constantly assaulting me like Cato in a Pink
Panther movie, here are some shell tests to give me some
warning/reassurance about the dev setup on various machines.
Thou Shalt Not Reimplement Autoconf, but perhaps a little cross-platform
test suite focussed on my needs is a reasonable idea.
2014-08-13 15:44:11 -07:00
Simon Michael
d089c90e86 tools: new/improved install[deps][-force] make rules 2014-08-07 08:57:45 -07:00
Simon Michael
9b83a411b9 tools: set LANG only if not already set, document better 2014-07-31 17:49:04 -07:00
Simon Michael
0bae2283b3 tools: rename repl-* rules for easier editing 2014-07-17 16:25:02 -07:00
Simon Michael
8c07e68c4a tools: fixup for last (98255db, magit issue) 2014-07-08 12:01:27 -07:00
Simon Michael
98255dbeb0 tools: makefile build cleanups 2014-07-08 11:57:42 -07:00
Simon Michael
71beb27503 tools: build haddocks by package, using cabal 2014-07-08 11:52:06 -07:00
Simon Michael
4c509ff933 tools: make repl[lib,web], cabal repl in each package 2014-07-06 10:47:45 -07:00
Simon Michael
e13dd554a1 tools: benchmarking updates 2014-07-06 10:19:34 -07:00
Simon Michael
b6ad593c8a tools: use cabal builds for profiling 2014-07-06 10:16:56 -07:00
Simon Michael
d1a3516c70 reorganise functional tests by command/topic 2014-05-06 21:02:58 -07:00
Simon Michael
5f59749cf4 tools: test addons also echo their arguments 2014-05-06 19:59:45 -07:00
Simon Michael
4381022e25 addons: move test addons under tests/ 2014-04-27 18:45:22 -07:00
Simon Michael
4b47c1340f addons: note more issues 2014-04-26 10:49:37 -07:00
Simon Michael
9ce2d6a75a tools: update test addons 2014-04-26 10:44:31 -07:00
Simon Michael
b2944709c1 tools: make test-addons 2014-04-22 17:40:16 -07:00
Simon Michael
2dfe082308 doc: DOWNLOAD/RELNOTES/SCREENSHOTS are now wiki-only 2014-04-21 07:31:13 -07:00
Simon Michael
f2d4378028 tools: also show warnings with make ghci 2014-04-19 12:03:13 -07:00
Simon Michael
c36244bfe6 tools: have cabal use configured GHC version too 2014-04-19 12:02:20 -07:00
Simon Michael
1b6ccc03bc tools: more wine shell variants 2014-04-19 11:58:55 -07:00
Simon Michael
7db02df56c tools: wine-bash 2014-04-17 12:38:51 -07:00
Simon Michael
7c204e1dfd tools: define GHCI version 2014-03-04 11:04:31 -08:00
Simon Michael
456539675b rename NEWS to CHANGES, move HCAR announcements elsewhere
Towards getting a changelog to show up on Hackage. We may need to
move or copy the file down into one or more of the package dirs as well.
2014-01-26 11:54:14 -08:00
Simon Michael
9bf447184b docs: move most docs to the wiki
I've moved the installation and developer guides, FAQ and how-tos from
hledger.org (yst & git) to hledger.org/wiki (dokuwiki) and tried to
integrate their navigation bars two as best I can. Using just one
or the other would be nice, but I don't think I can quite do that;
it seems the manual at least should be revision controlled along with the code.
2014-01-26 11:41:28 -08:00
Simon Michael
cf2f3ee099 site: new plan - switch to yst for site building 2014-01-12 15:15:09 -08:00
Simon Michael
bba0d702a1 move bench.tests to tests/ 2014-01-11 21:53:06 -08:00
Simon Michael
77a56584c8 site: rename *site rules to site* 2014-01-11 21:46:04 -08:00
Simon Michael
1363d3c9ec rename VERSION file 2014-01-11 21:29:24 -08:00
Simon Michael
6f9cb50c2b docs: fix old doc generation 2014-01-11 21:27:36 -08:00
Simon Michael
6b9f5d37a5 docs: move most docs to doc/, hakyll cleanups fixing site preview 2014-01-11 21:22:53 -08:00
Simon Michael
ed8e93d1dd tools: disable some failing release test scripts 2014-01-08 15:23:10 -08:00
Simon Michael
ff30fc5aa2 tools: I think we're using simple git tags now 2014-01-08 15:22:43 -08:00
Simon Michael
5bb4cc2978 docs: really clean all old doc versions 2013-12-13 19:36:21 -08:00
Simon Michael
8bf47f65ea docs: fix 0.22 docs building 2013-12-13 19:19:17 -08:00
Simon Michael
8befcb8354 bump version to 0.22, update tested-with & doc building 2013-12-13 18:28:45 -08:00
Simon Michael
5c43795a5e tools: set LANG in makefile, still needed by something 2013-12-07 14:32:44 -08:00
Simon Michael
cb3504d72e tools: run functional tests less verbosely 2013-12-07 06:28:07 -08:00
Simon Michael
804c307694 tools: remove outdated comment 2013-09-21 13:37:58 -07:00
Simon Michael
b72d2b17b6 docs: add 0.21.3's manual to past manuals 2013-09-09 16:10:43 -07:00
Simon Michael
3c66569e35 tools: use firefox as default browser in this modern era 2013-09-09 15:53:43 -07:00
Simon Michael
3f3e9fcc06 tools: new sloc, cloc targets 2013-07-10 15:29:00 -07:00
Simon Michael
8feca2fa84 tools: fix hackageupload-dry 2013-07-10 15:28:34 -07:00
Simon Michael
f6be82e153 tools: fix tagrelease rule 2013-06-24 08:05:34 -07:00
Simon Michael
080eb866ec web: clean up language extensions a bit, make autoweb works again 2013-06-04 18:23:55 -07:00
Simon Michael
d95ba9c514 docs: add 0.20 to past manuals 2013-06-02 08:57:44 -07:00
Simon Michael
95950f6e51 Merge branch 'master' of github.com:simonmichael/hledger 2013-05-04 09:07:22 -07:00
Simon Michael
8139528e83 tools: clarify tools/simplebench.hs's required libs 2013-05-04 09:07:00 -07:00
Simon Michael
017251a46a tools: make "bench" verbose like "quickbench" 2013-05-04 09:00:52 -07:00
Simon Michael
698fbbb81f Merge branch 'master' of github.com:simonmichael/hledger 2013-05-04 08:37:18 -07:00
Simon Michael
473f752106 tools: update (quick)bench tests a little
Today I'm seeing relative performance numbers like this (linode 1G VPS, 32-bit GNU/Linux):

+-------------------------------------------++--------------+--------------+--------------+---------------------+
|                                           || hledger-0.18 | hledger-0.19 | hledger-0.20 | ledger-3.0-20130215 |
+===========================================++==============+==============+==============+=====================+
| -f data/100x100x10.journal     balance    ||         0.16 |         0.04 |         0.05 |                0.02 |
| -f data/1000x1000x10.journal   balance    ||         8.26 |         0.34 |         0.47 |                0.07 |
| -f data/10000x1000x10.journal  balance    ||        11.85 |         2.59 |         3.94 |                0.31 |
| -f data/10000x1000x10.journal  balance aa ||         3.73 |         3.49 |         4.72 |                0.23 |
| -f data/100x100x10.journal     register   ||         0.07 |         0.07 |         0.07 |                0.07 |
| -f data/1000x1000x10.journal   register   ||         0.56 |         0.51 |         0.70 |                0.54 |
| -f data/100x100x10.journal     print      ||         0.06 |         0.04 |         0.06 |                0.01 |
| -f data/1000x1000x10.journal   print      ||         0.37 |         0.34 |         0.49 |                0.07 |
| -f data/10000x1000x10.journal  print      ||         3.84 |         3.54 |         4.62 |                0.55 |
+-------------------------------------------++--------------+--------------+--------------+---------------------+
2013-05-03 13:18:05 -07:00
Simon Michael
c2d93f2c68 Merge branch 'master' of github.com:simonmichael/hledger 2013-05-03 12:01:37 -07:00
Simon Michael
9b58df70a6 tools: include Makefile.local if present 2013-05-03 12:00:05 -07:00
Simon Michael
c8f2f836a9 tools: don't mess with download page when updating version 2013-05-03 06:48:31 -07:00
Simon Michael
e2f6a26d66 tools: be aware of cabal macros when generating haddock 2013-05-03 05:54:01 -07:00
Simon Michael
0d17d31af4 tools: make ghciweb fixes 2013-04-19 14:55:36 -07:00
Simon Michael
2eabcd1360 reverse and rename the blaze_html_0_5 flag to blaze_html_0_4 2013-04-19 12:40:29 -07:00
Simon Michael
91c622ab39 simplify PATCHLEVEL assignment 2013-04-08 11:31:24 -07:00
Simon Michael
c344dcd0cd site: update old docs setup for git 2013-04-06 12:39:35 -07:00
Simon Michael
0140cf62ab don't require that hacky last_release tag for PATCHLEVEL, needs more thought 2013-04-06 12:38:25 -07:00
Simon Michael
7742bd2104 profiling in auto builds has stopped working, turn it off 2013-04-05 20:55:01 -07:00
Simon Michael
df561f1563 tools: calculate patch level using git describe now.
Patch level is now the number of commits since the last_release tag,
avoiding interference from misc other tags.
2013-04-05 20:45:22 -07:00
Simon Michael
53f602c4cf tools: fix make test and others now that we're using cabal macros like MIN_VERSION_directory 2013-04-04 01:22:14 +00:00
Simon Michael
17ef7295b6 tools: mark download page as containing an updatable version number 2013-04-01 21:25:27 +00:00
Simon Michael
caa48b35c2 tools: oldsource/cleanoldsource make rules for site 2013-03-31 14:58:04 +00:00
Simon Michael
4e4a283a84 tools: don't define commithook target in makefile, that's repo-specific 2013-03-11 18:39:36 +00:00
Simon Michael
95e6dae18a tools: better auto build rule, "make auto-CMD" runs CMD on each rebuild 2013-02-25 20:40:03 +00:00
Simon Michael
34390f9af6 tools: include profiling info in the "auto" dev builds, why not 2013-02-25 20:38:20 +00:00
Simon Michael
ab53dd0813 tools: test hackage upload 2013-01-11 13:32:42 +00:00
Simon Michael
7f1f392166 tools: run built-in tests with a pattern 2013-01-11 13:32:27 +00:00
Simon Michael
db8cb417fe tools: link hledger-web dirs to top level for bin/hledger-webdev also 2013-01-11 13:30:15 +00:00
Simon Michael
023fe4f142 docs: note hledger's include does not support glob patterns 2013-01-04 21:31:36 +00:00
Simon Michael
1e41ba619a tools: exclude hledger-web from make install by default, as it's harder 2012-12-28 17:15:23 +00:00
Simon Michael
a7358e4497 tools: symlink more dirs for web dev builds 2012-11-27 23:52:47 +00:00
Simon Michael
8d973ac3b3 tools: upload to hackage more quietly 2012-11-17 04:31:38 +00:00
Simon Michael
34baea6302 tools: packdeps (/checkdeps) rule for checking all packages 2012-11-18 22:51:00 +00:00
Simon Michael
ea212ba2d1 tools: add "dev" suffix to version string of dev builds 2012-11-18 22:52:16 +00:00
Simon Michael
64cdd1a434 tools: also tag web handlers 2012-11-19 21:48:19 +00:00
Simon Michael
c70ba1a979 tools: fix web dev build 2012-11-19 23:18:22 +00:00
Simon Michael
79f0e98186 tools: fix haddock generation (web excluded) 2012-11-19 23:36:36 +00:00
Simon Michael
93978fcf81 tools: web dev build fixes 2012-11-23 20:49:17 +00:00
Simon Michael
300ef7c536 tools: web dev build uses RecordWildCards 2012-11-20 02:25:14 +00:00
Simon Michael
7d92fa6a7f tools: fix manual version number setting 2012-11-24 15:59:42 +00:00
Simon Michael
2addc934fc tools: add more web source files 2012-11-17 01:26:08 +00:00
Simon Michael
92ea44dcb8 tools: update web building rules 2012-11-16 18:49:00 +00:00
Simon Michael
af03481385 tools: more sample journals 2012-10-13 19:47:39 +00:00
Simon Michael
3fe66ab6ec tools: more makefile cleanups, drop --make 2012-10-21 21:22:27 +00:00
Simon Michael
4752726585 tools: rename hledgerp to hledgerprof 2012-10-21 21:24:06 +00:00
Simon Michael
97a8ed23df tools: makefile updates & cleanups 2012-10-21 21:09:24 +00:00
Simon Michael
e701c2b1cb tools: rsync refactor 2012-09-28 17:35:07 +00:00
Simon Michael
2b8d759db1 rename developer build to hledgerdev, avoiding confusion with production hledger 2012-10-21 18:23:23 +00:00
Simon Michael
3e28f6001f tools: more top-level build fixes; remove chart/vty rules 2012-10-13 19:47:16 +00:00
Simon Michael
f03b020e2f set version with CPP instead of cabal-file-th; make building more robust
hledger and hledger-web were reading their version number (and program
name) from their cabal files at compile time using cabal-file-th,
which allowed the version number be maintained in one place (per
package).

This meant you had to be in same directory as the cabal file when
building, which made life more complicated, eg emacs compilation mode
could not jump to errors. Also, it slowed down building slightly, and
is a factor in hledger Debian packages being unavailable on a number
of platforms (we also use TH for report templates).

Now, the build version is set with a CPP VERSION flag, which seems
simpler overall. For cabal builds, this needs to be configured
manually in a few more places in each cabal file. For makefile builds,
it is set it to the name of the most recent darcs tag (which should be
more useful than the old behaviour). If not set, it defaults to the
blank string, useful eg for haddock. And, all makefile builds now run
from the top directory.
2012-10-13 19:21:17 +00:00
Simon Michael
257732bf43 tools: build rule updates 2012-10-08 16:52:49 +00:00
Sergei Trofimovich
a433910a60 Makefile: allow passing arbitrary HCFLAGS as ghc options
It is handly to check things inplace:

hledger $ make
cd hledger; ghc --make hledger-cli.hs -o ../bin/hledger -DMAKE -W -fwarn-tabs -fno-warn-name-shadowing  -i../hledger-lib -i../hledger -i../hledger-web  -L/usr/lib -DPATCHLEVEL=0 +RTS -M200m -RTS

../hledger-lib/Hledger/Utils.hs:30:8:
    Ambiguous module name `Control.Monad.Error':
      it was found in multiple packages: mtl-2.1.2 monads-fd-0.1.0.4
make: *** [bin/hledger] Error 1
hledger $ make HCFLAGS="-hide-package monads-fd"
<all ok>
2012-08-21 07:17:24 +00:00
Simon Michael
577981367b tools: version fix 2012-10-21 22:23:06 +00:00
Simon Michael
6704d3ae0e tools: include docs in tags 2012-03-11 18:39:26 +00:00
Simon Michael
08bb23bcfc site: more dev doc fixes 2012-03-11 20:16:45 +00:00
Simon Michael
95916e1f60 tools: view framed haddock by default 2012-03-29 23:38:36 +00:00
Simon Michael
396f8cfa9b tools: drop old PRODUCTION flag 2012-04-03 17:25:24 +00:00