From 8f57cf6d73d591068b970729add2f1dec42b1819 Mon Sep 17 00:00:00 2001 From: alexwl Date: Sun, 4 Nov 2018 16:47:29 +0300 Subject: Add support for GHC 8.4.4 --- README.md | 14 ++++++++++---- app/Indexer.hs | 5 ++++- stack-8.4.3.yaml | 8 ++++++++ stack.yaml | 2 +- test/Main.hs | 4 +++- test/test-package/stack-8.4.3.yaml | 1 + test/test-package/stack.yaml | 2 +- 7 files changed, 28 insertions(+), 8 deletions(-) create mode 100644 stack-8.4.3.yaml create mode 100644 test/test-package/stack-8.4.3.yaml diff --git a/README.md b/README.md index 82adb0e..249d3b0 100644 --- a/README.md +++ b/README.md @@ -42,14 +42,20 @@ cd haskell-code-explorer To build Haskell Code Explorer Stack ([https://docs.haskellstack.org/en/stable/README/](https://docs.haskellstack.org/en/stable/README/)) is needed. -At the moment Haskell Code Explorer supports GHC 8.4.3, GHC 8.2.2 and 8.0.2. +At the moment Haskell Code Explorer supports GHC 8.4.4, GHC 8.4.3, GHC 8.2.2, and 8.0.2. -For GHC 8.4.3: +For GHC 8.4.4: ```bash stack install ``` +For GHC 8.4.3: + +```bash +stack --stack-yaml=stack-8.4.3.yaml install +``` + For GHC 8.2.2: ```bash @@ -64,7 +70,7 @@ stack --stack-yaml=stack-8.0.2.yaml install ## Indexing source code of a Cabal package -`haskell-code-indexer` executable is responsible for indexing packages (by default index is saved to `.haskell-code-explorer` directory). +`haskell-code-indexer` executable is responsible for indexing packages (by default, index is saved to `.haskell-code-explorer` directory). A package should be built using either cabal-install or stack before indexing (`cabal new-build`,`cabal build`, or `stack build` command should be executed). @@ -83,7 +89,7 @@ Show all indexer options: haskell-code-indexer -h ``` -Index package : +Index package: ```bash haskell-code-indexer --package PATH ``` diff --git a/app/Indexer.hs b/app/Indexer.hs index 3a23df5..c91cb70 100644 --- a/app/Indexer.hs +++ b/app/Indexer.hs @@ -73,7 +73,10 @@ data Compression | NoCompression deriving (Show, Eq) -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) +#if MIN_VERSION_GLASGOW_HASKELL(8,4,4,0) +ghcVersion :: Version +ghcVersion = Version {versionBranch = [8, 4, 4, 0], versionTags = []} +#elif MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) ghcVersion :: Version ghcVersion = Version {versionBranch = [8, 4, 3, 0], versionTags = []} #elif MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) diff --git a/stack-8.4.3.yaml b/stack-8.4.3.yaml new file mode 100644 index 0000000..f086c39 --- /dev/null +++ b/stack-8.4.3.yaml @@ -0,0 +1,8 @@ +resolver: lts-12.12 +packages: +- '.' +- location: vendor/cabal-helper-0.8.1.2 + extra-dep: true +allow-newer: true +extra-deps: + - cabal-plan-0.4.0.0 diff --git a/stack.yaml b/stack.yaml index f086c39..66a7c8a 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,4 +1,4 @@ -resolver: lts-12.12 +resolver: lts-12.16 packages: - '.' - location: vendor/cabal-helper-0.8.1.2 diff --git a/test/Main.hs b/test/Main.hs index 11b94fb..542829e 100644 --- a/test/Main.hs +++ b/test/Main.hs @@ -155,8 +155,10 @@ moduleInfoSpec modInfo = HCE.idOccMap (modInfo :: HCE.ModuleInfo) `shouldBe` testIdOccMap stackYamlArg :: [String] -#if MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) +#if MIN_VERSION_GLASGOW_HASKELL(8,4,4,0) stackYamlArg = [] +#elif MIN_VERSION_GLASGOW_HASKELL(8,4,3,0) +stackYamlArg = ["--stack-yaml=stack-8.4.3.yaml" ] #elif MIN_VERSION_GLASGOW_HASKELL(8,2,2,0) stackYamlArg = ["--stack-yaml=stack-8.2.2.yaml" ] #else diff --git a/test/test-package/stack-8.4.3.yaml b/test/test-package/stack-8.4.3.yaml new file mode 100644 index 0000000..80a9a5a --- /dev/null +++ b/test/test-package/stack-8.4.3.yaml @@ -0,0 +1 @@ +resolver: lts-12.12 diff --git a/test/test-package/stack.yaml b/test/test-package/stack.yaml index 80a9a5a..92d07c7 100644 --- a/test/test-package/stack.yaml +++ b/test/test-package/stack.yaml @@ -1 +1 @@ -resolver: lts-12.12 +resolver: lts-12.16 -- cgit v1.2.3