cabal-install-3.6.0.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))