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
 | 
			
		||||
- 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 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.
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
#### 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
 | 
			
		||||
 | 
			
		||||
#### Do code review
 | 
			
		||||
@ -311,39 +311,33 @@ $ make haddocktest
 | 
			
		||||
 | 
			
		||||
#### Build hledger
 | 
			
		||||
 | 
			
		||||
```shell
 | 
			
		||||
$ git clone http://github.com/simonmichael/hledger hledger && cd hledger && stack install   # or git:
 | 
			
		||||
```
 | 
			
		||||
In short: get [`stack`](/download.html#b) and (except on Windows, where stack provides it) [`git`](http://git-scm.com), then:
 | 
			
		||||
 | 
			
		||||
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. [`stack`](https://github.com/commercialhaskell/stack/wiki/Downloads)
 | 
			
		||||
is the recommended tool for building hledger.  It will also install
 | 
			
		||||
haskell tools and libraries as needed.  You can use cabal-install
 | 
			
		||||
instead of stack if you prefer, but that requires more expertise;
 | 
			
		||||
[`stack`](/download.html#b)
 | 
			
		||||
is the recommended tool for building hledger.  You can use cabal-install
 | 
			
		||||
if you prefer, but that requires more expertise;
 | 
			
		||||
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
 | 
			
		||||
install this as well.
 | 
			
		||||
 | 
			
		||||
3. Optional tools to consider:
 | 
			
		||||
Optional:
 | 
			
		||||
 | 
			
		||||
    - `alex`, `happy`, `haddock` and `hpack` - reasonably up-to-date
 | 
			
		||||
    versions of these tools are required; stack ensures this automatically.
 | 
			
		||||
- `ghcid`: a very useful tool that gives real-time feedback as you make code changes.
 | 
			
		||||
- `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.
 | 
			
		||||
 | 
			
		||||
    - `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
 | 
			
		||||
    ```
 | 
			
		||||
```shell
 | 
			
		||||
$ stack install ghcid hasktags shelltestrunner
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
**2. Get the source**
 | 
			
		||||
 | 
			
		||||
@ -361,18 +355,16 @@ $ stack install
 | 
			
		||||
This builds all the hledger packages, and installs executables in
 | 
			
		||||
`$HOME/.local/bin` (or the Windows equivalent), which you should add
 | 
			
		||||
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`.
 | 
			
		||||
You can also build without installing executables: `stack build; stack exec -- hledger [ARGS]`.
 | 
			
		||||
 | 
			
		||||
You can also build without installing (`stack build`), and then run
 | 
			
		||||
executables like so: `stack exec -- hledger ...`
 | 
			
		||||
 | 
			
		||||
Note build/install will fetch most required dependencies automatically,
 | 
			
		||||
Note stack fetches most required dependencies automatically,
 | 
			
		||||
but not C libraries such as curses or terminfo, which you might need
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user