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