Un-ignore .bat files
[cabal.git] / cabal-testsuite / PackageTests / SetupHooks / SetupHooksUnusedRules / SetupHooks.hs
blobbae5ace431d5d102c18ec83d4fc57cab38656953
1 {-# LANGUAGE DeriveTraversable #-}
2 {-# LANGUAGE DuplicateRecordFields #-}
3 {-# LANGUAGE OverloadedStrings #-}
4 {-# LANGUAGE StaticPointers #-}
6 module SetupHooks where
8 import Distribution.Simple.LocalBuildInfo (interpretSymbolicPathLBI)
9 import Distribution.Simple.SetupHooks
10 import Distribution.Utils.Path (makeRelativePathEx)
12 import qualified Data.List.NonEmpty as NE ( NonEmpty(..) )
14 setupHooks :: SetupHooks
15 setupHooks =
16 noSetupHooks
17 { buildHooks =
18 noBuildHooks
19 { preBuildComponentRules = Just $ rules (static ()) unusedPreBuildRules
23 unusedPreBuildRules :: PreBuildComponentInputs -> RulesM ()
24 unusedPreBuildRules (PreBuildComponentInputs { localBuildInfo = lbi, targetInfo = tgt }) = do
25 let clbi = targetCLBI tgt
26 autogenDir = autogenComponentModulesDir lbi clbi
27 action = mkCommand (static Dict) (static (\ _ -> error "This should not run")) ()
28 registerRule_ "r1" $
29 staticRule action []
30 ( Location autogenDir (makeRelativePathEx "X.hs") NE.:| [ Location autogenDir (makeRelativePathEx "Y.hs") ] )
31 registerRule_ "r2" $
32 staticRule action []
33 ( Location autogenDir (makeRelativePathEx "Z.hs") NE.:| [] )