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

Commit e98a84f

Browse files
committed
Merge branch 'master' of https://github.com/haskell/haskell-ide-engine into internal-test-lib
2 parents fa9eb50 + b33af7a commit e98a84f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+954
-404
lines changed

.circleci/config.yml

Lines changed: 18 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ defaults: &defaults
2222

2323
- restore_cache:
2424
keys:
25-
- stack-cache-12-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "stack-build.txt" }}-{{ checksum "all-cabal.txt" }}
26-
- stack-cache-12-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "stack-build.txt" }}
27-
- stack-cache-12-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "resolver.txt" }}
25+
- stack-cache-{{ .Environment.HIE_CACHE }}-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "stack-build.txt" }}-{{ checksum "all-cabal.txt" }}
26+
- stack-cache-{{ .Environment.HIE_CACHE }}-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "stack-build.txt" }}
27+
- stack-cache-{{ .Environment.HIE_CACHE }}-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "resolver.txt" }}
2828

2929
- run:
3030
name: Stack setup
@@ -59,13 +59,14 @@ defaults: &defaults
5959
command: rm -fr ~/.cache/cabal-helper
6060

6161
- save_cache:
62-
key: stack-cache-12-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "resolver.txt" }}
63-
paths:
62+
key: stack-cache-{{ .Environment.HIE_CACHE }}-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "resolver.txt" }}
63+
paths: &cache_paths
6464
- ~/.stack
6565
- ~/.cache
6666
- ~/build/.stack-work
6767
- ~/build/hie-plugin-api/.stack-work
6868
- ~/build/submodules/HaRe/.stack-work
69+
- ~/build/submodules/brittany/.stack-work
6970
- ~/build/submodules/ghc-mod/core/.stack-work
7071
- ~/build/submodules/ghc-mod/.stack-work
7172
- ~/build/submodules/haskell-lsp/.stack-work
@@ -81,30 +82,12 @@ defaults: &defaults
8182
path: test-logs
8283

8384
- save_cache:
84-
key: stack-cache-12-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "stack-build.txt" }}
85-
paths:
86-
- ~/.stack
87-
- ~/.cache
88-
- ~/build/.stack-work
89-
- ~/build/hie-plugin-api/.stack-work
90-
- ~/build/submodules/HaRe/.stack-work
91-
- ~/build/submodules/ghc-mod/core/.stack-work
92-
- ~/build/submodules/ghc-mod/.stack-work
93-
- ~/build/submodules/haskell-lsp/.stack-work
94-
- ~/build/submodules/cabal-helper/.stack-work
85+
key: stack-cache-{{ .Environment.HIE_CACHE }}-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "stack-build.txt" }}
86+
paths: *cache_paths
9587

9688
- save_cache:
97-
key: stack-cache-12-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "stack-build.txt" }}-{{ checksum "all-cabal.txt" }}
98-
paths:
99-
- ~/.stack
100-
- ~/.cache
101-
- ~/build/.stack-work
102-
- ~/build/hie-plugin-api/.stack-work
103-
- ~/build/submodules/HaRe/.stack-work
104-
- ~/build/submodules/ghc-mod/core/.stack-work
105-
- ~/build/submodules/ghc-mod/.stack-work
106-
- ~/build/submodules/haskell-lsp/.stack-work
107-
- ~/build/submodules/cabal-helper/.stack-work
89+
key: stack-cache-{{ .Environment.HIE_CACHE }}-{{ arch }}-{{ .Environment.CIRCLE_JOB }}-{{ checksum "stack-build.txt" }}-{{ checksum "all-cabal.txt" }}
90+
paths: *cache_paths
10891

10992
version: 2
11093
jobs:
@@ -148,6 +131,11 @@ jobs:
148131
- STACK_FILE: "stack-8.6.2.yaml"
149132
<<: *defaults
150133

134+
ghc-8.6.3:
135+
environment:
136+
- STACK_FILE: "stack-8.6.3.yaml"
137+
<<: *defaults
138+
151139
ghc-nightly:
152140
environment:
153141
- STACK_FILE: "stack.yaml"
@@ -168,7 +156,7 @@ jobs:
168156
command: git submodule update --recursive --init
169157
- restore-cache:
170158
keys:
171-
- cabal-12-{{ arch }}-{{ .Environment.CIRCLE_JOB }}
159+
- cabal-{{ .Environment.HIE_CACHE }}-{{ arch }}-{{ .Environment.CIRCLE_JOB }}
172160
- run:
173161
name: Cabal version
174162
command: cabal --version
@@ -182,7 +170,7 @@ jobs:
182170
name: Build
183171
command: cabal new-build -j2
184172
- save_cache:
185-
key: cabal-12-{{ arch }}-{{ .Environment.CIRCLE_JOB }}
173+
key: cabal-{{ .Environment.HIE_CACHE }}-{{ arch }}-{{ .Environment.CIRCLE_JOB }}
186174
paths:
187175
- ~/.cabal
188176

