This module helps to automatically generate code for importing all the haskell files from directories.
For cabal inited project, we customize Setup.hs
file to generate the importing code.
-
Be sure to modify the
build-type
field in the.cabal
file fromSimple
toCustom
. -
Then modify the
main
function inSetup.hs
to generate importing code by either header file or a module file.Setup.hs:
import Distribution.Simple import System.Imports (writeImportsHeader, writeImportsModule) main = do writeImportsHeader "imports.header" "Export" "Some.Where" "Some/Where" -- or writeImportsModule "ImportAll.hs" "ImportAll" "Some.Where" "Some/Where" defaultMain
Target.hs: (by header)
{-# LANGUAGE CPP #-} module Target where #include "imports.header" func = Export.funcFromSomeWhere
Target.hs: (by module)
module Target where import qualified ImportAll func = ImportAll.funcFromSomeWhere
Copyright 2015, Cindy Wang (CindyLinz) Licensed under the MIT license.