aboutsummaryrefslogtreecommitdiff
path: root/src/CabalHelper/Compiletime/Types.hs
diff options
context:
space:
mode:
authorDaniel Gröber <dxld@darkboxed.org>2019-08-07 19:04:12 +0200
committerDaniel Gröber (dxld) <dxld@darkboxed.org>2019-09-17 17:48:26 +0200
commit9cb1c594fa944bdaba84de69e35118430b5590cf (patch)
treeec2ef74370ad6640caf9b3afd9d57b8e63acc777 /src/CabalHelper/Compiletime/Types.hs
parentaad828c48f26ea6febaabf37632b0e45868db895 (diff)
Break cycle between 'Package' and 'Unit'
Diffstat (limited to 'src/CabalHelper/Compiletime/Types.hs')
-rw-r--r--src/CabalHelper/Compiletime/Types.hs8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/CabalHelper/Compiletime/Types.hs b/src/CabalHelper/Compiletime/Types.hs
index d206cf0..44849f5 100644
--- a/src/CabalHelper/Compiletime/Types.hs
+++ b/src/CabalHelper/Compiletime/Types.hs
@@ -279,14 +279,16 @@ data QueryCache pt = QueryCache
newtype DistDirLib = DistDirLib FilePath
deriving (Eq, Ord, Read, Show)
+type Package pt = Package' (NonEmpty (Unit pt))
+
-- | A 'Package' is a named collection of many 'Unit's.
-data Package pt = Package
+data Package' units = Package
{ pPackageName :: !String
, pSourceDir :: !FilePath
, pCabalFile :: !CabalFile
, pFlags :: ![(String, Bool)]
-- | Cabal flags to set when configuring and building this package.
- , pUnits :: !(NonEmpty (Unit pt))
+ , pUnits :: !units
} deriving (Show)
-- | A 'Unit' is essentially a "build target". It is used to refer to a set
@@ -303,7 +305,7 @@ data Package pt = Package
-- was created in. However this is not enforced by the API.
data Unit pt = Unit
{ uUnitId :: !UnitId
- , uPackage :: !(Package pt)
+ , uPackage :: !(Package' ())
, uDistDir :: !DistDirLib
, uImpl :: !(UnitImpl pt)
} deriving (Show)