module Hix.Managed.Data.ProjectContextProto where import Data.Aeson (FromJSON) import Hix.Managed.Data.EnvConfig (EnvConfig) import Hix.Managed.Data.Envs (Envs) import Hix.Managed.Data.ManagedPackageProto (ManagedPackageProto) import Hix.Managed.Data.Packages (Packages) import Hix.Managed.Data.ProjectStateProto (ProjectStateProto) import Hix.Managed.Handlers.Build (BuildOutputsPrefix) data ProjectContextProto = ProjectContextProto { ProjectContextProto -> Packages ManagedPackageProto packages :: Packages ManagedPackageProto, ProjectContextProto -> ProjectStateProto state :: ProjectStateProto, ProjectContextProto -> Envs EnvConfig envs :: Envs EnvConfig, ProjectContextProto -> Maybe BuildOutputsPrefix buildOutputsPrefix :: Maybe BuildOutputsPrefix } deriving stock (ProjectContextProto -> ProjectContextProto -> Bool (ProjectContextProto -> ProjectContextProto -> Bool) -> (ProjectContextProto -> ProjectContextProto -> Bool) -> Eq ProjectContextProto forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a $c== :: ProjectContextProto -> ProjectContextProto -> Bool == :: ProjectContextProto -> ProjectContextProto -> Bool $c/= :: ProjectContextProto -> ProjectContextProto -> Bool /= :: ProjectContextProto -> ProjectContextProto -> Bool Eq, Int -> ProjectContextProto -> ShowS [ProjectContextProto] -> ShowS ProjectContextProto -> String (Int -> ProjectContextProto -> ShowS) -> (ProjectContextProto -> String) -> ([ProjectContextProto] -> ShowS) -> Show ProjectContextProto forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a $cshowsPrec :: Int -> ProjectContextProto -> ShowS showsPrec :: Int -> ProjectContextProto -> ShowS $cshow :: ProjectContextProto -> String show :: ProjectContextProto -> String $cshowList :: [ProjectContextProto] -> ShowS showList :: [ProjectContextProto] -> ShowS Show, (forall x. ProjectContextProto -> Rep ProjectContextProto x) -> (forall x. Rep ProjectContextProto x -> ProjectContextProto) -> Generic ProjectContextProto forall x. Rep ProjectContextProto x -> ProjectContextProto forall x. ProjectContextProto -> Rep ProjectContextProto x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cfrom :: forall x. ProjectContextProto -> Rep ProjectContextProto x from :: forall x. ProjectContextProto -> Rep ProjectContextProto x $cto :: forall x. Rep ProjectContextProto x -> ProjectContextProto to :: forall x. Rep ProjectContextProto x -> ProjectContextProto Generic) deriving anyclass (Maybe ProjectContextProto Value -> Parser [ProjectContextProto] Value -> Parser ProjectContextProto (Value -> Parser ProjectContextProto) -> (Value -> Parser [ProjectContextProto]) -> Maybe ProjectContextProto -> FromJSON ProjectContextProto forall a. (Value -> Parser a) -> (Value -> Parser [a]) -> Maybe a -> FromJSON a $cparseJSON :: Value -> Parser ProjectContextProto parseJSON :: Value -> Parser ProjectContextProto $cparseJSONList :: Value -> Parser [ProjectContextProto] parseJSONList :: Value -> Parser [ProjectContextProto] $comittedField :: Maybe ProjectContextProto omittedField :: Maybe ProjectContextProto FromJSON) instance Default ProjectContextProto where def :: ProjectContextProto def = ProjectContextProto { packages :: Packages ManagedPackageProto packages = Packages ManagedPackageProto forall a. Monoid a => a mempty, state :: ProjectStateProto state = ProjectStateProto forall a. Default a => a def, envs :: Envs EnvConfig envs = Envs EnvConfig forall a. Monoid a => a mempty, buildOutputsPrefix :: Maybe BuildOutputsPrefix buildOutputsPrefix = Maybe BuildOutputsPrefix forall a. Maybe a Nothing }