Skip to content

Commit

Permalink
Fix parsing of library-coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
jgotoh committed Apr 2, 2024
1 parent ff37c3e commit e12f848
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@ module Distribution.Client.ProjectConfig.FieldGrammar

import qualified Data.ByteString.Char8 as BS
import qualified Data.Set as Set
import Distribution.CabalSpecVersion (CabalSpecVersion (..))
import qualified Distribution.Client.ProjectConfig.Lens as L
import Distribution.Client.ProjectConfig.Types (PackageConfig (..), ProjectConfig (..), ProjectConfigBuildOnly (..), ProjectConfigProvenance (..), ProjectConfigShared (..))
import Distribution.Client.Utils.Parsec
import Distribution.Compat.Prelude
import Distribution.FieldGrammar
import Distribution.Simple.Flag
import Distribution.Solver.Types.ConstraintSource (ConstraintSource (..))
import Distribution.Types.PackageVersionConstraint (PackageVersionConstraint (..))

Expand Down Expand Up @@ -140,7 +142,7 @@ packageConfigFieldGrammar knownPrograms =
<*> optionalFieldDef "library-stripping" L.packageConfigStripLibs mempty
<*> optionalFieldDef "tests" L.packageConfigTests mempty
<*> optionalFieldDef "benchmarks" L.packageConfigBenchmarks mempty
<*> optionalFieldDef "coverage" L.packageConfigCoverage mempty
<*> packageConfigCoverageGrammar
<*> optionalFieldDef "relocatable" L.packageConfigRelocatable mempty
<*> optionalFieldDef "debug-info" L.packageConfigDebugInfo mempty
<*> optionalFieldDef "build-info" L.packageConfigDumpBuildInfo mempty
Expand Down Expand Up @@ -176,3 +178,10 @@ packageConfigFieldGrammar knownPrograms =
-- When declared at top level (packageConfigLocalPackages), the PackageConfig must contain a program-options stanza/program-locations for these fields.
<* traverse_ (knownField . BS.pack . (<> "-options")) knownPrograms
<* traverse_ (knownField . BS.pack . (<> "-location")) knownPrograms

packageConfigCoverageGrammar :: ParsecFieldGrammar PackageConfig (Distribution.Simple.Flag.Flag Bool)
packageConfigCoverageGrammar =
(<>)
<$> optionalFieldDef "library-coverage" L.packageConfigCoverage mempty
^^^ deprecatedSince CabalSpecV1_22 "Please use 'coverage' field instead."
<*> optionalFieldDef "coverage" L.packageConfigCoverage mempty
1 change: 1 addition & 0 deletions cabal-testsuite/PackageTests/Regression/T5213/cabal.out
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# cabal new-test
Warning: <ROOT>/cabal.project:4:3: The field "library-coverage" is deprecated in the Cabal specification version 1.22. Please use 'coverage' field instead.
Resolving dependencies...
Build profile: -w ghc-<GHCVER> -O1
In order, the following will be built:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
packages: .

package cabal-gh5213
library-coverage: true
library-coverage: True

0 comments on commit e12f848

Please sign in to comment.