@@ -198,5 +186,6 @@ workflows:
198186
- ghc-8.4.4
199187
- ghc-8.6.1
200188
- ghc-8.6.2
189+
- ghc-8.6.3
201190
- ghc-nightly
202191
- cabal

.gitignore

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,15 @@
4444
/test/testdata/HaReMoveDef.refactored.hs
4545
/test/testdata/HaReRename.hs.keep
4646
/test/testdata/HaReRename.refactored.hs
47-
/test/testdata/gototest/stack.yaml
48-
/test/testdata/stack.yaml
4947
/test/testdata/addPackageTest/**/stack.yaml
5048
/test/testdata/addPackageTest/**/stack.yaml
5149
/test/testdata/addPackageTest/hpack/*.cabal
52-
/test/testdata/redundantImportTest/stack.yaml
50+
/test/testdata/badProjects/cabal/stack.yaml
5351
/test/testdata/completion/stack.yaml
5452
/test/testdata/definition/stack.yaml
53+
/test/testdata/gototest/stack.yaml
54+
/test/testdata/redundantImportTest/stack.yaml
55+
/test/testdata/stack.yaml
5556
/test/testdata/wErrorTest/stack.yaml
5657
TAGS
5758
cabal-dev/
@@ -65,3 +66,6 @@ test-logs/
6566
.hspec-failures
6667
/test/testdata/addPragmas/stack.yaml
6768
.vscode
69+
70+
# shake build information
71+
_build/

.gitmodules

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,24 @@
1+
# To remove a submodule you need to:
2+
#
3+
# Delete the relevant section from the .gitmodules file.
4+
# Stage the .gitmodules changes git add .gitmodules
5+
# Delete the relevant section from .git/config.
6+
# Run git rm --cached path_to_submodule (no trailing slash).
7+
# Run rm -rf .git/modules/path_to_submodule
8+
# Commit git commit -m "Removed submodule <name>"
9+
# Delete the now untracked submodule files
10+
# rm -rf path_to_submodule
11+
12+
113
[submodule "submodules/HaRe"]
214
path = submodules/HaRe
315
# url = https://github.com/bubba/HaRe.git
416
url = https://github.com/alanz/HaRe.git
517

18+
[submodule "submodules/brittany"]
19+
path = submodules/brittany
20+
url = https://github.com/lspitzner/brittany.git
21+
622
[submodule "submodules/cabal-helper"]
723
path = submodules/cabal-helper
824
# url = https://github.com/arbor/cabal-helper.git
@@ -16,20 +32,3 @@
1632
url = https://github.com/alanz/ghc-mod.git
1733

1834

19-
[submodule "submodules/yi-rope"]
20-
path = submodules/yi-rope
21-
url = https://github.com/yi-editor/yi-rope.git
22-
23-
[submodule "submodules/haskell-lsp"]
24-
path = submodules/haskell-lsp
25-
url = https://github.com/alanz/haskell-lsp.git
26-
27-
[submodule "submodules/brittany"]
28-
path = submodules/brittany
29-
url = https://github.com/lspitzner/brittany.git
30-
[submodule "submodules/apply-refact"]
31-
path = submodules/apply-refact
32-
url = https://github.com/alanz/apply-refact.git
33-
[submodule "submodules/lsp-test"]
34-
path = submodules/lsp-test
35-
url = https://github.com/alanz/lsp-test.git

.travis.yml

Lines changed: 119 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,142 @@
11
sudo: false
22
language: c
33
os: osx
4-
env:
5-
- GHC_VER=8.4.3
6-
- GHC_VER=8.4.2
7-
- GHC_VER=8.2.2
8-
- GHC_VER=8.2.1
4+
95
addons:
106
homebrew:
117
packages:
128
- z3
139
- stack
14-
- cabal-install
10+
- upx
11+
1512
cache:
1613
directories:
1714
- $HOME/.stack
18-
- $HOME/.local/bin
1915
- $HOME/.cabal/
2016
- $TRAVIS_BUILD_DIR/.stack-work
17+
- $TRAVIS_BUILD_DIR/submodules/brittany/.stack-work
2118
- $TRAVIS_BUILD_DIR/submodules/HaRe/.stack-work
2219
- $TRAVIS_BUILD_DIR/submodules/ghc-mod/.stack-work
2320
- $TRAVIS_BUILD_DIR/submodules/ghc-mod/core/.stack-work
2421
- $TRAVIS_BUILD_DIR/submodules/haskell-lsp/.stack-work
2522
- $TRAVIS_BUILD_DIR/submodules/haskell-lsp/haskell-lsp-types/.stack-work
2623
- $TRAVIS_BUILD_DIR/submodules/cabal-helper/.stack-work
27-
- $TRAVIS_BUILD_DIR/submodules/brittany/.stack-work
2824
- $TRAVIS_BUILD_DIR/hie-plugin-api/.stack-work
2925
timeout: 800
3026
before_cache:
3127
- rm -rf $TRAVIS_BUILD_DIR/.stack-work/logs/
32-
install:
33-
- |
34-
if [ ! -f $HOME/.cabal/bin/liquid ]; then
35-
stack setup 8.2.2
36-
cabal update
37-
cabal install liquidhaskell -w $HOME/.stack/programs/x86_64-osx/ghc-8.2.2/bin/ghc
38-
fi
39-
- export PATH=$HOME/.cabal/bin/:$PATH
40-
script:
41-
- stack build --stack-yaml=stack-$GHC_VER.yaml
42-
- stack exec hoogle generate --stack-yaml=stack-$GHC_VER.yaml
43-
- stack test --stack-yaml=stack-$GHC_VER.yaml
44-
before_deploy:
45-
- mv .stack-work/install/*/*/*/bin/hie hie-$GHC_VER
46-
- |
47-
if [ "${GHC_VER}" == "8.4.3" ]; then
48-
mv .stack-work/install/*/*/8.4.3/bin/hie-wrapper hie-wrapper
49-
fi
50-
deploy:
51-
provider: releases
52-
api_key:
53-
secure: K12xUSzK+VWpnS4gRo04rJjfi71sBi0zuMWKmAcsK1igvmdbsEjyuyX4SxFI58/sM4x5qlyXg/nWSPfECKjpQS7/Q/GG1ub+AjU9kq5iyiWACWjXpDLN9Jz9iLBceyPLaf3y3rswri45v7LdwvMNwSI/wYNKEz97IfJ3VkCR16kWv/cqHGdJUYWZk7lBJX/BL94Bof4zOoXwSiy0GbaSCptcSHm1qwtN1qYsYnmihgLYR0RtLRz6tvBPHmqDjsWAXMDhaEyi0zfZ06igITkm7E4at+c3/wssYfgSg15AT2fd5T+v9keyzyanBzGh9xHYcMmflIA9dAvQawl/vw8sGsnQRaddhmTd0bqKFrtrnMO5dRsbkIyu1r178BQCJVjvy5KqyVpXy1ycDcO17E5qONVr2V838x6eg9uPJBNGR30XMg3ZF+GPsbz0xhzxf2Hhab82pJ+lAAsBlnaPdDNVchs/wjEFMp94hcL+IL4ydaXk91piPVhs3VPsLfGboQ72sUnyPUI2aiKfkk5P4Xug+2UqbX17fXfLgnkRbfyCd/4IeM4IwHgRAKa3tT7017KGSZBShihqe2dDJBjS8MlIxDD+U69HR2TIkAJaDnJe+UFAndoc8w4Ajd2OJ1/C+ey236SZq9R7D3dqyFi6Sxc1kSpNguVmjjvlEUk/Jpz1ckA=
54-
file:
55-
- hie-$GHC_VER
56-
- hie-wrapper
57-
file_glob: true
58-
skip_cleanup: true
59-
on:
60-
tags: true
28+
29+
stages:
30+
- setup
31+
- dependencies
32+
- test
33+
- deploy
34+
35+
jobs:
36+
include:
37+
- stage: setup
38+
env: GHC_VER="8.4.4"
39+
script: &setup
40+
- ls .stack-work/install/*/*/*/bin/hie || true
41+
- travis_retry stack --no-terminal --install-ghc --stack-yaml=stack-$GHC_VER.yaml setup
42+
# Build a big package to offload the next stage from doing too much work
43+
- stack --stack-yaml=stack-$GHC_VER.yaml build lens
44+
45+
- stage: setup
46+
env: GHC_VER="8.4.3"
47+
script: *setup
48+
49+
- stage: setup
50+
env: GHC_VER="8.4.2"
51+
script: *setup
52+
53+
- stage: setup
54+
env: GHC_VER="8.2.2"
55+
script: *setup
56+
57+
- stage: setup
58+
env: GHC_VER="8.2.1"
59+
script: *setup
60+
61+
- stage: dependencies
62+
env: GHC_VER="8.4.4"
63+
script: &dependencies
64+
- travis_retry stack --no-terminal --install-ghc --stack-yaml=stack-$GHC_VER.yaml build --only-dependencies
65+
66+
- stage: dependencies
67+
env: GHC_VER="8.4.3"
68+
script: *dependencies
69+
70+
- stage: dependencies
71+
env: GHC_VER="8.4.2"
72+
script: *dependencies
73+
74+
- stage: dependencies
75+
env: GHC_VER="8.2.2"
76+
script: *dependencies
77+
78+
- stage: dependencies
79+
env: GHC_VER="8.2.1"
80+
script: *dependencies
81+
82+
- stage: test
83+
env: GHC_VER="8.4.4"
84+
script: &test
85+
- stack --no-terminal --stack-yaml=stack-$GHC_VER.yaml install
86+
87+
- stage: test
88+
env: GHC_VER="8.4.3"
89+
script: *test
90+
91+
- stage: test
92+
env: GHC_VER="8.4.2"
93+
script: *test
94+
95+
- stage: test
96+
env: GHC_VER="8.2.2"
97+
script: *test
98+
99+
- stage: test
100+
env: GHC_VER="8.2.1"
101+
script: *test
102+
103+
- stage: deploy
104+
env: GHC_VER="8.4.4"
105+
script: &deploy
106+
- mkdir -p $HOME/hie-macos
107+
- cp .stack-work/install/*/*/$GHC_VER/bin/hie $HOME/hie-macos
108+
- cp .stack-work/install/*/*/$GHC_VER/bin/hie-wrapper $HOME/hie-macos
109+
- upx --best $HOME/hie-macos/hie
110+
- upx --best $HOME/hie-macos/hie-wrapper
111+
- tar czf "hie-$GHC_VER-Darwin.tar.gz" $HOME/hie-macos
112+
deploy: &upload
113+
provider: releases
114+
api_key:
115+
secure: K12xUSzK+VWpnS4gRo04rJjfi71sBi0zuMWKmAcsK1igvmdbsEjyuyX4SxFI58/sM4x5qlyXg/nWSPfECKjpQS7/Q/GG1ub+AjU9kq5iyiWACWjXpDLN9Jz9iLBceyPLaf3y3rswri45v7LdwvMNwSI/wYNKEz97IfJ3VkCR16kWv/cqHGdJUYWZk7lBJX/BL94Bof4zOoXwSiy0GbaSCptcSHm1qwtN1qYsYnmihgLYR0RtLRz6tvBPHmqDjsWAXMDhaEyi0zfZ06igITkm7E4at+c3/wssYfgSg15AT2fd5T+v9keyzyanBzGh9xHYcMmflIA9dAvQawl/vw8sGsnQRaddhmTd0bqKFrtrnMO5dRsbkIyu1r178BQCJVjvy5KqyVpXy1ycDcO17E5qONVr2V838x6eg9uPJBNGR30XMg3ZF+GPsbz0xhzxf2Hhab82pJ+lAAsBlnaPdDNVchs/wjEFMp94hcL+IL4ydaXk91piPVhs3VPsLfGboQ72sUnyPUI2aiKfkk5P4Xug+2UqbX17fXfLgnkRbfyCd/4IeM4IwHgRAKa3tT7017KGSZBShihqe2dDJBjS8MlIxDD+U69HR2TIkAJaDnJe+UFAndoc8w4Ajd2OJ1/C+ey236SZq9R7D3dqyFi6Sxc1kSpNguVmjjvlEUk/Jpz1ckA=
116+
file:
117+
- "hie-$GHC_VER-Darwin.tar.gz"
118+
skip_cleanup: true
119+
draft: true
120+
tag_name: "${TRAVIS_TAG}"
121+
on:
122+
tags: true
123+
124+
- stage: deploy
125+
env: GHC_VER="8.4.3"
126+
script: *deploy
127+
deploy: *upload
128+
129+
- stage: deploy
130+
env: GHC_VER="8.4.2"
131+
script: *deploy
132+
deploy: *upload
133+
134+
- stage: deploy
135+
env: GHC_VER="8.2.2"
136+
script: *deploy
137+
deploy: *upload
138+
139+
- stage: deploy
140+
env: GHC_VER="8.2.1"
141+
script: *deploy
142+
deploy: *upload

Changelog.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
# 0.5.0.0
2+
3+
- Introduce Shakefile as build alternative (@fendor)
4+
- Support GHC 8.6.3
5+
- Stability improvements
6+
- fixed process dying on some code action requests (#1018)
7+
- Deal with missing system GHC in hie-wrapper (#1012)
8+
- Deal with missing system GHC in hie
9+
- Return an error diagnostic when a project cannot be built (#1011)
10+
- Completion now strips out OccName prefixes added by GHC (#996)
11+
- improve building on windows
12+
- improve building on macos
13+
- Run diagnostics on file save. It used to only do it on change.
14+
115
# 0.4.0.1
216

317
- Install cabal / Cabal (needed for Cabal 2.4.0.1 support) via stack,

0 commit comments

Comments
 (0)