{-# LANGUAGE OverloadedStrings #-} {-| This module is just for parsing and generating gipeda.yaml files. It should probably replaced by a reference to gipeda, but it works for now. The raison d'ĂȘtre is @settingsForRepo@. -} module FeedGipeda.Gipeda ( GipedaSettings (..) , BenchmarkSettings (..) , settingsForRepo , determineBenchmarkScript ) where import Control.Applicative import Data.Aeson (withArray, withObject) import Data.Functor import Data.Maybe (catMaybes, fromMaybe) import Data.String (fromString) import Data.Yaml (FromJSON (..), ToJSON (..), (.:), (.=)) import qualified Data.Yaml as Yaml import FeedGipeda.GitShell (SHA) import qualified FeedGipeda.GitShell as GitShell import FeedGipeda.Repo (Repo) import qualified FeedGipeda.Repo as Repo import System.Directory (doesFileExist) import Text.Printf (printf) {-| Models the possible settings in a @gipeda.yaml@ file, as expected to be present by @gipeda@. -} data GipedaSettings = GipedaSettings { title :: String -- ^ Sets the repo-specific