shake-plus-extended 0.4.0.0 → 0.4.1.0
raw patch · 4 files changed
+25/−13 lines, 4 files
Files
- ChangeLog.md +4/−0
- shake-plus-extended.cabal +1/−1
- src/Development/Shake/Plus/Extended/Loaders.hs +1/−1
- src/Development/Shake/Plus/Extended/Simple.hs +19/−11
ChangeLog.md view
@@ -1,5 +1,9 @@ # Changelog for shake-plus-extended +## V0.4.1.0++* Add `runLoggedShakeForward`.+ ## v0.4.0.0 * Add `Development.Shake.Plus.Extended.Conduit" with conduit oracle.
shake-plus-extended.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: shake-plus-extended-version: 0.4.0.0+version: 0.4.1.0 synopsis: Experimental extensions to shake-plus description: Experimental extensions to shake-plus - `within`-style file rules, HashMap and IxSet batch loaders. category: development, shake
src/Development/Shake/Plus/Extended/Loaders.hs view
@@ -74,4 +74,4 @@ -> Path Rel Dir -> [FilePattern] -> m (Ix.IxSet ixs x)-batchLoadIndex' proxy rd dir fp = Ix.fromList . HM.elems <$> batchLoad dir fp rd+batchLoadIndex' _ rd dir fp = Ix.fromList . HM.elems <$> batchLoad dir fp rd
src/Development/Shake/Plus/Extended/Simple.hs view
@@ -11,12 +11,13 @@ SimpleSPlusEnv(..) , runLoggedShakePlus , runSimpleShakePlus+, runLoggedShakeForward ) where -import Control.Exception-import Development.Shake.Plus-import Development.Shake.Plus.Extended.FileRules-import RIO+import Development.Shake.Plus+import Development.Shake.Plus.Forward+import Development.Shake.Plus.Extended.FileRules+import RIO data SimpleSPlusEnv = SimpleSPlusEnv { logFunc :: LogFunc@@ -30,19 +31,26 @@ localOutL = lens localOut (\x y -> x { localOut = y}) -- | Run a `ShakePlus` with just a `LogFunc` in the environment that logs to stderr.-runLoggedShakePlus :: MonadIO m => ShakePlus LogFunc a -> m ()-runLoggedShakePlus m = do+runLoggedShakePlus :: MonadIO m => ShakeOptions -> ShakePlus LogFunc a -> m ()+runLoggedShakePlus opts m = do lo <- logOptionsHandle stderr True (lf, dlf) <- newLogFunc (setLogMinLevel LevelInfo lo)- liftIO $ shakeArgs shakeOptions $ void $ runShakePlus lf m+ liftIO $ shakeArgs opts $ void $ runShakePlus lf m dlf - -- | Run a `ShakePlus` with just a `SimpleSPlusEnv`.-runSimpleShakePlus :: MonadIO m => Path Rel Dir -> ShakePlus SimpleSPlusEnv a -> m ()-runSimpleShakePlus outputFolder m = do+runSimpleShakePlus :: MonadIO m => Path Rel Dir -> ShakeOptions -> ShakePlus SimpleSPlusEnv a -> m ()+runSimpleShakePlus outputFolder opts m = do lo <- logOptionsHandle stderr True (lf, dlf) <- newLogFunc (setLogMinLevel LevelInfo lo) let env = SimpleSPlusEnv lf outputFolder- liftIO $ shakeArgs shakeOptions $ void $ runShakePlus env m+ liftIO $ shakeArgs opts $ void $ runShakePlus env m+ dlf++-- | Run an `RAction` in forward mode.+runLoggedShakeForward :: MonadIO m => ShakeOptions -> RAction LogFunc () -> m ()+runLoggedShakeForward opts m = do+ lo <- logOptionsHandle stderr True+ (lf, dlf) <- newLogFunc (setLogMinLevel LevelInfo lo)+ shakeArgsForward opts lf m dlf