From 9de199ed5fbcbe74acfa7180822fec7c97b1641b Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 16 Sep 2021 08:33:33 +0200 Subject: [PATCH 01/10] Remove outdated setup troubleshooting --- ghcide/docs/Setup.md | 145 ------------------------------------------- 1 file changed, 145 deletions(-) delete mode 100644 ghcide/docs/Setup.md diff --git a/ghcide/docs/Setup.md b/ghcide/docs/Setup.md deleted file mode 100644 index d53c6e24d3..0000000000 --- a/ghcide/docs/Setup.md +++ /dev/null @@ -1,145 +0,0 @@ -# Setup Troubleshooting - -This page serves as a dumping ground for setup problems and their resolutions. We recommend everyone first runs `ghcide` on the console to check what files in their project load, and only the moves on to using `ghcide` through an editor (e.g. VS Code). - -## "mismatched interface file versions" - -If you see a problem such as: - -```console -File: ./test/Spec.hs -Range: 1:0-1:0 -Source: typecheck -Severity: DsError -Message: - test/Spec.hs:1:1: error: - Bad interface file: - /Users/daml/.stack/programs/x86_64-osx/ghc-8.6.4/lib/ghc-8.6.4/base-4.12.0.0/Prelude.hi - mismatched interface file versions (wanted "8065", got "8064") -``` - -The cause is that your program is configured to use a different GHC to the one you built `ghcide` with. In `ghcide` you can view the version number it was compiled with on the first line as: - -```console -ghcide version: 0.0.3 (GHC: 8.6.5) -``` - -You can see the version of GHC being used by this project in the second-last line of the output with `ghc-8.6.4/`, or in in mismatch interfaces of wanted `8065` (aka 8.6.5), got `8064` (aka 8.6.4). The solution is to use the same GHC version in both places. - -## “failed to load interface for ‘…’ There are files missing” - -If you see a problem such as: - -```console -File: ./src/File/FileStream.hs -Range: 1:0-100001:0 -Source: typecheck -Severity: DsError -Message: - Program error: Failed to load interface for ‘Data.DList’ -Files that failed: - There are files missing in the ‘dlist-0.8.0.7’ package, - * ./src/File/FileStream.hs - try running 'ghc-pkg check'. - Use -v to see a list of the files searched for. -``` - -It might be caused by `ghcide` picking up the wrong cradle. In -particular, this has been observed when running in a `nix-shell` where -`ghcide` picked up the default cradle. Try setting the cradle -explicitly, e.g., to use the cabal cradle create a `hie.yaml` file -with the following content: - -``` -cradle: {cabal: {component: "mylibrary"}} -``` - -If you are using stack, find the list of names you can use: - - $ stack ide targets - mypackage:lib - mypackage:exe:mypackage-exe - mypackage:test:mypackage-test - -and create a `hie.yaml` file as follows: - - {stack: {component: "mypackage:lib"}} - -## ghc: readCreateProcess: does not exist - -On Linux: try `stack exec ghcide`` instead of `ghcide` directly. - -I was getting this in Windows: `ghcide.exe: ghc: readCreateProcess: does not exist (No such file or directory)` - -And we figured a hack around for this: - -VSCode user or workspace settings, add these: - - "hic.executablePath": "stack", - "hic.arguments": "exec ghcide -- --lsp" - -Since I use stack. Required if you don't have a `ghc` on your path. - -## Could not find module ... - -Try adding an explicit `hie.yaml` file and see if that helps. - -## Ambiguous main module - -```console -$ stack exec ghcide - -... - -ghcide: CradleError (ExitFailure 1) ["Failed to parse result of calling stack","","* * * * * * * *","The main module to load is ambiguous. Candidates are: ","1. Package `mypackage' component mypackage:exe:mypackage-exe with main-is file: /home/user/mypackage/app/Main.hs","2. Package `mypackage' component mypackage:exe:otherbin-exe with main-is file: /home/user/mypackage/app/otherbin.hs","You can specify which one to pick by: "," * Specifying targets to stack ghci e.g. stack ghci mypackage:exe:mypackage-exe"," * Specifying what the main is e.g. stack ghci --main-is mypackage:exe:mypackage-exe"," * Choosing from the candidate above [1..2]","* * * * * * * *","",": hGetLine: end of file"] -``` - -Add a `hie.yaml` file to specify the module, e.g. - - cradle: {stack: {component: "mypackage:exe:mypackage-exe"}} - -## Works in `ghcide` but not my editor - -Does `ghcide` alone work on the console? Did you first enter a Nix shell? Or run `stack exec ghcide`? If so, there are two options: - -1. Run your editor via the same mechanism, e.g. `stack exec code`. -2. Change the extension to use the executable as `stack` and the arguments as `exec -- ghcide --lsp`. - -## Issues with Nix - -If you are using packages installed by Nix, then often Nix will set `NIX_GHC_LIBDIR` to say where the libraries are installed. `ghcide` can cope with that. However, sometimes the `ghc` on your shell will actually be a shell script that sets `NIX_GHC_LIBDIR`, which `ghcide` can't find. If that happens, you need to either set `NIX_GHC_LIBDIR` (so `ghcide` can see it) or use a proper [Nix compatible wrapper](https://github.com/hercules-ci/ghcide-nix) over `ghcide`. - -## ghcide: this operation requires -fexternal-interpreter - -This can happen if you have a GHC compiled without GHC library support. This seems to be [the case](https://github.com/input-output-hk/haskell.nix/issues/313) with `haskell.nix` at the moment. - -## Symbol’s value as variable is void: capability - -As described [here](https://github.com/emacs-lsp/lsp-mode/issues/770#issuecomment-483540119) and [here](https://github.com/emacs-lsp/lsp-mode/issues/517#issuecomment-445448700), the default installation of `lsp-mode`, `lsp-ui`, `lsp-ui-mode` and `lsp-haskell` as described in [ghcide's "Using with Emacs" section](https://github.com/haskell/ghcide/#using-with-emacs) may result in the following error message: - -``` -Symbol’s value as variable is void: capability -``` - -This can be caused by either an old version of the Emacs package `dash`, or a cached `.elc` file for an old version. A fix consists of (re)moving the old package from ~/.emacs.d/elpa/ and installing it again, e.g. via M-x `package-list-packages` RET and M-x `package-install` RET `dash` RET. If this is not enough, - -``` -find ~/.emacs.d -name '*.elc' -exec rm {} \; -``` - -(which causes recompilation of all bytecode-compiled scripts.) - - -## Docker stack builds - -You're likely to see `ghcide: (ExitFailure 1,"","")`. Because ghcide can't get at the ghc installed inside Docker, your best bet is to `stack exec ghcide` and make sure `ghcide` is installed within the container. Full details at [issue 221](https://github.com/haskell/ghcide/issues/221). - -## stty error on Windows + Stack - -If you get an error like: - -``` -ghcide.exe: CradleError (ExitFailure 1) ["Failed to parse result of calling stack","'stty' is not recognized as an internal or external command,","operable program or batch file." -``` - -It is fixed for stack-2.3.1 so upgrading your stack installation is the recommended action. However, there is a workaround for earlier versions described here: https://github.com/haskell/haskell-ide-engine/issues/1428#issuecomment-547530794. From f9d8f9eec63a7f6e79277e2ebc8098536ce8fc85 Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 16 Sep 2021 08:34:28 +0200 Subject: [PATCH 02/10] Remove ghc-8.6.4 support --- .circleci/config.yml | 6 -- .github/workflows/build.yml | 2 +- .github/workflows/test.yml | 5 +- ghcide/ghcide.cabal | 2 +- haskell-language-server.cabal | 2 +- stack-8.6.4.yaml | 130 ---------------------------------- 6 files changed, 4 insertions(+), 143 deletions(-) delete mode 100644 stack-8.6.4.yaml diff --git a/.circleci/config.yml b/.circleci/config.yml index 60b81ad4ef..deeed8fea4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -46,11 +46,6 @@ defaults: &defaults version: 2 jobs: - ghc-8.6.4: - environment: - - STACK_FILE: "stack-8.6.4.yaml" - <<: *defaults - ghc-8.6.5: environment: - STACK_FILE: "stack-8.6.5.yaml" @@ -111,7 +106,6 @@ workflows: version: 2 multiple-ghcs: jobs: - - ghc-8.6.4 - ghc-8.6.5 - ghc-8.8.3 - ghc-8.8.4 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e84bddcbd8..776a8dfd23 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - ghc: ['9.0.1', '8.10.7', '8.10.6', '8.10.5', '8.10.4', '8.10.3', '8.10.2', '8.8.4', '8.8.3', '8.6.5', '8.6.4'] + ghc: ['9.0.1', '8.10.7', '8.10.6', '8.10.5', '8.10.4', '8.10.3', '8.10.2', '8.8.4', '8.8.3', '8.6.5'] os: [ubuntu-18.04, macOS-latest, windows-latest] exclude: - os: windows-latest diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c2b1d7e87a..3df49a1019 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,7 +33,7 @@ jobs: strategy: fail-fast: true matrix: - ghc: ["9.0.1", '8.10.7', '8.10.6', "8.10.5", "8.10.4", "8.10.3", "8.10.2", "8.8.4", "8.8.3", "8.6.5", "8.6.4"] + ghc: ["9.0.1", '8.10.7', '8.10.6', "8.10.5", "8.10.4", "8.10.3", "8.10.2", "8.8.4", "8.8.3", "8.6.5"] os: [ubuntu-latest, macOS-latest] include: # only test supported ghc major versions @@ -70,9 +70,6 @@ jobs: # These builds get stuck frequently # - os: windows-latest # ghc: '8.10.2.2' - - # - os: windows-latest - # ghc: '8.6.4' steps: - if: ${{ needs.pre_job.outputs.should_skip != 'true' }} diff --git a/ghcide/ghcide.cabal b/ghcide/ghcide.cabal index 66cc4166ab..8b864f583c 100644 --- a/ghcide/ghcide.cabal +++ b/ghcide/ghcide.cabal @@ -13,7 +13,7 @@ description: A library for building Haskell IDE's on top of the GHC API. homepage: https://github.com/haskell/haskell-language-server/tree/master/ghcide#readme bug-reports: https://github.com/haskell/haskell-language-server/issues -tested-with: GHC == 8.6.4 || == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.2 || == 8.10.3 || == 8.10.4 || == 8.10.5 || == 8.10.6 || == 8.10.7 || == 9.0.1 +tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.2 || == 8.10.3 || == 8.10.4 || == 8.10.5 || == 8.10.6 || == 8.10.7 || == 9.0.1 extra-source-files: README.md CHANGELOG.md test/data/**/*.project test/data/**/*.cabal diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index 8b0f109744..4519460acf 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -14,7 +14,7 @@ copyright: The Haskell IDE Team license: Apache-2.0 license-file: LICENSE build-type: Simple -tested-with: GHC == 8.6.4 || == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.2 || == 8.10.3 || == 8.10.4 || == 8.10.5 || == 8.10.6 +tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.2 || == 8.10.3 || == 8.10.4 || == 8.10.5 || == 8.10.6 extra-source-files: README.md ChangeLog.md diff --git a/stack-8.6.4.yaml b/stack-8.6.4.yaml deleted file mode 100644 index 5329bef27f..0000000000 --- a/stack-8.6.4.yaml +++ /dev/null @@ -1,130 +0,0 @@ -resolver: lts-14.27 # Last 8.6.5 -compiler: ghc-8.6.4 - -packages: - - . - - ./hie-compat - - ./hls-graph - - ./ghcide/ -# - ./shake-bench - - ./hls-plugin-api - - ./hls-test-utils - - ./plugins/hls-call-hierarchy-plugin - - ./plugins/hls-class-plugin - - ./plugins/hls-haddock-comments-plugin - - ./plugins/hls-eval-plugin - - ./plugins/hls-explicit-imports-plugin - - ./plugins/hls-refine-imports-plugin - - ./plugins/hls-hlint-plugin - - ./plugins/hls-rename-plugin - - ./plugins/hls-retrie-plugin - - ./plugins/hls-splice-plugin - - ./plugins/hls-tactics-plugin - - ./plugins/hls-brittany-plugin - - ./plugins/hls-stylish-haskell-plugin - - ./plugins/hls-floskell-plugin - - ./plugins/hls-fourmolu-plugin - - ./plugins/hls-pragmas-plugin - - ./plugins/hls-module-name-plugin - - ./plugins/hls-ormolu-plugin - -ghc-options: - "$everything": -haddock - -extra-deps: - - aeson-1.5.2.0 - - apply-refact-0.9.3.0 - - ansi-terminal-0.10.3 - - base-compat-0.10.5 - - brittany-0.13.1.2 - - butcher-1.3.3.1 - - Cabal-3.0.2.0 - - cabal-plan-0.6.2.0 - - clock-0.7.2 - - Diff-0.4.0 - - floskell-0.10.4 - - fourmolu-0.3.0.0 - - fuzzy-0.1.0.0 - - ghc-check-0.5.0.4 - - ghc-events-0.13.0 - - ghc-exactprint-0.6.4 - - ghc-lib-8.10.4.20210206 - - ghc-lib-parser-8.10.4.20210206 - - ghc-lib-parser-ex-8.10.0.17 - - ghc-source-gen-0.4.1.0 - - ghc-trace-events-0.1.2.1 - - haddock-api-2.22.0@rev:1 - - haddock-library-1.10.0 - - hashable-1.3.0.0 - - heapsize-0.3.0 - - hie-bios-0.7.5 - - hlint-3.2.3 - - HsYAML-0.2.1.0@rev:1 - - HsYAML-aeson-0.2.0.0@rev:2 - - implicit-hie-cradle-0.3.0.5 - - implicit-hie-0.1.2.6 - - indexed-profunctors-0.1 - - lens-4.18 - - megaparsec-9.0.1 - - monad-dijkstra-0.1.1.2 - - opentelemetry-0.6.1 - - opentelemetry-extra-0.6.1 - - optics-core-0.2 - - optparse-applicative-0.15.1.0 - - ormolu-0.1.4.1 - - parser-combinators-1.2.1 - - primitive-0.7.1.0 - - refinery-0.4.0.0 - - regex-base-0.94.0.0 - - regex-pcre-builtin-0.95.1.1.8.43 - - regex-tdfa-1.3.1.0 - - retrie-0.1.1.1 - - semialign-1.1 - - shake-0.19.4 - - stylish-haskell-0.12.2.0 - - tasty-rerun-1.1.17 - - temporary-1.2.1.1 - - these-1.1.1.1 - - type-equality-1 - - topograph-1 - - uniplate-1.6.13 - - th-env-0.1.0.2@sha256:d8f1f37f42a8f1a22404d7d0579528af18f5dac7232cca6bdbd5117c115a0ad5,1370 - - th-compat-0.1.2@sha256:3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8,2854 - - bytestring-encoding-0.1.0.0@sha256:460b49779fbf0112e8e2f1753c1ed9131eb18827600c298f4d6bb51c4e8c1c0d,1727 - - hiedb-0.4.1.0 - - extra-1.7.9@sha256:f1dec740f0f2025790c540732bfd52c556ec55bde4f5dfd7cf18e22bd44ff3d0,2683 - - dependent-map-0.4.0.0@sha256:ca2b131046f4340a1c35d138c5a003fe4a5be96b14efc26291ed35fd08c62221,1657 - - dependent-sum-0.7.1.0@sha256:5599aa89637db434431b1dd3fa7c34bc3d565ee44f0519bfbc877be1927c2531,2068 - - dependent-sum-template-0.1.0.3@sha256:0bbbacdfbd3abf2a15aaf0cf2c27e5bdd159b519441fec39e1e6f2f54424adde,1682 - - constraints-extras-0.3.0.2@sha256:013b8d0392582c6ca068e226718a4fe8be8e22321cc0634f6115505bf377ad26,1853 - - some-1.0.1@sha256:26e5bab7276f48b25ea8660d3fd1166c0f20fd497dac879a40f408e23211f93e,2055 - - unliftio-core-0.2.0.1@sha256:9b3e44ea9aacacbfc35b3b54015af450091916ac3618a41868ebf6546977659a,1082 - - resourcet-1.2.3 - - lsp-1.2.0.1 - - lsp-types-1.3.0.1 - - lsp-test-0.14.0.1 - -flags: - haskell-language-server: - pedantic: true - retrie: - BuildExecutable: false - # Stack doesn't support automatic flags. - hls-hlint-plugin: - hlint33: false - hyphenation: - embed: true - - -configure-options: - ghcide: - - --disable-library-for-ghci - haskell-language-server: - - --disable-library-for-ghci - heapsize: - - --disable-library-for-ghci - -nix: - packages: [icu libcxx zlib] - -concurrent-tests: false From 18f0f0983067ab97ffac7f97f27ccd43996778c9 Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 16 Sep 2021 08:40:12 +0200 Subject: [PATCH 03/10] Remove ghc-8.10.2 support --- .github/workflows/build.yml | 9 +--- .github/workflows/test.yml | 5 +- ghcide/ghcide.cabal | 2 +- haskell-language-server.cabal | 2 +- stack-8.10.2.yaml | 93 ----------------------------------- 5 files changed, 4 insertions(+), 107 deletions(-) delete mode 100644 stack-8.10.2.yaml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 776a8dfd23..8a6cfc06e4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,18 +16,13 @@ jobs: strategy: fail-fast: false matrix: - ghc: ['9.0.1', '8.10.7', '8.10.6', '8.10.5', '8.10.4', '8.10.3', '8.10.2', '8.8.4', '8.8.3', '8.6.5'] + ghc: ['9.0.1', '8.10.7', '8.10.6', '8.10.5', '8.10.4', '8.10.3', '8.8.4', '8.8.3', '8.6.5'] os: [ubuntu-18.04, macOS-latest, windows-latest] exclude: - - os: windows-latest - ghc: '8.10.2' # broken due to https://gitlab.haskell.org/ghc/ghc/-/issues/18550 - os: windows-latest ghc: '8.8.4' # also fails due to segfault :( - os: windows-latest ghc: '8.8.3' # fails due to segfault - include: - - os: windows-latest - ghc: '8.10.2.2' # only available for windows and choco steps: - uses: actions/checkout@v2 @@ -56,8 +51,6 @@ jobs: GHC_VER: ${{ matrix.ghc }} run: | echo "EXE_EXT=.exe" >> $GITHUB_ENV - # We normalize windows+choco ghc version 8.10.2.2 - GHC_VER=$(echo $GHC_VER | sed 's/8.10.2.2/8.10.2/g') echo "GHC_VERSION=$GHC_VER" >> $GITHUB_ENV - name: Set some linux specific things diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 3df49a1019..04b93e9bbd 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,7 +33,7 @@ jobs: strategy: fail-fast: true matrix: - ghc: ["9.0.1", '8.10.7', '8.10.6', "8.10.5", "8.10.4", "8.10.3", "8.10.2", "8.8.4", "8.8.3", "8.6.5"] + ghc: ["9.0.1", '8.10.7', '8.10.6', "8.10.5", "8.10.4", "8.10.3", "8.8.4", "8.8.3", "8.6.5"] os: [ubuntu-latest, macOS-latest] include: # only test supported ghc major versions @@ -67,9 +67,6 @@ jobs: ghc: '8.10.4' - os: windows-latest ghc: '8.10.3' - # These builds get stuck frequently - # - os: windows-latest - # ghc: '8.10.2.2' steps: - if: ${{ needs.pre_job.outputs.should_skip != 'true' }} diff --git a/ghcide/ghcide.cabal b/ghcide/ghcide.cabal index 8b864f583c..f22460973f 100644 --- a/ghcide/ghcide.cabal +++ b/ghcide/ghcide.cabal @@ -13,7 +13,7 @@ description: A library for building Haskell IDE's on top of the GHC API. homepage: https://github.com/haskell/haskell-language-server/tree/master/ghcide#readme bug-reports: https://github.com/haskell/haskell-language-server/issues -tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.2 || == 8.10.3 || == 8.10.4 || == 8.10.5 || == 8.10.6 || == 8.10.7 || == 9.0.1 +tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.3 || == 8.10.4 || == 8.10.5 || == 8.10.6 || == 8.10.7 || == 9.0.1 extra-source-files: README.md CHANGELOG.md test/data/**/*.project test/data/**/*.cabal diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index 4519460acf..c21e361143 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -14,7 +14,7 @@ copyright: The Haskell IDE Team license: Apache-2.0 license-file: LICENSE build-type: Simple -tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.2 || == 8.10.3 || == 8.10.4 || == 8.10.5 || == 8.10.6 +tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.3 || == 8.10.4 || == 8.10.5 || == 8.10.6 extra-source-files: README.md ChangeLog.md diff --git a/stack-8.10.2.yaml b/stack-8.10.2.yaml deleted file mode 100644 index 085909f607..0000000000 --- a/stack-8.10.2.yaml +++ /dev/null @@ -1,93 +0,0 @@ -resolver: nightly-2020-12-09 - -packages: - - . - - ./hie-compat - - ./hls-graph - - ./ghcide/ - - ./hls-plugin-api - - ./hls-test-utils - # - ./shake-bench - - ./plugins/hls-call-hierarchy-plugin - - ./plugins/hls-class-plugin - - ./plugins/hls-haddock-comments-plugin - - ./plugins/hls-eval-plugin - - ./plugins/hls-explicit-imports-plugin - - ./plugins/hls-refine-imports-plugin - - ./plugins/hls-hlint-plugin - - ./plugins/hls-rename-plugin - - ./plugins/hls-retrie-plugin - - ./plugins/hls-splice-plugin - - ./plugins/hls-tactics-plugin - - ./plugins/hls-brittany-plugin - - ./plugins/hls-stylish-haskell-plugin - - ./plugins/hls-floskell-plugin - - ./plugins/hls-fourmolu-plugin - - ./plugins/hls-pragmas-plugin - - ./plugins/hls-module-name-plugin - - ./plugins/hls-ormolu-plugin - -ghc-options: - "$everything": -haddock - -extra-deps: - - apply-refact-0.9.3.0 - - brittany-0.13.1.2 - - Cabal-3.0.2.0 - - clock-0.7.2 - - data-tree-print-0.1.0.2@rev:2 - - floskell-0.10.4 - - fourmolu-0.3.0.0 - - ghc-check-0.5.0.4 - - ghc-exactprint-0.6.4 - - ghc-lib-8.10.4.20210206 - - ghc-lib-parser-8.10.4.20210206 - - ghc-source-gen-0.4.1.0 - - heapsize-0.3.0 - - hie-bios-0.7.5 - - implicit-hie-cradle-0.3.0.5 - - implicit-hie-0.1.2.6 - - monad-dijkstra-0.1.1.2 - - refinery-0.4.0.0 - - retrie-0.1.1.1 - - shake-0.19.4 - - stylish-haskell-0.12.2.0 - - semigroups-0.18.5 - - temporary-1.2.1.1 - - th-compat-0.1.2@sha256:3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8,2854 - - bytestring-encoding-0.1.0.0@sha256:460b49779fbf0112e8e2f1753c1ed9131eb18827600c298f4d6bb51c4e8c1c0d,1727 - - hiedb-0.4.1.0 - - dependent-map-0.4.0.0@sha256:ca2b131046f4340a1c35d138c5a003fe4a5be96b14efc26291ed35fd08c62221,1657 - - dependent-sum-0.7.1.0@sha256:5599aa89637db434431b1dd3fa7c34bc3d565ee44f0519bfbc877be1927c2531,2068 - - dependent-sum-template-0.1.0.3@sha256:0bbbacdfbd3abf2a15aaf0cf2c27e5bdd159b519441fec39e1e6f2f54424adde,1682 - - constraints-extras-0.3.0.2@sha256:013b8d0392582c6ca068e226718a4fe8be8e22321cc0634f6115505bf377ad26,1853 - - some-1.0.1@sha256:26e5bab7276f48b25ea8660d3fd1166c0f20fd497dac879a40f408e23211f93e,2055 - - unliftio-core-0.2.0.1@sha256:9b3e44ea9aacacbfc35b3b54015af450091916ac3618a41868ebf6546977659a,1082 - - lsp-1.2.0.1 - - lsp-types-1.3.0.1 - - lsp-test-0.14.0.1 - -configure-options: - ghcide: - - --disable-library-for-ghci - haskell-language-server: - - --disable-library-for-ghci - heapsize: - - --disable-library-for-ghci - -flags: - haskell-language-server: - pedantic: true - retrie: - BuildExecutable: false - # Stack doesn't support automatic flags. - # Until the formatters support ghc-lib-9, we need this flag disabled - hls-hlint-plugin: - hlint33: false - hyphenation: - embed: true - -nix: - packages: [icu libcxx zlib] - -concurrent-tests: false From 89b413a671731f0d2fdc0b473992b489caf832f1 Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 16 Sep 2021 08:42:49 +0200 Subject: [PATCH 04/10] Remove ghc-8.10.3 support --- .circleci/config.yml | 12 ----- .github/workflows/build.yml | 2 +- .github/workflows/test.yml | 4 +- ghcide/ghcide.cabal | 2 +- haskell-language-server.cabal | 2 +- stack-8.10.3.yaml | 94 ----------------------------------- 6 files changed, 4 insertions(+), 112 deletions(-) delete mode 100644 stack-8.10.3.yaml diff --git a/.circleci/config.yml b/.circleci/config.yml index deeed8fea4..87ac27f9d4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -61,16 +61,6 @@ jobs: - STACK_FILE: "stack-8.8.4.yaml" <<: *defaults - ghc-8.10.2: - environment: - - STACK_FILE: "stack-8.10.2.yaml" - <<: *defaults - - ghc-8.10.3: - environment: - - STACK_FILE: "stack-8.10.3.yaml" - <<: *defaults - ghc-8.10.4: environment: - STACK_FILE: "stack-8.10.4.yaml" @@ -109,8 +99,6 @@ workflows: - ghc-8.6.5 - ghc-8.8.3 - ghc-8.8.4 - - ghc-8.10.2 - - ghc-8.10.3 - ghc-8.10.4 - ghc-8.10.5 - ghc-8.10.6 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8a6cfc06e4..7a0ef6113a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - ghc: ['9.0.1', '8.10.7', '8.10.6', '8.10.5', '8.10.4', '8.10.3', '8.8.4', '8.8.3', '8.6.5'] + ghc: ['9.0.1', '8.10.7', '8.10.6', '8.10.5', '8.10.4', '8.8.4', '8.8.3', '8.6.5'] os: [ubuntu-18.04, macOS-latest, windows-latest] exclude: - os: windows-latest diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 04b93e9bbd..e4b4f644c7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,7 +33,7 @@ jobs: strategy: fail-fast: true matrix: - ghc: ["9.0.1", '8.10.7', '8.10.6', "8.10.5", "8.10.4", "8.10.3", "8.8.4", "8.8.3", "8.6.5"] + ghc: ["9.0.1", '8.10.7', '8.10.6', "8.10.5", "8.10.4", "8.8.4", "8.8.3", "8.6.5"] os: [ubuntu-latest, macOS-latest] include: # only test supported ghc major versions @@ -65,8 +65,6 @@ jobs: ghc: '8.10.5' - os: windows-latest ghc: '8.10.4' - - os: windows-latest - ghc: '8.10.3' steps: - if: ${{ needs.pre_job.outputs.should_skip != 'true' }} diff --git a/ghcide/ghcide.cabal b/ghcide/ghcide.cabal index f22460973f..ebe29886fa 100644 --- a/ghcide/ghcide.cabal +++ b/ghcide/ghcide.cabal @@ -13,7 +13,7 @@ description: A library for building Haskell IDE's on top of the GHC API. homepage: https://github.com/haskell/haskell-language-server/tree/master/ghcide#readme bug-reports: https://github.com/haskell/haskell-language-server/issues -tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.3 || == 8.10.4 || == 8.10.5 || == 8.10.6 || == 8.10.7 || == 9.0.1 +tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.4 || == 8.10.5 || == 8.10.6 || == 8.10.7 || == 9.0.1 extra-source-files: README.md CHANGELOG.md test/data/**/*.project test/data/**/*.cabal diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index c21e361143..87c2dab310 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -14,7 +14,7 @@ copyright: The Haskell IDE Team license: Apache-2.0 license-file: LICENSE build-type: Simple -tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.3 || == 8.10.4 || == 8.10.5 || == 8.10.6 +tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.4 || == 8.10.5 || == 8.10.6 extra-source-files: README.md ChangeLog.md diff --git a/stack-8.10.3.yaml b/stack-8.10.3.yaml deleted file mode 100644 index 8ce1cce932..0000000000 --- a/stack-8.10.3.yaml +++ /dev/null @@ -1,94 +0,0 @@ -resolver: lts-17.2 # Last ghc-8.10.3 lts - -packages: - - . - - ./hie-compat - - ./hls-graph - - ./ghcide/ - - ./hls-plugin-api - - ./hls-test-utils - # - ./shake-bench - - ./plugins/hls-call-hierarchy-plugin - - ./plugins/hls-class-plugin - - ./plugins/hls-haddock-comments-plugin - - ./plugins/hls-eval-plugin - - ./plugins/hls-explicit-imports-plugin - - ./plugins/hls-refine-imports-plugin - - ./plugins/hls-hlint-plugin - - ./plugins/hls-rename-plugin - - ./plugins/hls-retrie-plugin - - ./plugins/hls-splice-plugin - - ./plugins/hls-tactics-plugin - - ./plugins/hls-brittany-plugin - - ./plugins/hls-stylish-haskell-plugin - - ./plugins/hls-floskell-plugin - - ./plugins/hls-fourmolu-plugin - - ./plugins/hls-pragmas-plugin - - ./plugins/hls-module-name-plugin - - ./plugins/hls-ormolu-plugin - -ghc-options: - "$everything": -haddock - -extra-deps: - - apply-refact-0.9.3.0 - - brittany-0.13.1.2 - - Cabal-3.0.2.0 - - clock-0.7.2 - - data-tree-print-0.1.0.2@rev:2 - - floskell-0.10.4 - - fourmolu-0.3.0.0 - - ghc-check-0.5.0.4 - - ghc-exactprint-0.6.4 - - ghc-lib-8.10.4.20210206 - - ghc-lib-parser-8.10.4.20210206 - - ghc-source-gen-0.4.1.0 - - heapsize-0.3.0 - - hie-bios-0.7.5 - - implicit-hie-cradle-0.3.0.5 - - implicit-hie-0.1.2.6 - - monad-dijkstra-0.1.1.2 - - refinery-0.4.0.0 - - retrie-0.1.1.1 - - shake-0.19.4 - - stylish-haskell-0.12.2.0 - - semigroups-0.18.5 - - temporary-1.2.1.1 - - th-compat-0.1.2@sha256:3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8,2854 - - bytestring-encoding-0.1.0.0@sha256:460b49779fbf0112e8e2f1753c1ed9131eb18827600c298f4d6bb51c4e8c1c0d,1727 - - hiedb-0.4.1.0 - - dependent-map-0.4.0.0@sha256:ca2b131046f4340a1c35d138c5a003fe4a5be96b14efc26291ed35fd08c62221,1657 - - dependent-sum-0.7.1.0@sha256:5599aa89637db434431b1dd3fa7c34bc3d565ee44f0519bfbc877be1927c2531,2068 - - dependent-sum-template-0.1.0.3@sha256:0bbbacdfbd3abf2a15aaf0cf2c27e5bdd159b519441fec39e1e6f2f54424adde,1682 - - constraints-extras-0.3.0.2@sha256:013b8d0392582c6ca068e226718a4fe8be8e22321cc0634f6115505bf377ad26,1853 - - some-1.0.1@sha256:26e5bab7276f48b25ea8660d3fd1166c0f20fd497dac879a40f408e23211f93e,2055 - - unliftio-core-0.2.0.1@sha256:9b3e44ea9aacacbfc35b3b54015af450091916ac3618a41868ebf6546977659a,1082 - - lsp-1.2.0.1 - - lsp-types-1.3.0.1 - - lsp-test-0.14.0.1 - -configure-options: - ghcide: - - --disable-library-for-ghci - haskell-language-server: - - --disable-library-for-ghci - heapsize: - - --disable-library-for-ghci - -flags: - haskell-language-server: - pedantic: true - retrie: - BuildExecutable: false - # Stack doesn't support automatic flags. - # Until the formatters support ghc-lib-9, we need this flag disabled - hls-hlint-plugin: - hlint33: false - hyphenation: - embed: true - - -nix: - packages: [ icu libcxx zlib ] - -concurrent-tests: false From 5f4af935259b399a544766a4ab85260ba6136a09 Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 16 Sep 2021 08:52:35 +0200 Subject: [PATCH 05/10] Remove ghc-8.10.4 support --- .circleci/config.yml | 6 -- .github/workflows/bench.yml | 4 +- .github/workflows/build.yml | 10 +- .github/workflows/test.yml | 4 +- docs/contributing/contributing.md | 4 +- docs/installation.md | 2 +- ghcide/ghcide.cabal | 2 +- haskell-language-server.cabal | 2 +- .../hls-hlint-plugin/hls-hlint-plugin.cabal | 2 +- stack-8.10.4.yaml | 96 ------------------- stack-8.6.5.yaml | 6 +- stack-8.8.3.yaml | 4 +- stack-8.8.4.yaml | 4 +- test/wrapper/Main.hs | 4 +- test/wrapper/testdata/stack-8.10.4/stack.yaml | 1 - .../{stack-8.10.4 => stack-8.10.7}/Lib.hs | 0 .../{stack-8.10.4 => stack-8.10.7}/foo.cabal | 0 test/wrapper/testdata/stack-8.10.7/stack.yaml | 1 + .../stack-with-dist-newstyle/stack.yaml | 2 +- 19 files changed, 25 insertions(+), 129 deletions(-) delete mode 100644 stack-8.10.4.yaml delete mode 100644 test/wrapper/testdata/stack-8.10.4/stack.yaml rename test/wrapper/testdata/{stack-8.10.4 => stack-8.10.7}/Lib.hs (100%) rename test/wrapper/testdata/{stack-8.10.4 => stack-8.10.7}/foo.cabal (100%) create mode 100644 test/wrapper/testdata/stack-8.10.7/stack.yaml diff --git a/.circleci/config.yml b/.circleci/config.yml index 87ac27f9d4..3ca5f6c8c1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -61,11 +61,6 @@ jobs: - STACK_FILE: "stack-8.8.4.yaml" <<: *defaults - ghc-8.10.4: - environment: - - STACK_FILE: "stack-8.10.4.yaml" - <<: *defaults - ghc-8.10.5: environment: - STACK_FILE: "stack-8.10.5.yaml" @@ -99,7 +94,6 @@ workflows: - ghc-8.6.5 - ghc-8.8.3 - ghc-8.8.4 - - ghc-8.10.4 - ghc-8.10.5 - ghc-8.10.6 - ghc-8.10.7 diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml index fc3d980e7e..52be788dc8 100644 --- a/.github/workflows/bench.yml +++ b/.github/workflows/bench.yml @@ -24,7 +24,7 @@ jobs: strategy: fail-fast: false matrix: - ghc: ['8.10.4'] + ghc: ['8.10.7'] os: [ubuntu-latest] steps: @@ -106,7 +106,7 @@ jobs: strategy: fail-fast: false matrix: - ghc: ['8.10.4'] + ghc: ['8.10.7'] os: [ubuntu-latest] example: ['cabal', 'lsp-types'] diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7a0ef6113a..0d6a4e87ab 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ jobs: strategy: fail-fast: false matrix: - ghc: ['9.0.1', '8.10.7', '8.10.6', '8.10.5', '8.10.4', '8.8.4', '8.8.3', '8.6.5'] + ghc: ['9.0.1', '8.10.7', '8.10.6', '8.10.5', '8.8.4', '8.8.3', '8.6.5'] os: [ubuntu-18.04, macOS-latest, windows-latest] exclude: - os: windows-latest @@ -114,11 +114,11 @@ jobs: path: ${{ steps.compress_server_binary.outputs.path }} - name: Build Wrapper - if: matrix.ghc == '8.10.4' + if: matrix.ghc == '8.10.7' run: cabal build exe:hls-wrapper -O2 $LINUX_CABAL_ARGS - name: Compress Wrapper Binary - if: matrix.ghc == '8.10.4' + if: matrix.ghc == '8.10.7' id: compress_wrapper_binary run: | HLS_WRAPPER_BUILD=$(find dist-newstyle \( -name 'hls-wrapper' -o -name 'hls-wrapper.exe' \) -type f) @@ -137,7 +137,7 @@ jobs: fi - name: Upload Wrapper - if: matrix.ghc == '8.10.4' + if: matrix.ghc == '8.10.7' uses: actions/upload-release-asset@v1.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -148,7 +148,7 @@ jobs: asset_content_type: ${{ steps.compress_wrapper_binary.outputs.content_type}} - uses: actions/upload-artifact@v2 - if: matrix.ghc == '8.10.4' + if: matrix.ghc == '8.10.7' with: name: haskell-language-server-wrapper-${{ runner.OS }}${{env.EXE_EXT}}.${{ steps.compress_wrapper_binary.outputs.extension }} path: ${{ steps.compress_wrapper_binary.outputs.path }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e4b4f644c7..e6c92af472 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -33,7 +33,7 @@ jobs: strategy: fail-fast: true matrix: - ghc: ["9.0.1", '8.10.7', '8.10.6', "8.10.5", "8.10.4", "8.8.4", "8.8.3", "8.6.5"] + ghc: ["9.0.1", '8.10.7', '8.10.6', "8.10.5", "8.8.4", "8.8.3", "8.6.5"] os: [ubuntu-latest, macOS-latest] include: # only test supported ghc major versions @@ -63,8 +63,6 @@ jobs: ghc: '8.10.6' - os: windows-latest ghc: '8.10.5' - - os: windows-latest - ghc: '8.10.4' steps: - if: ${{ needs.pre_job.outputs.should_skip != 'true' }} diff --git a/docs/contributing/contributing.md b/docs/contributing/contributing.md index f60ca27197..5bdb9848b0 100644 --- a/docs/contributing/contributing.md +++ b/docs/contributing/contributing.md @@ -50,7 +50,7 @@ If you are using nix 2.4 style command (enabled by `experimental-features = nix- you can use `nix develop` instead of `nix-shell` to enter the development shell. To enter the shell with specific GHC versions: * `nix develop` or `nix develop .#haskell-language-server-dev` - default GHC version -* `nix develop .#haskell-language-server-8104-dev` - GHC 8.10.4 +* `nix develop .#haskell-language-server-8107-dev` - GHC 8.10.7 * `nix develop .#haskell-language-server-884-dev` - GHC 8.8.4 * `nix develop .#haskell-language-server-901-dev` - GHC 9.0.1 @@ -59,7 +59,7 @@ If you are looking for a Nix expression to create haskell-language-server binari To create binaries: * `nix build` or `nix build .#haskell-language-server` - default GHC version -* `nix build .#haskell-language-server-8104` - GHC 8.10.4 +* `nix build .#haskell-language-server-8107` - GHC 8.10.7 * `nix build .#haskell-language-server-884` - GHC 8.8.4 * `nix build .#haskell-language-server-901` - GHC 9.0.1 diff --git a/docs/installation.md b/docs/installation.md index a39389f3df..97a18dcc8d 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -215,6 +215,6 @@ Homebrew users can install `haskell-language-server` using the following command brew install haskell-language-server ``` -This formula contains HLS binaries compiled with GHC versions available via Homebrew; at the moment those are: 8.6.5, 8.8.4, 8.10.4. +This formula contains HLS binaries compiled with GHC versions available via Homebrew; at the moment those are: 8.6.5, 8.8.4, 8.10.7. You need to provide your own GHC/Cabal/Stack as required by your project, possibly via Homebrew. diff --git a/ghcide/ghcide.cabal b/ghcide/ghcide.cabal index ebe29886fa..820107f7d9 100644 --- a/ghcide/ghcide.cabal +++ b/ghcide/ghcide.cabal @@ -13,7 +13,7 @@ description: A library for building Haskell IDE's on top of the GHC API. homepage: https://github.com/haskell/haskell-language-server/tree/master/ghcide#readme bug-reports: https://github.com/haskell/haskell-language-server/issues -tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.4 || == 8.10.5 || == 8.10.6 || == 8.10.7 || == 9.0.1 +tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.5 || == 8.10.6 || == 8.10.7 || == 9.0.1 extra-source-files: README.md CHANGELOG.md test/data/**/*.project test/data/**/*.cabal diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index 87c2dab310..aa4baa2032 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -14,7 +14,7 @@ copyright: The Haskell IDE Team license: Apache-2.0 license-file: LICENSE build-type: Simple -tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.4 || == 8.10.5 || == 8.10.6 +tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.5 || == 8.10.6 extra-source-files: README.md ChangeLog.md diff --git a/plugins/hls-hlint-plugin/hls-hlint-plugin.cabal b/plugins/hls-hlint-plugin/hls-hlint-plugin.cabal index 9a839d33ae..3153e1cb33 100644 --- a/plugins/hls-hlint-plugin/hls-hlint-plugin.cabal +++ b/plugins/hls-hlint-plugin/hls-hlint-plugin.cabal @@ -85,7 +85,7 @@ library else build-depends: , ghc - , ghc-lib ^>=8.10.4.20210206 + , ghc-lib ^>=8.10.7.20210828 , ghc-lib-parser-ex ^>=8.10 cpp-options: -DHLINT_ON_GHC_LIB diff --git a/stack-8.10.4.yaml b/stack-8.10.4.yaml deleted file mode 100644 index 82f9d4dc33..0000000000 --- a/stack-8.10.4.yaml +++ /dev/null @@ -1,96 +0,0 @@ -resolver: lts-17.12 - -packages: - - . - - ./hie-compat - - ./hls-graph - - ./ghcide/ - - ./hls-plugin-api - - ./hls-test-utils - # - ./shake-bench - - ./plugins/hls-call-hierarchy-plugin - - ./plugins/hls-class-plugin - - ./plugins/hls-haddock-comments-plugin - - ./plugins/hls-eval-plugin - - ./plugins/hls-explicit-imports-plugin - - ./plugins/hls-refine-imports-plugin - - ./plugins/hls-hlint-plugin - - ./plugins/hls-rename-plugin - - ./plugins/hls-retrie-plugin - - ./plugins/hls-splice-plugin - - ./plugins/hls-tactics-plugin - - ./plugins/hls-brittany-plugin - - ./plugins/hls-stylish-haskell-plugin - - ./plugins/hls-floskell-plugin - - ./plugins/hls-fourmolu-plugin - - ./plugins/hls-pragmas-plugin - - ./plugins/hls-module-name-plugin - - ./plugins/hls-ormolu-plugin - -ghc-options: - "$everything": -haddock - -extra-deps: - - apply-refact-0.9.3.0 - - brittany-0.13.1.2 - - Cabal-3.0.2.0 - - clock-0.7.2 - - data-tree-print-0.1.0.2@rev:2 - - floskell-0.10.4 - - fourmolu-0.3.0.0 - - ghc-check-0.5.0.4 - - ghc-exactprint-0.6.4 - - ghc-source-gen-0.4.1.0 - - heapsize-0.3.0 - - implicit-hie-cradle-0.3.0.5 - - implicit-hie-0.1.2.6 - - monad-dijkstra-0.1.1.2 - - refinery-0.4.0.0 - - retrie-0.1.1.1 - - stylish-haskell-0.12.2.0 - - semigroups-0.18.5 - - temporary-1.2.1.1 - - th-compat-0.1.2@sha256:3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8,2854 - - bytestring-encoding-0.1.0.0@sha256:460b49779fbf0112e8e2f1753c1ed9131eb18827600c298f4d6bb51c4e8c1c0d,1727 - - hiedb-0.4.1.0 - - dependent-map-0.4.0.0@sha256:ca2b131046f4340a1c35d138c5a003fe4a5be96b14efc26291ed35fd08c62221,1657 - - dependent-sum-0.7.1.0@sha256:5599aa89637db434431b1dd3fa7c34bc3d565ee44f0519bfbc877be1927c2531,2068 - - dependent-sum-template-0.1.0.3@sha256:0bbbacdfbd3abf2a15aaf0cf2c27e5bdd159b519441fec39e1e6f2f54424adde,1682 - - constraints-extras-0.3.0.2@sha256:013b8d0392582c6ca068e226718a4fe8be8e22321cc0634f6115505bf377ad26,1853 - - some-1.0.1@sha256:26e5bab7276f48b25ea8660d3fd1166c0f20fd497dac879a40f408e23211f93e,2055 - - unliftio-core-0.2.0.1@sha256:9b3e44ea9aacacbfc35b3b54015af450091916ac3618a41868ebf6546977659a,1082 - - lsp-1.2.0.1 - - lsp-types-1.3.0.1 - - lsp-test-0.14.0.1 - - # Enable these when supported by all formatters - # - ghc-lib-9.0.1.20210324@sha256:c8b9a2541ea3424c8d0e4f80584477d0f35be03f4a47d931152042d5f446c5fc,19279 - # - ghc-lib-parser-9.0.1.20210324@sha256:fb680f78d4ab08b5d089a05bda3b84ad857e5edcc2e4ca7c188c0207d369af80 - # - ghc-lib-parser-ex-9.0.0.4@sha256:8282b11c3797fc8ba225b245e736cc9a0745d9c48d0f9fea7f9bffb5c9997709,3642 - # - hlint-3.3@sha256:4218ad6e03050f5d68aeba0e025f5f05e366c8fd49657f2a19df04ee31b2bb23,4154 - -configure-options: - ghcide: - - --disable-library-for-ghci - haskell-language-server: - - --disable-library-for-ghci - heapsize: - - --disable-library-for-ghci - -flags: - haskell-language-server: - pedantic: true - retrie: - BuildExecutable: false - # Stack doesn't support automatic flags. - # Until the formatters support ghc-lib-9, we need this flag disabled - hls-hlint-plugin: - hlint33: false - hyphenation: - embed: true - - -nix: - packages: [ icu libcxx zlib ] - -concurrent-tests: false diff --git a/stack-8.6.5.yaml b/stack-8.6.5.yaml index cb42915a43..f928a42e31 100644 --- a/stack-8.6.5.yaml +++ b/stack-8.6.5.yaml @@ -49,9 +49,9 @@ extra-deps: - ghc-check-0.5.0.4 - ghc-events-0.13.0 - ghc-exactprint-0.6.4 - - ghc-lib-8.10.4.20210206 - - ghc-lib-parser-8.10.4.20210206 - - ghc-lib-parser-ex-8.10.0.17 + - ghc-lib-8.10.7.20210828 + - ghc-lib-parser-8.10.7.20210828 + - ghc-lib-parser-ex-8.10.0.23 - ghc-source-gen-0.4.1.0 - ghc-trace-events-0.1.2.1 - haddock-api-2.22.0@rev:1 diff --git a/stack-8.8.3.yaml b/stack-8.8.3.yaml index 42a23df0c4..543bf2edd9 100644 --- a/stack-8.8.3.yaml +++ b/stack-8.8.3.yaml @@ -42,8 +42,8 @@ extra-deps: - fourmolu-0.3.0.0 - ghc-check-0.5.0.4 - ghc-exactprint-0.6.4 - - ghc-lib-8.10.4.20210206 - - ghc-lib-parser-8.10.4.20210206 + - ghc-lib-8.10.7.20210828 + - ghc-lib-parser-8.10.7.20210828 - ghc-source-gen-0.4.1.0 - ghc-trace-events-0.1.2.1 - haskell-src-exts-1.21.1 diff --git a/stack-8.8.4.yaml b/stack-8.8.4.yaml index 444168f8ce..0bc74c05e2 100644 --- a/stack-8.8.4.yaml +++ b/stack-8.8.4.yaml @@ -42,8 +42,8 @@ extra-deps: - fourmolu-0.3.0.0 - ghc-check-0.5.0.4 - ghc-exactprint-0.6.4 - - ghc-lib-8.10.4.20210206 - - ghc-lib-parser-8.10.4.20210206 + - ghc-lib-8.10.7.20210828 + - ghc-lib-parser-8.10.7.20210828 - ghc-source-gen-0.4.1.0 - ghc-trace-events-0.1.2.1 - haskell-src-exts-1.21.1 diff --git a/test/wrapper/Main.hs b/test/wrapper/Main.hs index 153dd69e7f..d86d1ce3dd 100644 --- a/test/wrapper/Main.hs +++ b/test/wrapper/Main.hs @@ -11,8 +11,8 @@ main = do projectGhcVersionTests :: TestTree projectGhcVersionTests = testGroup "--project-ghc-version" - [ testCase "stack with ghc 8.10.4" $ - testDir "test/wrapper/testdata/stack-8.10.4" "8.10.4" + [ testCase "stack with ghc 8.10.7" $ + testDir "test/wrapper/testdata/stack-8.10.7" "8.10.7" , testCase "stack with ghc 8.8.3" $ testDir "test/wrapper/testdata/stack-8.8.3" "8.8.3" , testCase "cabal with global ghc" $ do diff --git a/test/wrapper/testdata/stack-8.10.4/stack.yaml b/test/wrapper/testdata/stack-8.10.4/stack.yaml deleted file mode 100644 index 361dfba330..0000000000 --- a/test/wrapper/testdata/stack-8.10.4/stack.yaml +++ /dev/null @@ -1 +0,0 @@ -resolver: ghc-8.10.4 diff --git a/test/wrapper/testdata/stack-8.10.4/Lib.hs b/test/wrapper/testdata/stack-8.10.7/Lib.hs similarity index 100% rename from test/wrapper/testdata/stack-8.10.4/Lib.hs rename to test/wrapper/testdata/stack-8.10.7/Lib.hs diff --git a/test/wrapper/testdata/stack-8.10.4/foo.cabal b/test/wrapper/testdata/stack-8.10.7/foo.cabal similarity index 100% rename from test/wrapper/testdata/stack-8.10.4/foo.cabal rename to test/wrapper/testdata/stack-8.10.7/foo.cabal diff --git a/test/wrapper/testdata/stack-8.10.7/stack.yaml b/test/wrapper/testdata/stack-8.10.7/stack.yaml new file mode 100644 index 0000000000..c2e49d8e85 --- /dev/null +++ b/test/wrapper/testdata/stack-8.10.7/stack.yaml @@ -0,0 +1 @@ +resolver: ghc-8.10.7 diff --git a/test/wrapper/testdata/stack-with-dist-newstyle/stack.yaml b/test/wrapper/testdata/stack-with-dist-newstyle/stack.yaml index 2e36266ac1..500890e54c 100644 --- a/test/wrapper/testdata/stack-with-dist-newstyle/stack.yaml +++ b/test/wrapper/testdata/stack-with-dist-newstyle/stack.yaml @@ -1,2 +1,2 @@ # specific version does not matter -resolver: ghc-8.10.4 \ No newline at end of file +resolver: ghc-8.10.7 From c8e58d6e3410667aefe097fcef46f8ad6823e533 Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 16 Sep 2021 08:53:33 +0200 Subject: [PATCH 06/10] Complete list of tested ghcs --- haskell-language-server.cabal | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/haskell-language-server.cabal b/haskell-language-server.cabal index aa4baa2032..032a8b699f 100644 --- a/haskell-language-server.cabal +++ b/haskell-language-server.cabal @@ -14,7 +14,7 @@ copyright: The Haskell IDE Team license: Apache-2.0 license-file: LICENSE build-type: Simple -tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.5 || == 8.10.6 +tested-with: GHC == 8.6.5 || == 8.8.3 || == 8.8.4 || == 8.10.5 || == 8.10.6 || == 8.10.7 || == 9.0.1 extra-source-files: README.md ChangeLog.md From 5b575f61703338e47412010c151c40d63ce13f73 Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 16 Sep 2021 09:07:14 +0200 Subject: [PATCH 07/10] Update stack resolvers --- stack-8.10.6.yaml | 3 +-- stack-8.10.7.yaml | 3 +-- stack-9.0.1.yaml | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/stack-8.10.6.yaml b/stack-8.10.6.yaml index 41bedc7cb9..fafa2f08b0 100644 --- a/stack-8.10.6.yaml +++ b/stack-8.10.6.yaml @@ -1,5 +1,4 @@ -resolver: lts-18.7 -compiler: ghc-8.10.6 +resolver: lts-18.8 packages: - . diff --git a/stack-8.10.7.yaml b/stack-8.10.7.yaml index fbaf2d380e..f38265d1f5 100644 --- a/stack-8.10.7.yaml +++ b/stack-8.10.7.yaml @@ -1,5 +1,4 @@ -resolver: lts-18.7 -compiler: ghc-8.10.7 +resolver: lts-18.10 packages: - . diff --git a/stack-9.0.1.yaml b/stack-9.0.1.yaml index 010e96af4a..1a96af0750 100644 --- a/stack-9.0.1.yaml +++ b/stack-9.0.1.yaml @@ -1,4 +1,4 @@ -resolver: nightly-2021-08-26 +resolver: nightly-2021-09-16 packages: - . From 68871953b84931a15c8f716fdb17b107e41d25d9 Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 16 Sep 2021 09:26:06 +0200 Subject: [PATCH 08/10] Update hackage index --- cabal-ghc901.project | 2 +- cabal-ghc921.project | 2 +- cabal.project | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/cabal-ghc901.project b/cabal-ghc901.project index 34331958de..325b3763b7 100644 --- a/cabal-ghc901.project +++ b/cabal-ghc901.project @@ -61,7 +61,7 @@ source-repository-package write-ghc-environment-files: never -index-state: 2021-09-06T12:12:22Z +index-state: 2021-09-16T07:00:23Z constraints: -- These plugins don't work on GHC9 yet diff --git a/cabal-ghc921.project b/cabal-ghc921.project index 10f24917de..96fa2f2002 100644 --- a/cabal-ghc921.project +++ b/cabal-ghc921.project @@ -57,7 +57,7 @@ source-repository-package write-ghc-environment-files: never -index-state: 2021-08-31T02:21:16Z +index-state: 2021-09-16T07:00:23Z constraints: -- These plugins doesn't work on GHC9 yet diff --git a/cabal.project b/cabal.project index d56c8d2189..568c420552 100644 --- a/cabal.project +++ b/cabal.project @@ -33,7 +33,7 @@ package * write-ghc-environment-files: never -index-state: 2021-09-06T12:12:22Z +index-state: 2021-09-16T07:00:23Z constraints: hyphenation +embed From 103008b120c74e34e9297862d99e302f9326acb1 Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 16 Sep 2021 09:46:25 +0200 Subject: [PATCH 09/10] Set 8.10.7 as default stack.yaml --- stack.yaml | 57 +++++++++++++++++++++++------------------------------- 1 file changed, 24 insertions(+), 33 deletions(-) diff --git a/stack.yaml b/stack.yaml index 7c78883d27..f38265d1f5 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,4 +1,4 @@ -resolver: lts-17.12 +resolver: lts-18.10 packages: - . @@ -15,7 +15,6 @@ packages: - ./plugins/hls-explicit-imports-plugin - ./plugins/hls-refine-imports-plugin - ./plugins/hls-hlint-plugin - - ./plugins/hls-rename-plugin - ./plugins/hls-retrie-plugin - ./plugins/hls-splice-plugin - ./plugins/hls-tactics-plugin @@ -31,40 +30,30 @@ ghc-options: "$everything": -haddock extra-deps: - - apply-refact-0.9.3.0 - - brittany-0.13.1.2 - - Cabal-3.0.2.0 - - clock-0.7.2 - - data-tree-print-0.1.0.2@rev:2 - - floskell-0.10.4 - - fourmolu-0.3.0.0 - - ghc-exactprint-0.6.4 - - ghc-source-gen-0.4.1.0 - - heapsize-0.3.0 - - implicit-hie-cradle-0.3.0.5 - - implicit-hie-0.1.2.6 - - monad-dijkstra-0.1.1.2 - - refinery-0.4.0.0 - - retrie-0.1.1.1 - - stylish-haskell-0.12.2.0 - - semigroups-0.18.5 - - temporary-1.2.1.1 - - th-compat-0.1.2@sha256:3d55de1adc542c1a870c9ada90da2fbbe5f4e8bcd3eed545a55c3df9311b32a8,2854 - - bytestring-encoding-0.1.0.0@sha256:460b49779fbf0112e8e2f1753c1ed9131eb18827600c298f4d6bb51c4e8c1c0d,1727 + - brittany-0.13.1.2@sha256:9922614f1df18c63755a37c144033988788e0769fd9c2630b64ed0dfb49462bd,8197 + - bytestring-encoding-0.1.1.0@sha256:1c3b97eb6345fd7153006211c8272215cd78bb0cf440c41185290822f1e3f2c2,1738 + - data-tree-print-0.1.0.2@sha256:d845e99f322df70e0c06d6743bf80336f5918d5423498528beb0593a2afc1703,1620 + - floskell-0.10.5@sha256:77f0bc1569573d9666b10975a5357fef631d32266c071733739393ccae521dab,3803 + - heapsize-0.3.0.1@sha256:0b69aa97a46d819b700ac7b145f3b5493c3565cf2c5b8298682238d405d0326e,1417 - hiedb-0.4.1.0 - - dependent-map-0.4.0.0@sha256:ca2b131046f4340a1c35d138c5a003fe4a5be96b14efc26291ed35fd08c62221,1657 - - dependent-sum-0.7.1.0@sha256:5599aa89637db434431b1dd3fa7c34bc3d565ee44f0519bfbc877be1927c2531,2068 - - dependent-sum-template-0.1.0.3@sha256:0bbbacdfbd3abf2a15aaf0cf2c27e5bdd159b519441fec39e1e6f2f54424adde,1682 - - constraints-extras-0.3.0.2@sha256:013b8d0392582c6ca068e226718a4fe8be8e22321cc0634f6115505bf377ad26,1853 - - some-1.0.1@sha256:26e5bab7276f48b25ea8660d3fd1166c0f20fd497dac879a40f408e23211f93e,2055 - - unliftio-core-0.2.0.1@sha256:9b3e44ea9aacacbfc35b3b54015af450091916ac3618a41868ebf6546977659a,1082 - - lsp-1.2.0.1 - - lsp-types-1.3.0.1 - - lsp-test-0.14.0.1 + - implicit-hie-0.1.2.6@sha256:f50a908979a574a881f753c0f9a5224f023f438b30fdefc5b7fa01803b07a280,2998 + - implicit-hie-cradle-0.3.0.5@sha256:5f5e575f549b2a9db664be7650b5c3c9226e313bddc46c79e2e83eb349f8e692,2610 + - lsp-1.2.0.1@sha256:5b37d26fcbf037434e257e953c08513d4cb125ed784d4611038905c72dc0f58c,5431 + - lsp-test-0.14.0.1@sha256:efce2ddec4183390341db7667e63936954c654a14d809ad7b61e4010a2fde97e,4739 + - lsp-types-1.3.0.1@sha256:1dc41eb358345c1927fb8f285e7d951869623fe5b695fbbecf2fe6a3cee9fcfd,4646 + - monad-dijkstra-0.1.1.3@sha256:d2fc098d7c122555e726830a12ae0423ac187f89de9228f32e56e2f6fc2238e1,1900 + - optparse-applicative-0.15.1.0@sha256:29ff6146aabf54d46c4c8788e8d1eadaea27c94f6d360c690c5f6c93dac4b07e,4810 + - refinery-0.4.0.0@sha256:fe3a43add8ff1db5cfffee7e7694c86128b1dfe62c541f26e25a8eadf9585610,1663 + - retrie-1.0.0.0@sha256:82014773115807f649f60fe4a3246911bbccd063a3c846cf5665e71f237bdd2d,4241 + - stylish-haskell-0.12.2.0@sha256:38f7fd9ca30c9aad34f176dae4564576899e9c197b6b8557b59c5e8c6a622c74,6108 + + # Enable these when supported by all formatters + # - ghc-lib-9.0.1.20210324@sha256:c8b9a2541ea3424c8d0e4f80584477d0f35be03f4a47d931152042d5f446c5fc,19279 + # - ghc-lib-parser-9.0.1.20210324@sha256:fb680f78d4ab08b5d089a05bda3b84ad857e5edcc2e4ca7c188c0207d369af80 + # - ghc-lib-parser-ex-9.0.0.4@sha256:8282b11c3797fc8ba225b245e736cc9a0745d9c48d0f9fea7f9bffb5c9997709,3642 + # - hlint-3.3@sha256:4218ad6e03050f5d68aeba0e025f5f05e366c8fd49657f2a19df04ee31b2bb23,4154 configure-options: - $targets: - - --enable-executable-dynamic ghcide: - --disable-library-for-ghci haskell-language-server: @@ -81,6 +70,8 @@ flags: # Until the formatters support ghc-lib-9, we need this flag disabled hls-hlint-plugin: hlint33: false + hyphenation: + embed: true nix: packages: [ icu libcxx zlib ] From 625bd23d992ef56c1d2ec737c71efe214e37364d Mon Sep 17 00:00:00 2001 From: jneira Date: Thu, 16 Sep 2021 22:22:38 +0200 Subject: [PATCH 10/10] Use extra 1.7.9 --- stack-9.0.1.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/stack-9.0.1.yaml b/stack-9.0.1.yaml index 1a96af0750..7de85baba2 100644 --- a/stack-9.0.1.yaml +++ b/stack-9.0.1.yaml @@ -36,6 +36,7 @@ extra-deps: - bytestring-encoding-0.1.0.0@sha256:460b49779fbf0112e8e2f1753c1ed9131eb18827600c298f4d6bb51c4e8c1c0d,1727 - dependent-map-0.4.0.0@sha256:ca2b131046f4340a1c35d138c5a003fe4a5be96b14efc26291ed35fd08c62221,1657 - dependent-sum-0.7.1.0@sha256:0e419237f5b86da3659772afff9cab355c0f8d5b3fdb15a5b30e673d8dc83941,2147 +- extra-1.7.9 - floskell-0.10.5 - ghc-source-gen-0.4.1.0 - heapsize-0.3.0.1@sha256:0b69aa97a46d819b700ac7b145f3b5493c3565cf2c5b8298682238d405d0326e,1417