packages feed

uniform-shake-0.1.5.1: src/Uniform/Shake/Path.hs

{-# LANGUAGE FlexibleContexts      #-}
{-# LANGUAGE FlexibleInstances     #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE ScopedTypeVariables   #-}
{-# LANGUAGE TypeFamilies          #-}
{-# LANGUAGE TypeSynonymInstances  #-}
{-# LANGUAGE OverloadedStrings
    , RecordWildCards
    , AllowAmbiguousTypes     #-}

{-# LANGUAGE DeriveGeneric, DeriveAnyClass #-}

module Uniform.Shake.Path
    where

import           Development.Shake
import UniformBase
import Uniform.Json 
 


getHashedShakeVersionP :: [Path r File] -> IO String
getHashedShakeVersionP = getHashedShakeVersion . map toFilePath
                                                
needP :: [Path r File] -> Action ()
needP = need . map toFilePath

wantP :: [Path r File] -> Rules ()
wantP = want . map toFilePath

($%>) :: Path r File -> Action () -> Rules ()
p $%> a = toFilePath p %> const a


($&%>) :: [Path r File] -> Action () -> Rules ()
ps $&%> a = map toFilePath ps &%> const a


orderOnlyP :: [Path r File] -> Action ()
orderOnlyP = orderOnly . map toFilePath