Skip to content
This repository was archived by the owner on Oct 7, 2020. It is now read-only.

Commit 35a4b4b

Browse files
committed
include suggestions from reviews into build-system documentation
1 parent 9ad97c5 commit 35a4b4b

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

docs/Build.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ The design of the build system has the following main goals:
1414
- `git`
1515
* is completely functional right after a simple `git clone` and after every `git pull`
1616
* one-stop-shop for building and naming all executables required for using `hie` in IDEs.
17-
* fails with meaningful error messages in known circumstances
17+
* prevents certain build failures by either identifying a failed precondition (such as wrong `stack` version) or by performing the necessary steps so users can't forget them (such as invoking `git` to update submodules)
18+
19+
1820
* is able to modify the environment such that `hie` can be run
1921
- setup `hoogle` database
2022
- setup `hlint` data-files
@@ -30,7 +32,7 @@ The build script `install.hs` defines several targets using the `shake` build sy
3032
* `build-doc`: builds the hoogle-db required by `hie`
3133
* `cabal-*`: execute the same task as the original target, but with `cabal` instead of `stack`
3234

33-
Each `stack-*.yaml` contains references to packages in the submodules. Calling `stack` with one of those causes the build to fail if the submodules have not been initialized already. The file `shake.yaml` solves this issue. Moreover, it specifies the correct version of `shake` and is used for installing all run-time dependencies such as `cabal` and `hoogle` if necessary.
35+
Each `stack-*.yaml` contains references to packages in the submodules. Calling `stack` with one of those causes the build to fail if the submodules have not been initialized already. The file `shake.yaml` solves this issue invoking the `git` binary itself to update the submodules. Moreover, it specifies the correct version of `shake` and is used for installing all run-time dependencies such as `cabal` and `hoogle` if necessary.
3436

3537
### Run-time dependencies
3638

@@ -57,7 +59,7 @@ This ensures that a complete install is always possible after each `git pull` or
5759
The `install.hs` script performs some checks to ensure that a correct installation is possible and provide meaningful error messages for known issues.
5860

5961
* `stack` needs to be up-to-date. Version `1.9.3` is required
60-
* `ghc-8.6.3` does not work in windows. Trying to install `hie-8.6.3` on windows is not possible
62+
* `ghc-8.6.3` is broken on windows. Trying to install `hie-8.6.3` on windows is not possible.
6163
* `cabal new-build` does not work on windows at the moment. All `cabal-*` targets exit with an error message about that.
6264
* When the build fails, an error message, that suggests to remove `.stack-work` directory, is displayed.
6365

0 commit comments

Comments
 (0)