module Seed where
import Compiler.Types
import Deployer.Types
import Language.Types
import Monad
import System.Directory (getCurrentDirectory)
import System.FilePath (takeDirectory, (</>))
import Types
seedByCompiledCardRef :: DeployerCardReference -> [Deployment] -> Sparker [Deployment]
seedByCompiledCardRef (DeployerCardCompiled fp) = seedByRel fp
seedByCompiledCardRef (DeployerCardUncompiled (CardFileReference fp _)) = seedByRel fp
seedByRel :: FilePath -> [Deployment] -> Sparker [Deployment]
seedByRel file ds = do
cur <- liftIO $ getCurrentDirectory
let reldir = takeDirectory file
return $ seed (cur </> reldir) ds
seed :: FilePath -> [Deployment] -> [Deployment]
seed fp = map (\d -> d { deployment_srcs = map seedsrc $ deployment_srcs d })
where
seedsrc :: FilePath -> FilePath
seedsrc = (fp </>)