From 5a6b079af2b8cb1429953adce81635c5061653d1 Mon Sep 17 00:00:00 2001 From: Pepe Iborra Date: Sun, 1 May 2022 13:08:37 +0100 Subject: [PATCH] Review project stack descriptors according to #2533 (#2874) * Review project stack descriptors according to #2533 * adjust shake-bench cabal descriptor to work with gen-hie * Fix shake-bench to build with aeson 2.x * track also LTS 16 --- .circleci/config.yml | 56 ++----- shake-bench/shake-bench.cabal | 5 +- .../src/Development/Benchmark/Rules.hs | 10 +- stack-8.10.6.yaml | 92 ----------- stack-8.10.7.yaml | 93 ----------- stack-8.6.5.yaml | 141 ----------------- stack-9.0.1.yaml | 103 ------------ stack-9.0.2.yaml | 125 --------------- stack-9.2.yaml | 147 ------------------ stack-8.8.4.yaml => stack-lts16.yaml | 0 stack-lts19.yaml | 80 ++++++++++ stack.yaml | 146 +++++++++-------- 12 files changed, 181 insertions(+), 817 deletions(-) delete mode 100644 stack-8.10.6.yaml delete mode 100644 stack-8.10.7.yaml delete mode 100644 stack-8.6.5.yaml delete mode 100644 stack-9.0.1.yaml delete mode 100644 stack-9.0.2.yaml delete mode 100644 stack-9.2.yaml rename stack-8.8.4.yaml => stack-lts16.yaml (100%) create mode 100644 stack-lts19.yaml diff --git a/.circleci/config.yml b/.circleci/config.yml index 667700a98..bb48f40d3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -75,45 +75,24 @@ defaults: &defaults version: 2 jobs: - ghc-8.6.5: - environment: - - STACK_FILE: "stack-8.6.5.yaml" - <<: *defaults - - ghc-8.8.4: - environment: - - STACK_FILE: "stack-8.8.4.yaml" - <<: *defaults - - ghc-8.10.6: - environment: - - STACK_FILE: "stack-8.10.6.yaml" - <<: *defaults - - ghc-8.10.7: - environment: - - STACK_FILE: "stack-8.10.7.yaml" - <<: *defaults - - ghc-9.0.1: - environment: - - STACK_FILE: "stack-9.0.1.yaml" - <<: *defaults - - ghc-9.0.2: - environment: - - STACK_FILE: "stack-9.0.2.yaml" - <<: *defaults - - ghc-9.2.2: + stackage-lts16: environment: # https://github.com/digital-asset/ghc-lib/issues/352 - CPATH: "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi:$CPATH" - - STACK_FILE: "stack-9.2.yaml" + - STACK_FILE: "stack-lts16.yaml" <<: *defaults - ghc-default: + stackage-lts19: environment: + # https://github.com/digital-asset/ghc-lib/issues/352 + - CPATH: "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi:$CPATH" + - STACK_FILE: "stack-lts19.yaml" + <<: *defaults + + stackage-nightly: + environment: + # https://github.com/digital-asset/ghc-lib/issues/352 + - CPATH: "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/ffi:$CPATH" - STACK_FILE: "stack.yaml" <<: *defaults @@ -122,11 +101,6 @@ workflows: version: 2 multiple-ghcs: jobs: - - ghc-8.6.5 - - ghc-8.8.4 - - ghc-8.10.6 - - ghc-8.10.7 - - ghc-9.0.1 - - ghc-9.0.2 - - ghc-9.2.2 - - ghc-default + - stackage-lts16 + - stackage-lts19 + - stackage-nightly diff --git a/shake-bench/shake-bench.cabal b/shake-bench/shake-bench.cabal index 68450dfe8..cd4474f36 100644 --- a/shake-bench/shake-bench.cabal +++ b/shake-bench/shake-bench.cabal @@ -8,9 +8,8 @@ author: Pepe Iborra maintainer: pepeiborra@gmail.com category: Development build-type: Simple -description: - A library Shake rules to build and run benchmarks for multiple revisions of a project. - An example of usage can be found in the ghcide benchmark suite +-- description is a single line so that implicit-hie can parse it +description: A library Shake rules to build and run benchmarks for multiple revisions of a project. An example of usage can be found in the ghcide benchmark suite library exposed-modules: Development.Benchmark.Rules diff --git a/shake-bench/src/Development/Benchmark/Rules.hs b/shake-bench/src/Development/Benchmark/Rules.hs index e9117c8be..d6fc885d1 100644 --- a/shake-bench/src/Development/Benchmark/Rules.hs +++ b/shake-bench/src/Development/Benchmark/Rules.hs @@ -67,14 +67,14 @@ module Development.Benchmark.Rules ) where import Control.Applicative -import Control.Lens ((^.)) +import Control.Lens ((^.), view, preview) import Control.Monad import qualified Control.Monad.State as S import Data.Aeson (FromJSON (..), ToJSON (..), Value (..), object, (.!=), (.:?), (.=)) -import Data.Aeson.Lens (_Object) +import Data.Aeson.Lens (_Object, AsJSON (_JSON), _String) import Data.Char (isDigit) import Data.List (find, isInfixOf, stripPrefix, @@ -504,8 +504,10 @@ instance FromJSON GitCommit where parseJSON o@(Object _) = do let keymap = o ^. _Object case toList keymap of - [(name, String gitName)] -> pure $ GitCommit gitName (Just name) Nothing True - [(name, Object props)] -> + -- excuse the aeson 2.0 compatibility hack + [(preview _String . toJSON -> Just name, String gitName)] -> + pure $ GitCommit gitName (Just name) Nothing True + [(preview _String . toJSON -> Just name, Object props)] -> GitCommit <$> props .:? "git" .!= name <*> pure (Just name) diff --git a/stack-8.10.6.yaml b/stack-8.10.6.yaml deleted file mode 100644 index 67c9d57cb..000000000 --- a/stack-8.10.6.yaml +++ /dev/null @@ -1,92 +0,0 @@ -# Build plan for GHC 8.10.6. -# Like stack-8.10.7.yaml but with an older resolver. - -resolver: lts-18.8 - -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-qualify-imported-names-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 - - ./plugins/hls-alternate-number-format-plugin - - ./plugins/hls-selection-range-plugin - - ./plugins/hls-change-type-signature-plugin - -ghc-options: - "$everything": -haddock - -extra-deps: - - 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 - - extra-1.7.10 - - floskell-0.10.5@sha256:77f0bc1569573d9666b10975a5357fef631d32266c071733739393ccae521dab,3803 - - heapsize-0.3.0.1@sha256:0b69aa97a46d819b700ac7b145f3b5493c3565cf2c5b8298682238d405d0326e,1417 - - hie-bios-0.9.1 - - hiedb-0.4.1.0 - - hlint-3.2.8 - - implicit-hie-0.1.2.6@sha256:f50a908979a574a881f753c0f9a5224f023f438b30fdefc5b7fa01803b07a280,2998 - - implicit-hie-cradle-0.3.0.5@sha256:5f5e575f549b2a9db664be7650b5c3c9226e313bddc46c79e2e83eb349f8e692,2610 - - lsp-1.4.0.0 - - lsp-types-1.4.0.1 - - lsp-test-0.14.0.2 - - 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.1.0.0 - - stylish-haskell-0.12.2.0@sha256:38f7fd9ca30c9aad34f176dae4564576899e9c197b6b8557b59c5e8c6a622c74,6108 - - stm-containers-1.2@sha256:a887f2e7692b7cf20e0b081e2d66e21076e2bd4b57016ec59c484edfa2d29397,3244 - - stm-hamt-1.2.0.6@sha256:fba86ccb4b45c5706c19b0e1315ba63dcac3b5d71de945ec001ba921fae80061,3972 - - # 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: - hlint34: false - hyphenation: - embed: true - -nix: - packages: [ icu libcxx zlib ] - -concurrent-tests: false diff --git a/stack-8.10.7.yaml b/stack-8.10.7.yaml deleted file mode 100644 index e347181eb..000000000 --- a/stack-8.10.7.yaml +++ /dev/null @@ -1,93 +0,0 @@ -# Build plan for GHC 8.10.7. -# stack-8.10.7.yaml is for install script, stack.yaml is for default builds, keep these identical. -# https://github.com/haskell/haskell-language-server/issues/2491 - -resolver: lts-18.18 - -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-qualify-imported-names-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 - - ./plugins/hls-alternate-number-format-plugin - - ./plugins/hls-selection-range-plugin - - ./plugins/hls-change-type-signature-plugin - -ghc-options: - "$everything": -haddock - -extra-deps: - - 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 - - extra-1.7.10 - - floskell-0.10.5@sha256:77f0bc1569573d9666b10975a5357fef631d32266c071733739393ccae521dab,3803 - - heapsize-0.3.0.1@sha256:0b69aa97a46d819b700ac7b145f3b5493c3565cf2c5b8298682238d405d0326e,1417 - - hie-bios-0.9.1 - - hiedb-0.4.1.0 - - hlint-3.2.8 - - implicit-hie-0.1.2.6@sha256:f50a908979a574a881f753c0f9a5224f023f438b30fdefc5b7fa01803b07a280,2998 - - implicit-hie-cradle-0.3.0.5@sha256:5f5e575f549b2a9db664be7650b5c3c9226e313bddc46c79e2e83eb349f8e692,2610 - - lsp-1.4.0.0 - - lsp-types-1.4.0.1 - - lsp-test-0.14.0.2 - - 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.1.0.0 - - stylish-haskell-0.12.2.0@sha256:38f7fd9ca30c9aad34f176dae4564576899e9c197b6b8557b59c5e8c6a622c74,6108 - - stm-containers-1.2@sha256:a887f2e7692b7cf20e0b081e2d66e21076e2bd4b57016ec59c484edfa2d29397,3244 - - stm-hamt-1.2.0.6@sha256:fba86ccb4b45c5706c19b0e1315ba63dcac3b5d71de945ec001ba921fae80061,3972 - - # 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: - hlint34: 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 deleted file mode 100644 index 492ed4416..000000000 --- a/stack-8.6.5.yaml +++ /dev/null @@ -1,141 +0,0 @@ -resolver: lts-14.27 # Last 8.6.5 - -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-qualify-imported-names-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 - - ./plugins/hls-alternate-number-format-plugin - - ./plugins/hls-selection-range-plugin - - ./plugins/hls-change-type-signature-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 - - extra-1.7.10 - - floskell-0.10.4 - - fourmolu-0.3.0.0 - - fuzzy-0.1.0.1 - - ghc-check-0.5.0.4 - - ghc-events-0.13.0 - - ghc-exactprint-0.6.4 - - 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 - - haddock-library-1.10.0 - - hashable-1.3.0.0 - - heapsize-0.3.0 - - hie-bios-0.9.1 - - hlint-3.2.8 - - 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 - - lens-aeson-1.1 - - 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 - - prettyprinter-1.7.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 - - 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.4.0.0 - - lsp-types-1.4.0.1 - - lsp-test-0.14.0.2 - - mod-0.1.2.2 - - semirings-0.6 - - stm-containers-1.1.0.4 - - stm-hamt-1.2.0.6@sha256:fba86ccb4b45c5706c19b0e1315ba63dcac3b5d71de945ec001ba921fae80061,3972 - - primitive-extras-0.10.1 - - primitive-unlifted-0.1.3.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. - hls-hlint-plugin: - hlint34: false - hyphenation: - embed: true - -nix: - packages: [icu libcxx zlib] - -concurrent-tests: false diff --git a/stack-9.0.1.yaml b/stack-9.0.1.yaml deleted file mode 100644 index 92616c368..000000000 --- a/stack-9.0.1.yaml +++ /dev/null @@ -1,103 +0,0 @@ -resolver: nightly-2022-01-04 - -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-qualify-imported-names-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 -- ./plugins/hls-alternate-number-format-plugin -- ./plugins/hls-selection-range-plugin -- ./plugins/hls-change-type-signature-plugin - -extra-deps: -- aeson-2.0.3.0 -- brittany-0.14.0.0 -- butcher-1.3.3.2 -- bytestring-encoding-0.1.1.0 -- data-tree-print-0.1.0.2 -- dependent-map-0.4.0.0 -- dependent-sum-0.7.1.0 -- extra-1.7.10 -- hspec-2.7.10 # for hls-test-utils -- hspec-core-2.7.10 # for hls-test-utils -- some-1.0.2 # for dependent-sum, https://github.com/obsidiansystems/dependent-sum/issues/66 -- floskell-0.10.6 -- heapsize-0.3.0.1 -- hiedb-0.4.1.0 -- hie-bios-0.9.1 -- implicit-hie-0.1.2.6 -- implicit-hie-cradle-0.3.0.5 -- monad-dijkstra-0.1.1.3 -- multistate-0.8.0.3 -- retrie-1.1.0.0 -- lsp-1.4.0.0 -- lsp-types-1.4.0.1 -- lsp-test-0.14.0.2 -- refinery-0.4.0.0 -- ghc-lib-9.2.2.20220307 -- ghc-lib-parser-9.2.2.20220307 -- ghc-lib-parser-ex-9.2.0.3 -- hlint-3.4 -- stylish-haskell-0.14.2.0 -- ormolu-0.4.0.0 -- fourmolu-0.6.0.0 -- Cabal-3.6.0.0 - -# shake-bench dependencies -- Chart-1.9.3 -- Chart-diagrams-1.9.3 -- SVGFonts-1.7.0.1 # for Chart-diagrams, https://github.com/timbod7/haskell-chart/issues/232 -- diagrams-postscript-1.5 -- statestack-0.3 -- operational-0.2.4.1 - -ghc-options: - "$everything": -haddock - -allow-newer: true - -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 - hls-hlint-plugin: - hlint34: true - ghc-lib: true - hyphenation: - embed: true - -nix: - packages: [ icu libcxx zlib ] - -concurrent-tests: false diff --git a/stack-9.0.2.yaml b/stack-9.0.2.yaml deleted file mode 100644 index f1e97ce5d..000000000 --- a/stack-9.0.2.yaml +++ /dev/null @@ -1,125 +0,0 @@ -resolver: nightly-2022-01-14 - -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-qualify-imported-names-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 -- ./plugins/hls-alternate-number-format-plugin -- ./plugins/hls-selection-range-plugin -- ./plugins/hls-change-type-signature-plugin - -extra-deps: -- aeson-2.0.3.0 -- brittany-0.14.0.0 -- butcher-1.3.3.2 -- bytestring-encoding-0.1.1.0 -- data-tree-print-0.1.0.2 -- dependent-map-0.4.0.0 -- dependent-sum-0.7.1.0 -- extra-1.7.10 -- hspec-2.7.10 # for hls-test-utils -- hspec-core-2.7.10 # for hls-test-utils -- some-1.0.2 # for dependent-sum, https://github.com/obsidiansystems/dependent-sum/issues/66 -- floskell-0.10.6 -- heapsize-0.3.0.1 -- hiedb-0.4.1.0 -- hie-bios-0.9.1 -- implicit-hie-0.1.2.6 -- implicit-hie-cradle-0.3.0.5 -- monad-dijkstra-0.1.1.3 -- multistate-0.8.0.3 -- refinery-0.4.0.0 -- retrie-1.1.0.0 -- lsp-1.4.0.0 -- lsp-types-1.4.0.1 -- lsp-test-0.14.0.2 -- unix-compat-0.5.4 -- ghc-lib-9.2.2.20220307 -- ghc-lib-parser-9.2.2.20220307 -- ghc-lib-parser-ex-9.2.0.3 -- hlint-3.4 -- stylish-haskell-0.14.2.0 -- ormolu-0.4.0.0 -- fourmolu-0.6.0.0 - -# shake-bench dependencies -- Chart-1.9.3 -- Chart-diagrams-1.9.3 -- SVGFonts-1.7.0.1 # for Chart-diagrams, https://github.com/timbod7/haskell-chart/issues/232 -- diagrams-postscript-1.5 -- statestack-0.3 -- operational-0.2.4.1 - -# hls-graph dependencies -- stm-containers-1.2 -- stm-hamt-1.2.0.7 - -# primitive-unlifted-1.0.0 is not buildable with ghc-9.0.2 -# see https://gitlab.haskell.org/ghc/ghc/-/issues/20908 -- primitive-unlifted-0.1.3.1 -- primitive-extras-0.10.1.4 - -# for ghcide test suite -- ghc-typelits-knownnat-0.7.6 -- ghc-typelits-natnormalise-0.7.6 - -# boot libraries -- Cabal-3.6.0.0 -- directory-1.3.6.2 -- process-1.6.13.2 -- time-1.9.3 -- unix-2.7.2.2 -- Win32-2.12.0.1 - -ghc-options: - "$everything": -haddock - -allow-newer: true - -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. - hls-hlint-plugin: - hlint34: true - ghc-lib: true - hyphenation: - embed: true - -nix: - packages: [ icu libcxx zlib ] - -concurrent-tests: false diff --git a/stack-9.2.yaml b/stack-9.2.yaml deleted file mode 100644 index 5d3f3abfd..000000000 --- a/stack-9.2.yaml +++ /dev/null @@ -1,147 +0,0 @@ -resolver: nightly-2022-01-14 -compiler: ghc-9.2.2 - -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-qualify-imported-names-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 -- ./plugins/hls-alternate-number-format-plugin -- ./plugins/hls-selection-range-plugin -- ./plugins/hls-change-type-signature-plugin - -extra-deps: -- aeson-2.0.3.0 -- base-compat-0.12.1 -- base-compat-batteries-0.12.1 -- brittany-0.14.0.0 -- butcher-1.3.3.2 -- bytestring-encoding-0.1.1.0 -- data-tree-print-0.1.0.2 -- dependent-map-0.4.0.0 -- dependent-sum-0.7.1.0 -- extra-1.7.10 -- floskell-0.10.6 -- fourmolu-0.6.0.0 -- ghc-exactprint-1.5.0 -- ghc-lib-9.2.2.20220307 -- ghc-lib-parser-9.2.2.20220307 -- ghc-lib-parser-ex-9.2.0.3 -- heapsize-0.3.0.1 -- hiedb-0.4.1.0 -- hie-bios-0.9.1 -- hspec-2.7.10 # for hls-test-utils -- hspec-core-2.7.10 # for hls-test-utils -- implicit-hie-0.1.2.6 -- implicit-hie-cradle-0.5.0.0 -- lens-5.1 -- monad-dijkstra-0.1.1.3 -- multistate-0.8.0.3 -- ormolu-0.4.0.0 -- refinery-0.4.0.0 -- retrie-1.2.0.1 -- some-1.0.2 # for dependent-sum, https://github.com/obsidiansystems/dependent-sum/issues/66 -- unix-compat-0.5.4 - -# shake-bench dependencies -- Chart-1.9.3 -- Chart-diagrams-1.9.3 -- SVGFonts-1.7.0.1 # for Chart-diagrams, https://github.com/timbod7/haskell-chart/issues/232 -- diagrams-postscript-1.5 -- statestack-0.3 -- operational-0.2.4.1 - -# hls-graph dependencies -- stm-containers-1.2 -- stm-hamt-1.2.0.7 - -# primitive-unlifted-1.0.0 is not buildable with ghc-9.0.2 -# see https://gitlab.haskell.org/ghc/ghc/-/issues/20908 -- primitive-unlifted-0.1.3.1 -- primitive-extras-0.10.1.4 - -# for ghcide test suite -- ghc-typelits-knownnat-0.7.6 -- ghc-typelits-natnormalise-0.7.6 - -# boot libraries -- Cabal-3.6.0.0 -- directory-1.3.6.2 -- process-1.6.13.2 -- time-1.11.1.1 -- unix-2.7.2.2 -- Win32-2.12.0.1 - -- stylish-haskell-0.14.2.0 -- hlint-3.4 -- apply-refact-0.10.0.0 - -# currently needed for ghcide>extra, etc. -allow-newer: true - -ghc-options: - "$everything": -haddock - -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 - - ignore-plugins-ghc-bounds: true - alternateNumberFormat: false - brittany: false - eval: false - haddockComments: false - retrie: false - splice: false - tactic: false - - retrie: - BuildExecutable: false - # Stack doesn't support automatic flags. - hls-hlint-plugin: - hlint34: true - ghc-lib: true - # Use ghc-lib force instead of ghc itself - ghc-lib-parser-ex: - auto: false - hlint: - ghc-lib: true - stylish-haskell: - ghc-lib: true - hyphenation: - embed: true - -nix: - packages: [ icu libcxx zlib ] - -concurrent-tests: false diff --git a/stack-8.8.4.yaml b/stack-lts16.yaml similarity index 100% rename from stack-8.8.4.yaml rename to stack-lts16.yaml diff --git a/stack-lts19.yaml b/stack-lts19.yaml new file mode 100644 index 000000000..1c7789869 --- /dev/null +++ b/stack-lts19.yaml @@ -0,0 +1,80 @@ +resolver: lts-19.5 + +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-qualify-imported-names-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 + - ./plugins/hls-alternate-number-format-plugin + - ./plugins/hls-selection-range-plugin + - ./plugins/hls-change-type-signature-plugin + +ghc-options: + "$everything": -haddock + +extra-deps: +- Cabal-3.6.0.0 +- floskell-0.10.6@sha256:e77d194189e8540abe2ace2c7cb8efafc747ca35881a2fefcbd2d40a1292e036,3819 +- fourmolu-0.6.0.0 +- ghc-lib-9.2.2.20220307 +- ghc-lib-parser-9.2.2.20220307 +- ghc-lib-parser-ex-9.2.0.3 +- heapsize-0.3.0.1@sha256:0b69aa97a46d819b700ac7b145f3b5493c3565cf2c5b8298682238d405d0326e,1417 +- hiedb-0.4.1.0@sha256:fb20c657d9ecc91701b00dffcf4bbd77cb83720a1f9d867badd77ea227973135,2875 +- hlint-3.4 +- implicit-hie-0.1.2.7@sha256:82bbbb1a8c05f99c8af3c16ac53e80c8648d8bf047b25ed5ce45a135bd736907,3122 +- implicit-hie-cradle-0.5.0.0@sha256:4276f60f3a59bc22df03fd918f73bca9f777de9568f85e3a8be8bd7566234a59,2368 +- monad-dijkstra-0.1.1.3 +- ormolu-0.4.0.0 +- refinery-0.4.0.0@sha256:fe3a43add8ff1db5cfffee7e7694c86128b1dfe62c541f26e25a8eadf9585610,1663 +- retrie-1.1.0.0 +- stylish-haskell-0.14.2.0@sha256:fffe1c13ad4c2678cf28a7470cac5d3bf20c71c36f09969e3e5f186787cceb7c,4321 +- SVGFonts-1.7.0.1 # for Chart-diagrams, https://github.com/timbod7/haskell-chart/issues/232 + +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: + hlint34: true + ghc-lib: true + hyphenation: + embed: true + +nix: + packages: [ icu libcxx zlib ] + +concurrent-tests: false diff --git a/stack.yaml b/stack.yaml index f93691657..ef240e9e5 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,89 +1,97 @@ -# Build plan for GHC 8.10.7. -# stack-8.10.7.yaml is for install script, stack.yaml is for default builds, keep these identical. -# https://github.com/haskell/haskell-language-server/issues/2491 - -resolver: lts-18.18 +resolver: nightly-2022-04-28 +compiler: ghc-9.2.2 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-qualify-imported-names-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 - - ./plugins/hls-alternate-number-format-plugin - - ./plugins/hls-selection-range-plugin - - ./plugins/hls-change-type-signature-plugin +- . +- ./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-qualify-imported-names-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 +- ./plugins/hls-alternate-number-format-plugin +- ./plugins/hls-selection-range-plugin +- ./plugins/hls-change-type-signature-plugin + +extra-deps: +- Chart-1.9.3@sha256:640a38463318b070d80a049577e4f0b3322df98290abb7afcf0cb74a4ad5b512,2948 +- Chart-diagrams-1.9.3@sha256:63668daff044a79827b7edb265265a4a8237424abb8f808ad1fcbdb3d47e753d,1801 +- direct-sqlite-2.3.26@sha256:04e835402f1508abca383182023e4e2b9b86297b8533afbd4e57d1a5652e0c23,3718 +- floskell-0.10.6@sha256:e77d194189e8540abe2ace2c7cb8efafc747ca35881a2fefcbd2d40a1292e036,3819 +- heapsize-0.3.0.1@sha256:0b69aa97a46d819b700ac7b145f3b5493c3565cf2c5b8298682238d405d0326e,1417 +- hiedb-0.4.1.0@sha256:fb20c657d9ecc91701b00dffcf4bbd77cb83720a1f9d867badd77ea227973135,2875 +- hlint-3.4 +- implicit-hie-0.1.2.7@sha256:82bbbb1a8c05f99c8af3c16ac53e80c8648d8bf047b25ed5ce45a135bd736907,3122 +- implicit-hie-cradle-0.5.0.0@sha256:4276f60f3a59bc22df03fd918f73bca9f777de9568f85e3a8be8bd7566234a59,2368 +- lsp-1.4.0.0@sha256:d992cb88d6212f113baf372404c141a6bea14c436baa64ea6e4f01b6188c575b,5088 +- lsp-test-0.14.0.2@sha256:d62d2af45508f04c5fcad23e469c45b37ca19760cee15b025a0eb499cbd28050,4663 +- lsp-types-1.4.0.1@sha256:b902952df7becc1827947ee3ff1cd8c746aa8f9f80db330db20e2fdf1b6089e8,4504 +- monad-dijkstra-0.1.1.3@sha256:d2fc098d7c122555e726830a12ae0423ac187f89de9228f32e56e2f6fc2238e1,1900 +- retrie-1.2.0.1 +- rope-utf16-splay-0.3.2.0 +- sqlite-simple-0.4.18.0@sha256:3ceea56375c0a3590c814e411a4eb86943f8d31b93b110ca159c90689b6b39e5,3002 +- SVGFonts-1.7.0.1 # for Chart-diagrams, https://github.com/timbod7/haskell-chart/issues/232 + + +# currently needed for ghcide>extra, etc. +allow-newer: true ghc-options: "$everything": -haddock -extra-deps: - - 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 - - extra-1.7.10 - - floskell-0.10.5@sha256:77f0bc1569573d9666b10975a5357fef631d32266c071733739393ccae521dab,3803 - - heapsize-0.3.0.1@sha256:0b69aa97a46d819b700ac7b145f3b5493c3565cf2c5b8298682238d405d0326e,1417 - - hiedb-0.4.1.0 - - hie-bios-0.9.1 - - hlint-3.2.8 - - implicit-hie-0.1.2.6@sha256:f50a908979a574a881f753c0f9a5224f023f438b30fdefc5b7fa01803b07a280,2998 - - implicit-hie-cradle-0.3.0.5@sha256:5f5e575f549b2a9db664be7650b5c3c9226e313bddc46c79e2e83eb349f8e692,2610 - - lsp-1.4.0.0 - - lsp-types-1.4.0.1 - - lsp-test-0.14.0.2 - - 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.1.0.0 - - stylish-haskell-0.12.2.0@sha256:38f7fd9ca30c9aad34f176dae4564576899e9c197b6b8557b59c5e8c6a622c74,6108 - - stm-containers-1.2@sha256:a887f2e7692b7cf20e0b081e2d66e21076e2bd4b57016ec59c484edfa2d29397,3244 - - stm-hamt-1.2.0.6@sha256:fba86ccb4b45c5706c19b0e1315ba63dcac3b5d71de945ec001ba921fae80061,3972 - - # 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 + - --disable-library-for-ghci haskell-language-server: - - --disable-library-for-ghci + - --disable-library-for-ghci heapsize: - - --disable-library-for-ghci + - --disable-library-for-ghci flags: haskell-language-server: pedantic: true + + ignore-plugins-ghc-bounds: true + alternateNumberFormat: false + brittany: false + eval: false + haddockComments: false + retrie: false + splice: false + tactic: false + retrie: BuildExecutable: false # Stack doesn't support automatic flags. - # Until the formatters support ghc-lib-9, we need this flag disabled hls-hlint-plugin: - hlint34: false + hlint34: true + ghc-lib: true + # Use ghc-lib force instead of ghc itself + ghc-lib-parser-ex: + auto: false + hlint: + ghc-lib: true + stylish-haskell: + ghc-lib: true hyphenation: embed: true @@ -91,3 +99,5 @@ nix: packages: [ icu libcxx zlib ] concurrent-tests: false + +system-ghc: true