site: contributing: fix clone url, cleanups
This commit is contained in:
parent
72993a3f59
commit
80772cecff
@ -29,7 +29,7 @@ build your prosperity consciousness!
|
|||||||
|
|
||||||
- Test installation on platforms you have access to
|
- Test installation on platforms you have access to
|
||||||
- Run the latest release or developer build
|
- Run the latest release or developer build
|
||||||
- Test examples and advice in the docs
|
- Test examples, advice, and links in the docs
|
||||||
- Report packaging, documentation, UX, functional bugs
|
- Report packaging, documentation, UX, functional bugs
|
||||||
- Report and help analyse problems via irc/mail list/bug tracker
|
- Report and help analyse problems via irc/mail list/bug tracker
|
||||||
|
|
||||||
@ -94,6 +94,39 @@ Estimates are always for the total time cost (not time remaining).
|
|||||||
Estimates are not usually changed, a new estimate is added instead.
|
Estimates are not usually changed, a new estimate is added instead.
|
||||||
Numbers are very approximate, but better than nothing.
|
Numbers are very approximate, but better than nothing.
|
||||||
|
|
||||||
|
#### Run tests
|
||||||
|
|
||||||
|
This command will install haskell dependencies (you might need to
|
||||||
|
install additional system dependencies yourself) and run the package
|
||||||
|
test suites. Currently these consist of hledger-lib's unit tests,
|
||||||
|
hledger's unit tests, and hledger-web's functional tests:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
$ stack test [PKG]
|
||||||
|
```
|
||||||
|
|
||||||
|
Run the hledger-lib and hledger unit tests as a built-in hledger command:
|
||||||
|
```shell
|
||||||
|
$ [stack exec] hledger test
|
||||||
|
```
|
||||||
|
|
||||||
|
Run the hledger functional tests:
|
||||||
|
```shell
|
||||||
|
$ stack install shelltestrunner # if not already done
|
||||||
|
$ make functest
|
||||||
|
```
|
||||||
|
|
||||||
|
Run both unit and functional tests:
|
||||||
|
```shell
|
||||||
|
$ make test
|
||||||
|
```
|
||||||
|
|
||||||
|
Test haddock doc generation:
|
||||||
|
```shell
|
||||||
|
$ make haddocktest
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
#### Run benchmarks
|
#### Run benchmarks
|
||||||
|
|
||||||
Benchmarks are standard performance measurements,
|
Benchmarks are standard performance measurements,
|
||||||
@ -267,39 +300,6 @@ tools/generatejournal 3 5 5 --chinese >examples/chinese.journal
|
|||||||
tools/generatejournal 3 5 5 --mixed >examples/mixed.journal
|
tools/generatejournal 3 5 5 --mixed >examples/mixed.journal
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Run tests
|
|
||||||
|
|
||||||
This command will install haskell dependencies (you might need to
|
|
||||||
install additional system dependencies yourself) and run the package
|
|
||||||
test suites. Currently these consist of hledger-lib's unit tests,
|
|
||||||
hledger's unit tests, and hledger-web's functional tests:
|
|
||||||
|
|
||||||
```shell
|
|
||||||
$ stack test [PKG]
|
|
||||||
```
|
|
||||||
|
|
||||||
Run the hledger-lib and hledger unit tests as a built-in hledger command:
|
|
||||||
```shell
|
|
||||||
$ [stack exec] hledger test
|
|
||||||
```
|
|
||||||
|
|
||||||
Run the hledger functional tests:
|
|
||||||
```shell
|
|
||||||
$ stack install shelltestrunner # if not already done
|
|
||||||
$ make functest
|
|
||||||
```
|
|
||||||
|
|
||||||
Run both unit and functional tests:
|
|
||||||
```shell
|
|
||||||
$ make test
|
|
||||||
```
|
|
||||||
|
|
||||||
Test haddock doc generation:
|
|
||||||
```shell
|
|
||||||
$ make haddocktest
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
### Developer
|
### Developer
|
||||||
|
|
||||||
#### Do code review
|
#### Do code review
|
||||||
@ -311,39 +311,33 @@ $ make haddocktest
|
|||||||
|
|
||||||
#### Build hledger
|
#### Build hledger
|
||||||
|
|
||||||
```shell
|
In short: get [`stack`](/download.html#b) and (except on Windows, where stack provides it) [`git`](http://git-scm.com), then:
|
||||||
$ git clone http://github.com/simonmichael/hledger hledger && cd hledger && stack install # or git:
|
|
||||||
```
|
|
||||||
|
|
||||||
Or in more detail:
|
`$ git clone http://github.com/simonmichael/hledger hledger && cd hledger && stack install # or git://...`
|
||||||
|
|
||||||
|
\
|
||||||
|
In more detail:
|
||||||
|
|
||||||
**1. Get tools**
|
**1. Get tools**
|
||||||
|
|
||||||
1. [`stack`](https://github.com/commercialhaskell/stack/wiki/Downloads)
|
[`stack`](/download.html#b)
|
||||||
is the recommended tool for building hledger. It will also install
|
is the recommended tool for building hledger. You can use cabal-install
|
||||||
haskell tools and libraries as needed. You can use cabal-install
|
if you prefer, but that requires more expertise;
|
||||||
instead of stack if you prefer, but that requires more expertise;
|
|
||||||
the hledger docs assume stack.
|
the hledger docs assume stack.
|
||||||
The [download](/download.html#b) page has more tips.
|
|
||||||
|
|
||||||
2. [`git`](http://git-scm.com) is the version control tool needed to
|
[`git`](http://git-scm.com) is the version control tool needed to
|
||||||
fetch the hledger source and submit changes. On Windows, stack will
|
fetch the hledger source and submit changes. On Windows, stack will
|
||||||
install this as well.
|
install this as well.
|
||||||
|
|
||||||
3. Optional tools to consider:
|
Optional:
|
||||||
|
|
||||||
- `alex`, `happy`, `haddock` and `hpack` - reasonably up-to-date
|
- `ghcid`: a very useful tool that gives real-time feedback as you make code changes.
|
||||||
versions of these tools are required; stack ensures this automatically.
|
- `hasktags`: generates tag files for quick code navigation in editors like Emacs and vi.
|
||||||
|
- `shelltestrunner`: required if you want to run hledger's functional tests.
|
||||||
|
|
||||||
- `ghcid` is a very useful tool that gives real-time feedback as you make code changes.
|
```shell
|
||||||
|
$ stack install ghcid hasktags shelltestrunner
|
||||||
- `hasktags` is an easy way to generate tag files for quick source code navigation in editors like Emacs and vi.
|
```
|
||||||
|
|
||||||
- `shelltestrunner` is required if you want to run hledger's functional tests.
|
|
||||||
|
|
||||||
```shell
|
|
||||||
$ stack install ghcid hasktags shelltestrunner
|
|
||||||
```
|
|
||||||
|
|
||||||
**2. Get the source**
|
**2. Get the source**
|
||||||
|
|
||||||
@ -361,18 +355,16 @@ $ stack install
|
|||||||
This builds all the hledger packages, and installs executables in
|
This builds all the hledger packages, and installs executables in
|
||||||
`$HOME/.local/bin` (or the Windows equivalent), which you should add
|
`$HOME/.local/bin` (or the Windows equivalent), which you should add
|
||||||
to your `$PATH`.
|
to your `$PATH`.
|
||||||
Or you can build fewer packages to save time, eg just the CLI:
|
|
||||||
|
You can build fewer packages to save time, eg just the CLI:
|
||||||
`stack install hledger`.
|
`stack install hledger`.
|
||||||
|
You can also build without installing executables: `stack build; stack exec -- hledger [ARGS]`.
|
||||||
|
|
||||||
You can also build without installing (`stack build`), and then run
|
Note stack fetches most required dependencies automatically,
|
||||||
executables like so: `stack exec -- hledger ...`
|
|
||||||
|
|
||||||
Note build/install will fetch most required dependencies automatically,
|
|
||||||
but not C libraries such as curses or terminfo, which you might need
|
but not C libraries such as curses or terminfo, which you might need
|
||||||
to install yourself.
|
to install yourself.
|
||||||
In case of trouble, see [download](/download.html#b)).
|
In case of trouble, see [download](/download.html#b).
|
||||||
|
|
||||||
Some other options useful for developer builds are `--fast` and `--file-watch`.
|
|
||||||
|
|
||||||
#### Add a test
|
#### Add a test
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user