cabal-install-3.12.1.0: src/Distribution/Client/BuildReports/Lens.hs
module Distribution.Client.BuildReports.Lens
( BuildReport
, module Distribution.Client.BuildReports.Lens
) where
import Distribution.Client.Compat.Prelude
import Distribution.Compat.Lens
import Prelude ()
import Distribution.Client.BuildReports.Types (BuildReport, InstallOutcome, Outcome)
import Distribution.Compiler (CompilerId)
import Distribution.System (Arch, OS)
import Distribution.Types.Flag (FlagAssignment)
import Distribution.Types.PackageId (PackageIdentifier)
import qualified Distribution.Client.BuildReports.Types as T
package :: Lens' BuildReport PackageIdentifier
package f s = fmap (\x -> s{T.package = x}) (f (T.package s))
os :: Lens' BuildReport OS
os f s = fmap (\x -> s{T.os = x}) (f (T.os s))
arch :: Lens' BuildReport Arch
arch f s = fmap (\x -> s{T.arch = x}) (f (T.arch s))
compiler :: Lens' BuildReport CompilerId
compiler f s = fmap (\x -> s{T.compiler = x}) (f (T.compiler s))
client :: Lens' BuildReport PackageIdentifier
client f s = fmap (\x -> s{T.client = x}) (f (T.client s))
flagAssignment :: Lens' BuildReport FlagAssignment
flagAssignment f s = fmap (\x -> s{T.flagAssignment = x}) (f (T.flagAssignment s))
dependencies :: Lens' BuildReport [PackageIdentifier]
dependencies f s = fmap (\x -> s{T.dependencies = x}) (f (T.dependencies s))
installOutcome :: Lens' BuildReport InstallOutcome
installOutcome f s = fmap (\x -> s{T.installOutcome = x}) (f (T.installOutcome s))
docsOutcome :: Lens' BuildReport Outcome
docsOutcome f s = fmap (\x -> s{T.docsOutcome = x}) (f (T.docsOutcome s))
testsOutcome :: Lens' BuildReport Outcome
testsOutcome f s = fmap (\x -> s{T.testsOutcome = x}) (f (T.testsOutcome s))