Skip to content

Commit c0c20e1

Browse files
committed
Add ProjectConfigBuildOnly FieldGrammar draft
1 parent 209e809 commit c0c20e1

File tree

3 files changed

+29
-3
lines changed

3 files changed

+29
-3
lines changed

cabal-install/src/Distribution/Client/ProjectConfig.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ module Distribution.Client.ProjectConfig (
1515

1616
-- * Types for project config
1717
ProjectConfig(..),
18+
ProjectConfigSkeleton,
1819
ProjectConfigBuildOnly(..),
1920
ProjectConfigShared(..),
2021
ProjectConfigProvenance(..),

cabal-install/src/Distribution/Client/ProjectConfig/FieldGrammar.hs

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,22 @@ module Distribution.Client.ProjectConfig.FieldGrammar (
55
) where
66

77
import Distribution.Compat.Prelude
8-
import Distribution.Client.ProjectConfig.Legacy (ProjectConfigSkeleton)
98
import qualified Distribution.Client.ProjectConfig.Lens as L
10-
import Distribution.Client.ProjectConfig.Types (ProjectConfig (..))
9+
import Distribution.Client.ProjectConfig.Types (ProjectConfig (..), ProjectConfigBuildOnly (..))
1110
import Distribution.FieldGrammar
11+
import Distribution.Simple.Flag
1212
import Distribution.Types.PackageVersionConstraint (PackageVersionConstraint (..))
13+
import Distribution.Verbosity
14+
import Distribution.Client.Utils.Parsec
15+
1316

1417
projectConfigFieldGrammar :: ParsecFieldGrammar' ProjectConfig
1518
projectConfigFieldGrammar = ProjectConfig
1619
<$> monoidalFieldAla "packages" (alaList' FSep Token') L.projectPackages
1720
<*> monoidalFieldAla "optional-packages" (alaList' FSep Token') L.projectPackagesOptional
1821
<*> pure mempty -- source-repository-package stanza
1922
<*> monoidalFieldAla "extra-packages" formatPackagesNamedList L.projectPackagesNamed
20-
<*> pure mempty
23+
<*> blurFieldGrammar L.projectConfigBuildOnly projectConfigBuildOnlyFieldGrammar
2124
<*> pure mempty
2225
<*> pure mempty
2326
<*> pure mempty
@@ -27,3 +30,24 @@ projectConfigFieldGrammar = ProjectConfig
2730
formatPackagesNamedList :: [PackageVersionConstraint] -> List CommaVCat (Identity PackageVersionConstraint) PackageVersionConstraint
2831
formatPackagesNamedList = alaList CommaVCat
2932

33+
projectConfigBuildOnlyFieldGrammar :: ParsecFieldGrammar' ProjectConfigBuildOnly
34+
projectConfigBuildOnlyFieldGrammar = ProjectConfigBuildOnly
35+
<$> optionalFieldDef "verbose" L.projectConfigVerbosity (pure normal)
36+
<*> pure (toFlag False) -- cli flag: projectConfigDryRun
37+
<*> pure (toFlag False) -- cli flag: projectConfigOnlyDeps
38+
<*> pure (toFlag False) -- cli flag: projectConfigOnlyDownload
39+
<*> monoidalFieldAla "build-summary" (alaNubList VCat) L.projectConfigSummaryFile
40+
<*> undefined
41+
<*> undefined
42+
<*> undefined
43+
<*> undefined
44+
<*> undefined
45+
<*> undefined
46+
<*> undefined
47+
<*> undefined
48+
<*> undefined
49+
<*> undefined
50+
<*> undefined
51+
<*> undefined
52+
<*> undefined
53+

cabal-install/src/Distribution/Client/ProjectConfig/Legacy.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ module Distribution.Client.ProjectConfig.Legacy (
1111
instantiateProjectConfigSkeletonWithCompiler,
1212
singletonProjectConfigSkeleton,
1313
projectSkeletonImports,
14+
ProjectConfigImport,
1415

1516
-- * Project config in terms of legacy types
1617
LegacyProjectConfig,

0 commit comments

Comments
 (0)