mirror of
https://github.com/haskell/haskell-ide-engine.git
synced 2024-09-11 11:05:30 +03:00
Bring in GHC 8.6.3 support
As stackacke nightly from 2018-12-18 on supports it.
This commit is contained in:
parent
3dc4f6dcc9
commit
75e94c4660
@ -131,6 +131,11 @@ jobs:
|
||||
- STACK_FILE: "stack-8.6.2.yaml"
|
||||
<<: *defaults
|
||||
|
||||
ghc-8.6.3:
|
||||
environment:
|
||||
- STACK_FILE: "stack-8.6.3.yaml"
|
||||
<<: *defaults
|
||||
|
||||
ghc-nightly:
|
||||
environment:
|
||||
- STACK_FILE: "stack.yaml"
|
||||
@ -181,5 +186,6 @@ workflows:
|
||||
- ghc-8.4.4
|
||||
- ghc-8.6.1
|
||||
- ghc-8.6.2
|
||||
- ghc-8.6.3
|
||||
- ghc-nightly
|
||||
- cabal
|
||||
|
4
Makefile
4
Makefile
@ -1,13 +1,13 @@
|
||||
BASEDIR=$(CURDIR)
|
||||
STACKLOCALBINDIR:=$(shell stack path --local-bin)
|
||||
GHC_VERSIONS= 8.6.2 8.6.1 8.4.4 8.4.3 8.4.2 8.2.2 8.2.1
|
||||
GHC_VERSIONS= 8.6.3 8.6.2 8.6.1 8.4.4 8.4.3 8.4.2 8.2.2 8.2.1
|
||||
|
||||
all: help
|
||||
.PHONY: all
|
||||
|
||||
|
||||
|
||||
## Builds hie for all supported GHC versions (8.2.1, 8.2.2, 8.4.2, 8.4.3, 8.4.4, 8.6.1 and 8.6.2)
|
||||
## Builds hie for all supported GHC versions (8.2.1, 8.2.2, 8.4.2, 8.4.3, 8.4.4, 8.6.1, 8.6.2 and 8.6.3)
|
||||
build: $(foreach version, $(GHC_VERSIONS), hie-$(version))
|
||||
.PHONY: build
|
||||
|
||||
|
12
README.md
12
README.md
@ -139,7 +139,7 @@ cabal update
|
||||
|
||||
The GHC version you are going to install HIE for depends on which version of GHC you are using for your project. If you don't have a current project there are two potential options:
|
||||
|
||||
1. The Nightly GHC version ([currently](https://www.stackage.org/nightly) 8.6.2)
|
||||
1. The Nightly GHC version ([currently](https://www.stackage.org/nightly) 8.6.3)
|
||||
2. The LTS GHC version (which is [currently](https://www.stackage.org/lts) 8.4.4)
|
||||
|
||||
By default in a stack project you will get the LTS version.
|
||||
@ -152,15 +152,15 @@ stack ghc -- --version
|
||||
|
||||
You can install an specific version or [all available GHC versions](#install-all-available-ghc-versions).
|
||||
|
||||
#### Install a specific GHC version 8.2.1 - 8.6.2
|
||||
#### Install a specific GHC version 8.2.1 - 8.6.3
|
||||
|
||||
We will use the `make` tools here to wrap `stack install`. The preferred installation mechanism is via `make`, as it makes sure the repo is synced, installs the required cabal libraries if missing, and makes copies of the executables with suffixes to be able to tell them apart.
|
||||
|
||||
Install **Nightly** (and hoogle docs):
|
||||
|
||||
```bash
|
||||
make hie-8.6.2
|
||||
make build-doc-8.6.2
|
||||
make hie-8.6.3
|
||||
make build-doc-8.6.3
|
||||
```
|
||||
|
||||
Install **LTS** (and hoogle docs):
|
||||
@ -196,7 +196,7 @@ This is the simplest approach as it will install all GHC versions to match again
|
||||
|
||||
This will:
|
||||
|
||||
* install all supported GHC versions (8.2.1 - 8.6.2)
|
||||
* install all supported GHC versions (8.2.1 - 8.6.3)
|
||||
* name them as expected by the VS Code plugin
|
||||
* build local hoogle docs for each version
|
||||
|
||||
@ -240,7 +240,7 @@ cabal update
|
||||
|
||||
This will:
|
||||
|
||||
* install all supported GHC versions (8.2.1 - 8.6.2)
|
||||
* install all supported GHC versions (8.2.1 - 8.6.3)
|
||||
* name them as expected by the VS Code plugin
|
||||
* build local hoogle docs for each version
|
||||
|
||||
|
@ -5,18 +5,21 @@
|
||||
|
||||
$stackbindir = stack path --local-bin
|
||||
|
||||
$supported_versions =
|
||||
$supported_versions =
|
||||
@{ "8.2.1" = "8.2"
|
||||
; "8.2.2" = "8.2"
|
||||
; "8.4.2" = "8.4"
|
||||
; "8.4.3" = "8.4"
|
||||
; "8.4.4" = "8.4"
|
||||
; "8.6.1" = "8.6"
|
||||
; "8.6.2" = "8.6"
|
||||
; "8.6.3" = "8.6"
|
||||
}
|
||||
|
||||
function main($requested_versions) {
|
||||
$build_versions =
|
||||
$requested_versions | sort `
|
||||
| %{
|
||||
| %{
|
||||
$major = $supported_versions[$_]
|
||||
if (-not $major) { bail_unsupported_version $_ }
|
||||
@{ version=$_; major=$major }
|
||||
@ -45,5 +48,5 @@ function bail_unsupported_version($v) {
|
||||
exit
|
||||
}
|
||||
|
||||
if ($args) { main $args }
|
||||
else { main $supported_versions.Keys }
|
||||
if ($args) { main $args }
|
||||
else { main $supported_versions.Keys }
|
||||
|
41
stack-8.6.3.yaml
Normal file
41
stack-8.6.3.yaml
Normal file
@ -0,0 +1,41 @@
|
||||
resolver: nightly-2018-12-18 # GHC 8.6.3
|
||||
packages:
|
||||
- .
|
||||
- hie-plugin-api
|
||||
|
||||
extra-deps:
|
||||
- ./submodules/HaRe
|
||||
- ./submodules/brittany
|
||||
- ./submodules/cabal-helper
|
||||
- ./submodules/ghc-mod
|
||||
- ./submodules/ghc-mod/core
|
||||
|
||||
- apply-refact-0.6.0.0
|
||||
- butcher-1.3.2.1
|
||||
- cabal-plan-0.4.0.0
|
||||
- constrained-dynamic-0.1.0.0
|
||||
- ekg-json-0.1.0.6
|
||||
- ekg-wai-0.1.0.3
|
||||
- haddock-api-2.21.0
|
||||
- hsimport-0.8.6
|
||||
# - lsp-test-0.5.0.2
|
||||
- monad-memo-0.4.1
|
||||
- multistate-0.8.0.1
|
||||
# - resolv-0.1.1.2
|
||||
- syz-0.2.0.0
|
||||
- temporary-1.2.1.1
|
||||
- yaml-0.8.32
|
||||
|
||||
|
||||
|
||||
|
||||
flags:
|
||||
haskell-ide-engine:
|
||||
pedantic: true
|
||||
hie-plugin-api:
|
||||
pedantic: true
|
||||
|
||||
nix:
|
||||
packages: [ icu libcxx zlib ]
|
||||
|
||||
concurrent-tests: false
|
@ -133,7 +133,9 @@ ghcVersion = GHCPre84
|
||||
|
||||
stackYaml :: FilePath
|
||||
stackYaml =
|
||||
#if (defined(MIN_VERSION_GLASGOW_HASKELL) && (MIN_VERSION_GLASGOW_HASKELL(8,6,2,0)))
|
||||
#if (defined(MIN_VERSION_GLASGOW_HASKELL) && (MIN_VERSION_GLASGOW_HASKELL(8,6,3,0)))
|
||||
"stack-8.6.3.yaml"
|
||||
#elif (defined(MIN_VERSION_GLASGOW_HASKELL) && (MIN_VERSION_GLASGOW_HASKELL(8,6,2,0)))
|
||||
"stack-8.6.2.yaml"
|
||||
#elif (defined(MIN_VERSION_GLASGOW_HASKELL) && (MIN_VERSION_GLASGOW_HASKELL(8,6,1,0)))
|
||||
"stack-8.6.1.yaml"
|
||||
|
Loading…
Reference in New Issue
Block a user