From 0c03dd0d6ee71c79227974b697f171396d3d09a7 Mon Sep 17 00:00:00 2001 From: Veronika Romashkina Date: Tue, 11 Jan 2022 19:54:34 +0000 Subject: [PATCH] [#539] Support GHC 9.0 in generated projects (#556) * [#539] Support GHC 9.0 in generated projects Resolves #539 * Update CHANGELOG * Fix ci setup for 9.0.2 * Apply suggestions from code review Co-authored-by: Dmitrii Kovanikov * Update lts version for 8.10 * Fix * Fix stack build Co-authored-by: Dmitrii Kovanikov --- .github/workflows/ci.yml | 15 ++++++--------- CHANGELOG.md | 2 ++ README.md | 2 +- stack.yaml | 7 ++----- .../examples/cabal-full/.github/workflows/ci.yml | 5 +++++ summoner-cli/examples/cabal-full/.travis.yml | 1 + summoner-cli/examples/cabal-full/LICENSE | 2 +- summoner-cli/examples/cabal-full/appveyor.yml | 4 ++-- summoner-cli/examples/cabal-full/cabal-full.cabal | 5 +++-- summoner-cli/examples/cabal-full/src/CabalFull.hs | 2 +- .../examples/cabal-minimal/cabal-minimal.cabal | 6 +++--- summoner-cli/examples/cabalScript.hs | 2 +- .../full-batteries/.github/workflows/ci.yml | 6 ++++++ summoner-cli/examples/full-batteries/.travis.yml | 4 ++++ summoner-cli/examples/full-batteries/LICENSE | 2 +- summoner-cli/examples/full-batteries/appveyor.yml | 4 ++-- .../examples/full-batteries/full-batteries.cabal | 5 +++-- .../examples/full-batteries/src/FullBatteries.hs | 2 +- .../examples/full-batteries/stack-8.10.7.yaml | 1 + summoner-cli/examples/full-batteries/stack.yaml | 2 +- .../examples/stack-full/.github/workflows/ci.yml | 1 + summoner-cli/examples/stack-full/.travis.yml | 3 +++ summoner-cli/examples/stack-full/LICENSE | 2 +- summoner-cli/examples/stack-full/src/StackFull.hs | 2 +- .../examples/stack-full/stack-8.10.7.yaml | 1 + summoner-cli/examples/stack-full/stack-full.cabal | 5 +++-- summoner-cli/examples/stack-full/stack.yaml | 2 +- summoner-cli/examples/stackScript.hs | 2 +- summoner-cli/examples/summoner-default.toml | 4 ++-- summoner-cli/src/Summoner.hs | 2 +- summoner-cli/src/Summoner/CLI.hs | 2 +- summoner-cli/src/Summoner/Config.hs | 2 +- summoner-cli/src/Summoner/CustomPrelude.hs | 2 +- summoner-cli/src/Summoner/Decision.hs | 2 +- summoner-cli/src/Summoner/Default.hs | 2 +- summoner-cli/src/Summoner/GhcVer.hs | 8 ++++++-- summoner-cli/src/Summoner/Golden.hs | 14 +++++++------- summoner-cli/src/Summoner/License.hs | 2 +- summoner-cli/src/Summoner/Mode.hs | 2 +- summoner-cli/src/Summoner/Project.hs | 2 +- summoner-cli/src/Summoner/Question.hs | 2 +- summoner-cli/src/Summoner/Settings.hs | 2 +- summoner-cli/src/Summoner/Source.hs | 2 +- summoner-cli/src/Summoner/Template.hs | 2 +- summoner-cli/src/Summoner/Template/Cabal.hs | 2 +- summoner-cli/src/Summoner/Template/Doc.hs | 2 +- summoner-cli/src/Summoner/Template/GitHub.hs | 2 +- summoner-cli/src/Summoner/Template/Haskell.hs | 2 +- summoner-cli/src/Summoner/Template/Script.hs | 2 +- summoner-cli/src/Summoner/Template/Stack.hs | 2 +- summoner-cli/src/Summoner/Text.hs | 2 +- summoner-cli/src/Summoner/Tree.hs | 2 +- summoner-cli/summoner.cabal | 8 ++++---- summoner-cli/test/Test/Show.hs | 3 ++- summoner-tui/src/Summoner/Tui.hs | 2 +- summoner-tui/src/Summoner/Tui/Field.hs | 2 +- summoner-tui/src/Summoner/Tui/Form.hs | 2 +- summoner-tui/src/Summoner/Tui/GroupBorder.hs | 2 +- summoner-tui/src/Summoner/Tui/Kit.hs | 2 +- summoner-tui/src/Summoner/Tui/Validation.hs | 2 +- summoner-tui/src/Summoner/Tui/Widget.hs | 2 +- summoner-tui/summoner-tui.cabal | 6 +++--- 62 files changed, 111 insertions(+), 85 deletions(-) create mode 100644 summoner-cli/examples/full-batteries/stack-8.10.7.yaml create mode 100644 summoner-cli/examples/stack-full/stack-8.10.7.yaml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3650ae7..3741755 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: - "8.6.5" - "8.8.4" - "8.10.7" - - "9.0.1" + - "9.0.2" exclude: - os: macOS-latest ghc: 8.10.7 @@ -78,29 +78,26 @@ jobs: run: | cabal test all - - if: matrix.ghc == '8.10.7' + - if: matrix.ghc == '9.0.2' name: Build 'cabal-minimal' run: | cd "summoner-cli/examples/cabal-minimal/" echo "packages: ." > cabal.project cabal build all - - if: matrix.ghc != '9.0.1' - name: Build 'cabal-full' + - name: Build 'cabal-full' run: | cd "summoner-cli/examples/cabal-full/" echo "packages: ." > cabal.project cabal build all - - if: matrix.ghc != '9.0.1' - name: Build 'stack-full' + - name: Build 'stack-full' run: | cd "summoner-cli/examples/stack-full/" echo "packages: ." > cabal.project cabal build all - - if: matrix.ghc != '9.0.1' - name: Build 'full-batteries' + - name: Build 'full-batteries' run: | cd "summoner-cli/examples/full-batteries/" echo "packages: ." > cabal.project @@ -112,7 +109,7 @@ jobs: strategy: matrix: stack: ["2.7.3"] - ghc: ["8.10.7"] + ghc: ["9.0.2"] steps: - uses: actions/checkout@v2 diff --git a/CHANGELOG.md b/CHANGELOG.md index df95c24..58a6157 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The changelog is available [on GitHub][2]. ## Unreleased +* [#539](https://github.com/kowainik/summoner/issues/539): + Use GHC-9.0 as default version for generated projects. * [#540](https://github.com/kowainik/summoner/issues/540): Build Summoner with GHC-9.0. * [#520](https://github.com/kowainik/summoner/issues/520): diff --git a/README.md b/README.md index 97f2a3b..7f69b83 100644 --- a/README.md +++ b/README.md @@ -470,7 +470,7 @@ Here is the list of the options that can be configured to suit your needs. If op | `fullName` | Text | Full name. | | `email` | Text | E-mail address. | | `license` | License | One of: `MIT`, `BSD2`, `BSD3`, `GPL-2`, `GPL-3`, `LGPL-2.1`, `LGPL-3`, `AGPL-3`, `Apache-2.0`, `MPL-2.0`, `None`. | -| `ghcVersions` | [GHC] | `summoner` uses default `GHC-8.10.7`. However, additionally you can specify other versions. For each version `x.y.z` the `stack-x.y.z.yaml` will be created. Use `summon show ghc` to see all supported GHC versions. | +| `ghcVersions` | [GHC] | `summoner` uses default `GHC-9.0.2`. However, additionally you can specify other versions. For each version `x.y.z` the `stack-x.y.z.yaml` will be created. Use `summon show ghc` to see all supported GHC versions. | | `github` | Bool | Turn on `GitHub` integration by default? | | `gitignore` | [Text] | List of files you want added to the default `.gitignore`. (Ignored if `github = false`) | | `noUpload` | Bool | Do not upload to GitHub, but create all GitHub related files if specified (Ignored if `github = false`) | diff --git a/stack.yaml b/stack.yaml index 5fa9127..48c0ebe 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,4 +1,4 @@ -resolver: lts-18.10 +resolver: nightly-2022-01-10 packages: - summoner-cli/ @@ -6,9 +6,6 @@ packages: extra-deps: - colourista-0.1.0.1 - - generic-data-0.8.0.0 - - hashable-1.3.1.0 + - megaparsec-9.0.1 - microaeson-0.1.0.0 - - optparse-applicative-0.16.0.0 - - relude-1.0.0.1 - tomland-1.3.3.0 diff --git a/summoner-cli/examples/cabal-full/.github/workflows/ci.yml b/summoner-cli/examples/cabal-full/.github/workflows/ci.yml index 9c5caea..1de0eb6 100644 --- a/summoner-cli/examples/cabal-full/.github/workflows/ci.yml +++ b/summoner-cli/examples/cabal-full/.github/workflows/ci.yml @@ -22,13 +22,18 @@ jobs: - "8.6.5" - "8.8.4" - "8.10.7" + - "9.0.2" exclude: + - os: macOS-latest + ghc: 8.10.7 - os: macOS-latest ghc: 8.8.4 - os: macOS-latest ghc: 8.6.5 - os: macOS-latest ghc: 8.4.4 + - os: windows-latest + ghc: 8.10.7 - os: windows-latest ghc: 8.8.4 - os: windows-latest diff --git a/summoner-cli/examples/cabal-full/.travis.yml b/summoner-cli/examples/cabal-full/.travis.yml index 6a37765..52225b2 100644 --- a/summoner-cli/examples/cabal-full/.travis.yml +++ b/summoner-cli/examples/cabal-full/.travis.yml @@ -15,6 +15,7 @@ jobs: - ghc: 8.6.5 - ghc: 8.8.4 - ghc: 8.10.7 + - ghc: 9.0.2 install: # HLint check diff --git a/summoner-cli/examples/cabal-full/LICENSE b/summoner-cli/examples/cabal-full/LICENSE index e5e400d..fdc51b2 100644 --- a/summoner-cli/examples/cabal-full/LICENSE +++ b/summoner-cli/examples/cabal-full/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2021, Kowainik +Copyright (c) 2022, Kowainik All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/summoner-cli/examples/cabal-full/appveyor.yml b/summoner-cli/examples/cabal-full/appveyor.yml index bfec0f9..6148c71 100644 --- a/summoner-cli/examples/cabal-full/appveyor.yml +++ b/summoner-cli/examples/cabal-full/appveyor.yml @@ -21,12 +21,12 @@ environment: CABOPTS: --store-dir=C:\\SR matrix: - - GHCVER: 8.10.7 + - GHCVER: 9.0.2 install: - choco source add -n mistuke -s https://www.myget.org/F/mistuke/api/v2 - choco install -y cabal --version 3.6.2.0 - - choco install -y ghc --version 8.10.7 + - choco install -y ghc --version 9.0.2 - refreshenv before_build: diff --git a/summoner-cli/examples/cabal-full/cabal-full.cabal b/summoner-cli/examples/cabal-full/cabal-full.cabal index f869a2e..466f82f 100644 --- a/summoner-cli/examples/cabal-full/cabal-full.cabal +++ b/summoner-cli/examples/cabal-full/cabal-full.cabal @@ -11,7 +11,7 @@ license: BSD-3-Clause license-file: LICENSE author: Kowainik maintainer: Kowainik -copyright: 2021 Kowainik +copyright: 2022 Kowainik category: Testing build-type: Simple extra-doc-files: README.md @@ -20,13 +20,14 @@ tested-with: GHC == 8.4.4 GHC == 8.6.5 GHC == 8.8.4 GHC == 8.10.7 + GHC == 9.0.2 source-repository head type: git location: https://github.com/kowainik/cabal-full.git common common-options - build-depends: base >= 4.11.1.0 && < 4.15 + build-depends: base >= 4.11.1.0 && < 4.16 , relude mixins: base hiding (Prelude) diff --git a/summoner-cli/examples/cabal-full/src/CabalFull.hs b/summoner-cli/examples/cabal-full/src/CabalFull.hs index e5ae158..681e2ac 100644 --- a/summoner-cli/examples/cabal-full/src/CabalFull.hs +++ b/summoner-cli/examples/cabal-full/src/CabalFull.hs @@ -1,5 +1,5 @@ {- | -Copyright: (c) 2021 Kowainik +Copyright: (c) 2022 Kowainik SPDX-License-Identifier: BSD-3-Clause Maintainer: Kowainik diff --git a/summoner-cli/examples/cabal-minimal/cabal-minimal.cabal b/summoner-cli/examples/cabal-minimal/cabal-minimal.cabal index 370a894..e40c91f 100644 --- a/summoner-cli/examples/cabal-minimal/cabal-minimal.cabal +++ b/summoner-cli/examples/cabal-minimal/cabal-minimal.cabal @@ -8,14 +8,14 @@ description: license: NONE author: Kowainik maintainer: Kowainik -copyright: 2021 Kowainik +copyright: 2022 Kowainik build-type: Simple extra-doc-files: README.md CHANGELOG.md -tested-with: GHC == 8.10.7 +tested-with: GHC == 9.0.2 common common-options - build-depends: base ^>= 4.14.3.0 + build-depends: base ^>= 4.15.1.0 ghc-options: -Wall -Wcompat diff --git a/summoner-cli/examples/cabalScript.hs b/summoner-cli/examples/cabalScript.hs index 9913468..418a682 100644 --- a/summoner-cli/examples/cabalScript.hs +++ b/summoner-cli/examples/cabalScript.hs @@ -1,7 +1,7 @@ #!/usr/bin/env cabal {- cabal: build-depends: - , base ^>= 4.14.3.0 + , base ^>= 4.15.1.0 -} main :: IO () diff --git a/summoner-cli/examples/full-batteries/.github/workflows/ci.yml b/summoner-cli/examples/full-batteries/.github/workflows/ci.yml index ef9f548..a156969 100644 --- a/summoner-cli/examples/full-batteries/.github/workflows/ci.yml +++ b/summoner-cli/examples/full-batteries/.github/workflows/ci.yml @@ -24,7 +24,10 @@ jobs: - "8.6.5" - "8.8.4" - "8.10.7" + - "9.0.2" exclude: + - os: macOS-latest + ghc: 8.10.7 - os: macOS-latest ghc: 8.8.4 - os: macOS-latest @@ -35,6 +38,8 @@ jobs: ghc: 8.2.2 - os: macOS-latest ghc: 8.0.2 + - os: windows-latest + ghc: 8.10.7 - os: windows-latest ghc: 8.8.4 - os: windows-latest @@ -100,6 +105,7 @@ jobs: - "8.6.5" - "8.8.4" - "8.10.7" + - "9.0.2" steps: - uses: actions/checkout@v2 diff --git a/summoner-cli/examples/full-batteries/.travis.yml b/summoner-cli/examples/full-batteries/.travis.yml index 2b7c4cb..fd0e265 100644 --- a/summoner-cli/examples/full-batteries/.travis.yml +++ b/summoner-cli/examples/full-batteries/.travis.yml @@ -19,6 +19,7 @@ jobs: - ghc: 8.6.5 - ghc: 8.8.4 - ghc: 8.10.7 + - ghc: 9.0.2 - ghc: 8.0.2 env: STACK_YAML="$TRAVIS_BUILD_DIR/stack-8.0.2.yaml" @@ -36,6 +37,9 @@ jobs: env: STACK_YAML="$TRAVIS_BUILD_DIR/stack-8.8.4.yaml" - ghc: 8.10.7 + env: STACK_YAML="$TRAVIS_BUILD_DIR/stack-8.10.7.yaml" + + - ghc: 9.0.2 env: STACK_YAML="$TRAVIS_BUILD_DIR/stack.yaml" allow_failures: diff --git a/summoner-cli/examples/full-batteries/LICENSE b/summoner-cli/examples/full-batteries/LICENSE index 97a5699..7b1d56f 100644 --- a/summoner-cli/examples/full-batteries/LICENSE +++ b/summoner-cli/examples/full-batteries/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2021 Kowainik +Copyright (c) 2022 Kowainik Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/summoner-cli/examples/full-batteries/appveyor.yml b/summoner-cli/examples/full-batteries/appveyor.yml index bfec0f9..6148c71 100644 --- a/summoner-cli/examples/full-batteries/appveyor.yml +++ b/summoner-cli/examples/full-batteries/appveyor.yml @@ -21,12 +21,12 @@ environment: CABOPTS: --store-dir=C:\\SR matrix: - - GHCVER: 8.10.7 + - GHCVER: 9.0.2 install: - choco source add -n mistuke -s https://www.myget.org/F/mistuke/api/v2 - choco install -y cabal --version 3.6.2.0 - - choco install -y ghc --version 8.10.7 + - choco install -y ghc --version 9.0.2 - refreshenv before_build: diff --git a/summoner-cli/examples/full-batteries/full-batteries.cabal b/summoner-cli/examples/full-batteries/full-batteries.cabal index a39e68c..b64683f 100644 --- a/summoner-cli/examples/full-batteries/full-batteries.cabal +++ b/summoner-cli/examples/full-batteries/full-batteries.cabal @@ -11,7 +11,7 @@ license: MIT license-file: LICENSE author: Kowainik maintainer: Kowainik -copyright: 2021 Kowainik +copyright: 2022 Kowainik category: Testing build-type: Simple extra-doc-files: README.md @@ -22,13 +22,14 @@ tested-with: GHC == 8.0.2 GHC == 8.6.5 GHC == 8.8.4 GHC == 8.10.7 + GHC == 9.0.2 source-repository head type: git location: https://github.com/kowainik/full-batteries.git common common-options - build-depends: base >= 4.9.1.0 && < 4.15 + build-depends: base >= 4.9.1.0 && < 4.16 , relude mixins: base hiding (Prelude) diff --git a/summoner-cli/examples/full-batteries/src/FullBatteries.hs b/summoner-cli/examples/full-batteries/src/FullBatteries.hs index ee53034..f014193 100644 --- a/summoner-cli/examples/full-batteries/src/FullBatteries.hs +++ b/summoner-cli/examples/full-batteries/src/FullBatteries.hs @@ -1,5 +1,5 @@ {- | -Copyright: (c) 2021 Kowainik +Copyright: (c) 2022 Kowainik SPDX-License-Identifier: MIT Maintainer: Kowainik diff --git a/summoner-cli/examples/full-batteries/stack-8.10.7.yaml b/summoner-cli/examples/full-batteries/stack-8.10.7.yaml new file mode 100644 index 0000000..be9831c --- /dev/null +++ b/summoner-cli/examples/full-batteries/stack-8.10.7.yaml @@ -0,0 +1 @@ +resolver: lts-18.21 diff --git a/summoner-cli/examples/full-batteries/stack.yaml b/summoner-cli/examples/full-batteries/stack.yaml index 1970897..d52adb7 100644 --- a/summoner-cli/examples/full-batteries/stack.yaml +++ b/summoner-cli/examples/full-batteries/stack.yaml @@ -1 +1 @@ -resolver: lts-18.10 +resolver: nightly-2022-01-10 diff --git a/summoner-cli/examples/stack-full/.github/workflows/ci.yml b/summoner-cli/examples/stack-full/.github/workflows/ci.yml index 330c91f..941c523 100644 --- a/summoner-cli/examples/stack-full/.github/workflows/ci.yml +++ b/summoner-cli/examples/stack-full/.github/workflows/ci.yml @@ -21,6 +21,7 @@ jobs: - "8.6.5" - "8.8.4" - "8.10.7" + - "9.0.2" steps: - uses: actions/checkout@v2 diff --git a/summoner-cli/examples/stack-full/.travis.yml b/summoner-cli/examples/stack-full/.travis.yml index 401f99a..dcd8c03 100644 --- a/summoner-cli/examples/stack-full/.travis.yml +++ b/summoner-cli/examples/stack-full/.travis.yml @@ -23,6 +23,9 @@ jobs: env: STACK_YAML="$TRAVIS_BUILD_DIR/stack-8.8.4.yaml" - ghc: 8.10.7 + env: STACK_YAML="$TRAVIS_BUILD_DIR/stack-8.10.7.yaml" + + - ghc: 9.0.2 env: STACK_YAML="$TRAVIS_BUILD_DIR/stack.yaml" allow_failures: diff --git a/summoner-cli/examples/stack-full/LICENSE b/summoner-cli/examples/stack-full/LICENSE index e5e400d..fdc51b2 100644 --- a/summoner-cli/examples/stack-full/LICENSE +++ b/summoner-cli/examples/stack-full/LICENSE @@ -1,6 +1,6 @@ BSD 3-Clause License -Copyright (c) 2021, Kowainik +Copyright (c) 2022, Kowainik All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/summoner-cli/examples/stack-full/src/StackFull.hs b/summoner-cli/examples/stack-full/src/StackFull.hs index 7698076..de48bee 100644 --- a/summoner-cli/examples/stack-full/src/StackFull.hs +++ b/summoner-cli/examples/stack-full/src/StackFull.hs @@ -1,5 +1,5 @@ {- | -Copyright: (c) 2021 Kowainik +Copyright: (c) 2022 Kowainik SPDX-License-Identifier: BSD-3-Clause Maintainer: Kowainik diff --git a/summoner-cli/examples/stack-full/stack-8.10.7.yaml b/summoner-cli/examples/stack-full/stack-8.10.7.yaml new file mode 100644 index 0000000..be9831c --- /dev/null +++ b/summoner-cli/examples/stack-full/stack-8.10.7.yaml @@ -0,0 +1 @@ +resolver: lts-18.21 diff --git a/summoner-cli/examples/stack-full/stack-full.cabal b/summoner-cli/examples/stack-full/stack-full.cabal index d16d688..fd9c9d0 100644 --- a/summoner-cli/examples/stack-full/stack-full.cabal +++ b/summoner-cli/examples/stack-full/stack-full.cabal @@ -11,7 +11,7 @@ license: BSD-3-Clause license-file: LICENSE author: Kowainik maintainer: Kowainik -copyright: 2021 Kowainik +copyright: 2022 Kowainik category: Testing build-type: Simple extra-doc-files: README.md @@ -20,13 +20,14 @@ tested-with: GHC == 8.4.4 GHC == 8.6.5 GHC == 8.8.4 GHC == 8.10.7 + GHC == 9.0.2 source-repository head type: git location: https://github.com/kowainik/stack-full.git common common-options - build-depends: base >= 4.11.1.0 && < 4.15 + build-depends: base >= 4.11.1.0 && < 4.16 , relude mixins: base hiding (Prelude) diff --git a/summoner-cli/examples/stack-full/stack.yaml b/summoner-cli/examples/stack-full/stack.yaml index 1970897..d52adb7 100644 --- a/summoner-cli/examples/stack-full/stack.yaml +++ b/summoner-cli/examples/stack-full/stack.yaml @@ -1 +1 @@ -resolver: lts-18.10 +resolver: nightly-2022-01-10 diff --git a/summoner-cli/examples/stackScript.hs b/summoner-cli/examples/stackScript.hs index 376865d..9d38c00 100644 --- a/summoner-cli/examples/stackScript.hs +++ b/summoner-cli/examples/stackScript.hs @@ -1,6 +1,6 @@ #!/usr/bin/env stack {- stack - --resolver lts-18.10 + --resolver nightly-2022-01-10 script --package base -} diff --git a/summoner-cli/examples/summoner-default.toml b/summoner-cli/examples/summoner-default.toml index 5961a74..a358f12 100644 --- a/summoner-cli/examples/summoner-default.toml +++ b/summoner-cli/examples/summoner-default.toml @@ -48,9 +48,9 @@ license = "MIT" # travis = true # Travis CI # appveyor = true # AppVeyor CI -# List of additional GHC versions to support besides 8.10.7. +# List of additional GHC versions to support besides 9.0.2. # Run the 'summon show ghc' command to see the list of all supported GHC versions. -# ghcVersions = ["8.6.5", "8.8.4"] +# ghcVersions = ["8.8.4", "8.10.7"] # List of default-extensions in the .cabal file # extensions = [ "ConstraintKinds" diff --git a/summoner-cli/src/Summoner.hs b/summoner-cli/src/Summoner.hs index 69143cb..25a10b8 100644 --- a/summoner-cli/src/Summoner.hs +++ b/summoner-cli/src/Summoner.hs @@ -1,6 +1,6 @@ {- | Module : Summoner -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/CLI.hs b/summoner-cli/src/Summoner/CLI.hs index a7506b6..da93416 100644 --- a/summoner-cli/src/Summoner/CLI.hs +++ b/summoner-cli/src/Summoner/CLI.hs @@ -4,7 +4,7 @@ {- | Module : Summoner.CLI -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Config.hs b/summoner-cli/src/Summoner/Config.hs index 68417c8..0993269 100644 --- a/summoner-cli/src/Summoner/Config.hs +++ b/summoner-cli/src/Summoner/Config.hs @@ -8,7 +8,7 @@ {- | Module : Summoner.Config -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/CustomPrelude.hs b/summoner-cli/src/Summoner/CustomPrelude.hs index 496b4ae..00dd47f 100644 --- a/summoner-cli/src/Summoner/CustomPrelude.hs +++ b/summoner-cli/src/Summoner/CustomPrelude.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.CustomPrelude -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Decision.hs b/summoner-cli/src/Summoner/Decision.hs index 02ebbed..ea325d9 100644 --- a/summoner-cli/src/Summoner/Decision.hs +++ b/summoner-cli/src/Summoner/Decision.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Decision -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Default.hs b/summoner-cli/src/Summoner/Default.hs index 7749fa2..ff004cc 100644 --- a/summoner-cli/src/Summoner/Default.hs +++ b/summoner-cli/src/Summoner/Default.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Default -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/GhcVer.hs b/summoner-cli/src/Summoner/GhcVer.hs index e82d399..f1a2d47 100644 --- a/summoner-cli/src/Summoner/GhcVer.hs +++ b/summoner-cli/src/Summoner/GhcVer.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.GhcVer -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable @@ -36,6 +36,7 @@ data GhcVer | Ghc865 | Ghc884 | Ghc8107 + | Ghc902 deriving stock (Eq, Ord, Show, Enum, Bounded) -- | Converts 'GhcVer' into dot-separated string. @@ -47,6 +48,7 @@ showGhcVer = \case Ghc865 -> "8.6.5" Ghc884 -> "8.8.4" Ghc8107 -> "8.10.7" + Ghc902 -> "9.0.2" {- | These are old GHC versions that are not working with default GHC versions when using Stack. @@ -65,7 +67,8 @@ latestLts = \case Ghc844 -> "lts-12.26" Ghc865 -> "lts-14.27" Ghc884 -> "lts-16.31" - Ghc8107 -> "lts-18.10" + Ghc8107 -> "lts-18.21" + Ghc902 -> "nightly-2022-01-10" -- | Represents PVP versioning (4 numbers). data Pvp = Pvp @@ -88,6 +91,7 @@ baseVerPvp = \case Ghc865 -> Pvp 4 12 0 0 Ghc884 -> Pvp 4 13 0 0 Ghc8107 -> Pvp 4 14 3 0 + Ghc902 -> Pvp 4 15 1 0 -- | Returns corresponding @base@ version of the given GHC version. baseVer :: GhcVer -> Text diff --git a/summoner-cli/src/Summoner/Golden.hs b/summoner-cli/src/Summoner/Golden.hs index 90771c1..e05e301 100644 --- a/summoner-cli/src/Summoner/Golden.hs +++ b/summoner-cli/src/Summoner/Golden.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Golden -Copyright : (c) 2021 Kowainik +Copyright : (c) 2021-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable @@ -89,7 +89,7 @@ cabalMinimal = Settings , settingsDescription = "Minimal cabal-only test project" , settingsFullName = "Kowainik" , settingsEmail = "xrom.xkov@gmail.com" - , settingsYear = "2021" + , settingsYear = "2022" , settingsCategories = "" , settingsLicenseName = NONE , settingsLicenseText = "" @@ -120,7 +120,7 @@ cabalFull = Settings , settingsDescription = "Cabal-only example with all integrations" , settingsFullName = "Kowainik" , settingsEmail = "xrom.xkov@gmail.com" - , settingsYear = "2021" + , settingsYear = "2022" , settingsCategories = "Testing" , settingsLicenseName = BSD3 , settingsLicenseText = bsd3License @@ -151,7 +151,7 @@ stackFull = Settings , settingsDescription = "Stack-only example with all integrations" , settingsFullName = "Kowainik" , settingsEmail = "xrom.xkov@gmail.com" - , settingsYear = "2021" + , settingsYear = "2022" , settingsCategories = "Testing" , settingsLicenseName = BSD3 , settingsLicenseText = bsd3License @@ -182,7 +182,7 @@ fullBatteries = Settings , settingsDescription = "Full-featured test project" , settingsFullName = "Kowainik" , settingsEmail = "xrom.xkov@gmail.com" - , settingsYear = "2021" + , settingsYear = "2022" , settingsCategories = "Testing" , settingsLicenseName = MIT , settingsLicenseText = mitLicense @@ -215,7 +215,7 @@ fullBatteries = Settings mitLicense = License $ unlines [ "MIT License" , "" - , "Copyright (c) 2021 Kowainik" + , "Copyright (c) 2022 Kowainik" , "" , "Permission is hereby granted, free of charge, to any person obtaining a copy" , "of this software and associated documentation files (the " <> quote "Software" <> "), to deal" @@ -240,7 +240,7 @@ bsd3License :: License bsd3License = License $ unlines [ "BSD 3-Clause License" , "" - , "Copyright (c) 2021, Kowainik" + , "Copyright (c) 2022, Kowainik" , "All rights reserved." , "" , "Redistribution and use in source and binary forms, with or without" diff --git a/summoner-cli/src/Summoner/License.hs b/summoner-cli/src/Summoner/License.hs index b092265..7f95a18 100644 --- a/summoner-cli/src/Summoner/License.hs +++ b/summoner-cli/src/Summoner/License.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.License -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Mode.hs b/summoner-cli/src/Summoner/Mode.hs index 557c1c0..da91950 100644 --- a/summoner-cli/src/Summoner/Mode.hs +++ b/summoner-cli/src/Summoner/Mode.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Mode -Copyright : (c) 2020-2021 Kowainik +Copyright : (c) 2020-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Project.hs b/summoner-cli/src/Summoner/Project.hs index c46d195..1b83fd3 100644 --- a/summoner-cli/src/Summoner/Project.hs +++ b/summoner-cli/src/Summoner/Project.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Project -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Question.hs b/summoner-cli/src/Summoner/Question.hs index dd02b5a..eecf402 100644 --- a/summoner-cli/src/Summoner/Question.hs +++ b/summoner-cli/src/Summoner/Question.hs @@ -4,7 +4,7 @@ {- | Module : Summoner.Question -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Settings.hs b/summoner-cli/src/Summoner/Settings.hs index 0298bd1..d621f43 100644 --- a/summoner-cli/src/Summoner/Settings.hs +++ b/summoner-cli/src/Summoner/Settings.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Settings -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Source.hs b/summoner-cli/src/Summoner/Source.hs index 3acd762..392853f 100644 --- a/summoner-cli/src/Summoner/Source.hs +++ b/summoner-cli/src/Summoner/Source.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Source -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Template.hs b/summoner-cli/src/Summoner/Template.hs index e46ee7c..633cf74 100644 --- a/summoner-cli/src/Summoner/Template.hs +++ b/summoner-cli/src/Summoner/Template.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Template -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Template/Cabal.hs b/summoner-cli/src/Summoner/Template/Cabal.hs index 8669182..b53f1ab 100644 --- a/summoner-cli/src/Summoner/Template/Cabal.hs +++ b/summoner-cli/src/Summoner/Template/Cabal.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Template.Cabal -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Template/Doc.hs b/summoner-cli/src/Summoner/Template/Doc.hs index 7c07137..7b8f14e 100644 --- a/summoner-cli/src/Summoner/Template/Doc.hs +++ b/summoner-cli/src/Summoner/Template/Doc.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Template.Doc -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Template/GitHub.hs b/summoner-cli/src/Summoner/Template/GitHub.hs index aa49717..02e276f 100644 --- a/summoner-cli/src/Summoner/Template/GitHub.hs +++ b/summoner-cli/src/Summoner/Template/GitHub.hs @@ -2,7 +2,7 @@ {- | Module : Summoner.Template.GitHub -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Template/Haskell.hs b/summoner-cli/src/Summoner/Template/Haskell.hs index c460e9c..9d31749 100644 --- a/summoner-cli/src/Summoner/Template/Haskell.hs +++ b/summoner-cli/src/Summoner/Template/Haskell.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Template.Haskell -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Template/Script.hs b/summoner-cli/src/Summoner/Template/Script.hs index 2ece5ec..342c74b 100644 --- a/summoner-cli/src/Summoner/Template/Script.hs +++ b/summoner-cli/src/Summoner/Template/Script.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Template.Script -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Template/Stack.hs b/summoner-cli/src/Summoner/Template/Stack.hs index 36810f0..3a9a102 100644 --- a/summoner-cli/src/Summoner/Template/Stack.hs +++ b/summoner-cli/src/Summoner/Template/Stack.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Template.Stack -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Text.hs b/summoner-cli/src/Summoner/Text.hs index 29cd406..1e09cef 100644 --- a/summoner-cli/src/Summoner/Text.hs +++ b/summoner-cli/src/Summoner/Text.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Text -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/src/Summoner/Tree.hs b/summoner-cli/src/Summoner/Tree.hs index b6b172e..9512e52 100644 --- a/summoner-cli/src/Summoner/Tree.hs +++ b/summoner-cli/src/Summoner/Tree.hs @@ -2,7 +2,7 @@ {- | Module : Summoner.Tree -Copyright : (c) 2017-2021 Kowainik +Copyright : (c) 2017-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-cli/summoner.cabal b/summoner-cli/summoner.cabal index b200fe8..759e628 100644 --- a/summoner-cli/summoner.cabal +++ b/summoner-cli/summoner.cabal @@ -10,7 +10,7 @@ license: MPL-2.0 license-file: LICENSE author: Veronika Romashkina, Dmitrii Kovanikov maintainer: Kowainik -copyright: 2018-2021 Kowainik +copyright: 2018-2022 Kowainik category: CLI, CLI Tool, Development build-type: Simple stability: stable @@ -20,7 +20,7 @@ tested-with: GHC == 8.4.4 GHC == 8.6.5 GHC == 8.8.4 GHC == 8.10.7 - GHC == 9.0.1 + GHC == 9.0.2 extra-source-files: examples/summoner-default.toml @@ -148,13 +148,13 @@ library build-depends: colourista ^>= 0.1.0.1 , directory ^>= 1.3.0.2 , filepath ^>= 1.4.1.2 - , generic-data ^>= 0.8.0.0 + , generic-data >= 0.8.0.0 && < 0.10 , gitrev ^>= 1.3.1 , microaeson ^>= 0.1.0.0 , optparse-applicative ^>= 0.16 , process ^>= 1.6.1.0 , shellmet ^>= 0.0.3.0 - , time >= 1.8 && < 1.11 + , time >= 1.8 && < 1.14 , tomland ^>= 1.3.0.0 , validation-selective ^>= 0.1.0.0 diff --git a/summoner-cli/test/Test/Show.hs b/summoner-cli/test/Test/Show.hs index eb4a700..5ed6716 100644 --- a/summoner-cli/test/Test/Show.hs +++ b/summoner-cli/test/Test/Show.hs @@ -19,5 +19,6 @@ goldenGhcTable = , "GHC-8.4.4 base-4.11.1.0 lts-12.26" , "GHC-8.6.5 base-4.12.0.0 lts-14.27" , "GHC-8.8.4 base-4.13.0.0 lts-16.31" - , "GHC-8.10.7 base-4.14.3.0 lts-18.10" + , "GHC-8.10.7 base-4.14.3.0 lts-18.21" + , "GHC-9.0.2 base-4.15.1.0 nightly-2022-01-10" ] diff --git a/summoner-tui/src/Summoner/Tui.hs b/summoner-tui/src/Summoner/Tui.hs index 7255bae..8c0d7cf 100644 --- a/summoner-tui/src/Summoner/Tui.hs +++ b/summoner-tui/src/Summoner/Tui.hs @@ -3,7 +3,7 @@ {- | Module : Summoner.Tui -Copyright : (c) 2018-2021 Kowainik +Copyright : (c) 2018-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-tui/src/Summoner/Tui/Field.hs b/summoner-tui/src/Summoner/Tui/Field.hs index 255e83a..07e9246 100644 --- a/summoner-tui/src/Summoner/Tui/Field.hs +++ b/summoner-tui/src/Summoner/Tui/Field.hs @@ -2,7 +2,7 @@ {- | Module : Summoner.Tui.Field -Copyright : (c) 2018-2021 Kowainik +Copyright : (c) 2018-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-tui/src/Summoner/Tui/Form.hs b/summoner-tui/src/Summoner/Tui/Form.hs index e91a5f7..1db0d67 100644 --- a/summoner-tui/src/Summoner/Tui/Form.hs +++ b/summoner-tui/src/Summoner/Tui/Form.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Tui.Form -Copyright : (c) 2018-2021 Kowainik +Copyright : (c) 2018-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-tui/src/Summoner/Tui/GroupBorder.hs b/summoner-tui/src/Summoner/Tui/GroupBorder.hs index 615edb1..762ed5a 100644 --- a/summoner-tui/src/Summoner/Tui/GroupBorder.hs +++ b/summoner-tui/src/Summoner/Tui/GroupBorder.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Tui.GroupBorder -Copyright : (c) 2018-2021 Kowainik +Copyright : (c) 2018-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-tui/src/Summoner/Tui/Kit.hs b/summoner-tui/src/Summoner/Tui/Kit.hs index 911066e..b0b2313 100644 --- a/summoner-tui/src/Summoner/Tui/Kit.hs +++ b/summoner-tui/src/Summoner/Tui/Kit.hs @@ -5,7 +5,7 @@ {- | Module : Summoner.Tui.Kit -Copyright : (c) 2018-2021 Kowainik +Copyright : (c) 2018-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-tui/src/Summoner/Tui/Validation.hs b/summoner-tui/src/Summoner/Tui/Validation.hs index 1c19da8..dfcffdf 100644 --- a/summoner-tui/src/Summoner/Tui/Validation.hs +++ b/summoner-tui/src/Summoner/Tui/Validation.hs @@ -2,7 +2,7 @@ {- | Module : Summoner.Tui.Validation -Copyright : (c) 2018-2021 Kowainik +Copyright : (c) 2018-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-tui/src/Summoner/Tui/Widget.hs b/summoner-tui/src/Summoner/Tui/Widget.hs index 1c468f6..3f15987 100644 --- a/summoner-tui/src/Summoner/Tui/Widget.hs +++ b/summoner-tui/src/Summoner/Tui/Widget.hs @@ -1,6 +1,6 @@ {- | Module : Summoner.Tui.Widget -Copyright : (c) 2018-2021 Kowainik +Copyright : (c) 2018-2022 Kowainik SPDX-License-Identifier : MPL-2.0 Maintainer : Kowainik Stability : Stable diff --git a/summoner-tui/summoner-tui.cabal b/summoner-tui/summoner-tui.cabal index b297265..051ac67 100644 --- a/summoner-tui/summoner-tui.cabal +++ b/summoner-tui/summoner-tui.cabal @@ -10,7 +10,7 @@ license: MPL-2.0 license-file: LICENSE author: Veronika Romashkina, Dmitrii Kovanikov maintainer: Kowainik -copyright: 2018-2021 Kowainik +copyright: 2018-2022 Kowainik category: TUI, TUI Tool, Development build-type: Simple stability: experimental @@ -20,7 +20,7 @@ tested-with: GHC == 8.4.4 GHC == 8.6.5 GHC == 8.8.4 GHC == 8.10.7 - GHC == 9.0.1 + GHC == 9.0.2 source-repository head type: git @@ -80,7 +80,7 @@ library autogen-modules: Paths_summoner_tui other-modules: Paths_summoner_tui - build-depends: brick >= 0.56 && < 0.65 + build-depends: brick >= 0.56 && < 0.66 , colourista ^>= 0.1 , directory ^>= 1.3.0.2 , microlens ^>= 0.4