conduit-extra 1.3.3 → 1.3.4
raw patch · 3 files changed
+12/−7 lines, 3 filesdep ~typed-processPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: typed-process
API changes (from Hackage documentation)
- Data.Conduit.Process.Typed: ByteStringOutputException :: SomeException -> ProcessConfig () () () -> ByteStringOutputException
- Data.Conduit.Process.Typed: ExitCodeException :: ExitCode -> ProcessConfig () () () -> ByteString -> ByteString -> ExitCodeException
- Data.Conduit.Process.Typed: STInput :: StreamType
- Data.Conduit.Process.Typed: STOutput :: StreamType
- Data.Conduit.Process.Typed: [eceExitCode] :: ExitCodeException -> ExitCode
- Data.Conduit.Process.Typed: [eceProcessConfig] :: ExitCodeException -> ProcessConfig () () ()
- Data.Conduit.Process.Typed: [eceStderr] :: ExitCodeException -> ByteString
- Data.Conduit.Process.Typed: [eceStdout] :: ExitCodeException -> ByteString
- Data.Conduit.Process.Typed: byteStringInput :: ByteString -> StreamSpec STInput ()
- Data.Conduit.Process.Typed: byteStringOutput :: StreamSpec STOutput (STM ByteString)
- Data.Conduit.Process.Typed: checkExitCode :: MonadIO m => Process stdin stdout stderr -> m ()
- Data.Conduit.Process.Typed: checkExitCodeSTM :: () => Process stdin stdout stderr -> STM ()
- Data.Conduit.Process.Typed: closed :: () => StreamSpec anyStreamType ()
- Data.Conduit.Process.Typed: createPipe :: () => StreamSpec anyStreamType Handle
- Data.Conduit.Process.Typed: data ByteStringOutputException
- Data.Conduit.Process.Typed: data ExitCodeException
- Data.Conduit.Process.Typed: data Process stdin stdout stderr
- Data.Conduit.Process.Typed: data ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: data StreamSpec (streamType :: StreamType) a
- Data.Conduit.Process.Typed: data StreamType
- Data.Conduit.Process.Typed: getExitCode :: MonadIO m => Process stdin stdout stderr -> m (Maybe ExitCode)
- Data.Conduit.Process.Typed: getExitCodeSTM :: () => Process stdin stdout stderr -> STM (Maybe ExitCode)
- Data.Conduit.Process.Typed: getStderr :: () => Process stdin stdout stderr -> stderr
- Data.Conduit.Process.Typed: getStdin :: () => Process stdin stdout stderr -> stdin
- Data.Conduit.Process.Typed: getStdout :: () => Process stdin stdout stderr -> stdout
- Data.Conduit.Process.Typed: inherit :: () => StreamSpec anyStreamType ()
- Data.Conduit.Process.Typed: mkStreamSpec :: () => StdStream -> (ProcessConfig () () () -> Maybe Handle -> IO (a, IO ())) -> StreamSpec streamType a
- Data.Conduit.Process.Typed: nullStream :: () => StreamSpec anyStreamType ()
- Data.Conduit.Process.Typed: proc :: FilePath -> [String] -> ProcessConfig () () ()
- Data.Conduit.Process.Typed: readProcess :: MonadIO m => ProcessConfig stdin stdoutIgnored stderrIgnored -> m (ExitCode, ByteString, ByteString)
- Data.Conduit.Process.Typed: readProcessInterleaved :: MonadIO m => ProcessConfig stdin stdoutIgnored stderrIgnored -> m (ExitCode, ByteString)
- Data.Conduit.Process.Typed: readProcessInterleaved_ :: MonadIO m => ProcessConfig stdin stdoutIgnored stderrIgnored -> m ByteString
- Data.Conduit.Process.Typed: readProcessStderr :: MonadIO m => ProcessConfig stdin stdout stderrIgnored -> m (ExitCode, ByteString)
- Data.Conduit.Process.Typed: readProcessStderr_ :: MonadIO m => ProcessConfig stdin stdout stderrIgnored -> m ByteString
- Data.Conduit.Process.Typed: readProcessStdout :: MonadIO m => ProcessConfig stdin stdoutIgnored stderr -> m (ExitCode, ByteString)
- Data.Conduit.Process.Typed: readProcessStdout_ :: MonadIO m => ProcessConfig stdin stdoutIgnored stderr -> m ByteString
- Data.Conduit.Process.Typed: readProcess_ :: MonadIO m => ProcessConfig stdin stdoutIgnored stderrIgnored -> m (ByteString, ByteString)
- Data.Conduit.Process.Typed: runProcess :: MonadIO m => ProcessConfig stdin stdout stderr -> m ExitCode
- Data.Conduit.Process.Typed: runProcess_ :: MonadIO m => ProcessConfig stdin stdout stderr -> m ()
- Data.Conduit.Process.Typed: setChildGroup :: () => GroupID -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setChildGroupInherit :: () => ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setChildUser :: () => UserID -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setChildUserInherit :: () => ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setCloseFds :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setCreateGroup :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setCreateNewConsole :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setDelegateCtlc :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setDetachConsole :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setEnv :: () => [(String, String)] -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setEnvInherit :: () => ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setNewSession :: () => Bool -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setStderr :: () => StreamSpec STOutput stderr -> ProcessConfig stdin stdout stderr0 -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setStdin :: () => StreamSpec STInput stdin -> ProcessConfig stdin0 stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setStdout :: () => StreamSpec STOutput stdout -> ProcessConfig stdin stdout0 stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setWorkingDir :: () => FilePath -> ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: setWorkingDirInherit :: () => ProcessConfig stdin stdout stderr -> ProcessConfig stdin stdout stderr
- Data.Conduit.Process.Typed: shell :: String -> ProcessConfig () () ()
- Data.Conduit.Process.Typed: startProcess :: MonadIO m => ProcessConfig stdin stdout stderr -> m (Process stdin stdout stderr)
- Data.Conduit.Process.Typed: stopProcess :: MonadIO m => Process stdin stdout stderr -> m ()
- Data.Conduit.Process.Typed: unsafeProcessHandle :: () => Process stdin stdout stderr -> ProcessHandle
- Data.Conduit.Process.Typed: useHandleClose :: () => Handle -> StreamSpec anyStreamType ()
- Data.Conduit.Process.Typed: useHandleOpen :: () => Handle -> StreamSpec anyStreamType ()
- Data.Conduit.Process.Typed: waitExitCode :: MonadIO m => Process stdin stdout stderr -> m ExitCode
- Data.Conduit.Process.Typed: waitExitCodeSTM :: () => Process stdin stdout stderr -> STM ExitCode
- Data.Conduit.Process.Typed: withProcess :: MonadUnliftIO m => ProcessConfig stdin stdout stderr -> (Process stdin stdout stderr -> m a) -> m a
- Data.Conduit.Process.Typed: withProcessTerm :: () => ProcessConfig stdin stdout stderr -> (Process stdin stdout stderr -> IO a) -> IO a
- Data.Conduit.Process.Typed: withProcessTerm_ :: () => ProcessConfig stdin stdout stderr -> (Process stdin stdout stderr -> IO a) -> IO a
- Data.Conduit.Process.Typed: withProcessWait :: () => ProcessConfig stdin stdout stderr -> (Process stdin stdout stderr -> IO a) -> IO a
- Data.Conduit.Process.Typed: withProcessWait_ :: () => ProcessConfig stdin stdout stderr -> (Process stdin stdout stderr -> IO a) -> IO a
- Data.Conduit.Process.Typed: withProcess_ :: MonadUnliftIO m => ProcessConfig stdin stdout stderr -> (Process stdin stdout stderr -> m a) -> m a
Files
- ChangeLog.md +4/−0
- Data/Conduit/Process/Typed.hs +6/−5
- conduit-extra.cabal +2/−2
ChangeLog.md view
@@ -1,5 +1,9 @@ # ChangeLog for conduit-extra +## 1.3.4++* Use `MonadUnliftIO`-generalized versions of `withProcess`-style functions now provided by `typed-process`+ ## 1.3.3 * Disable buffering in process modules [#402](https://github.com/snoyberg/conduit/issues/402)
Data/Conduit/Process/Typed.hs view
@@ -6,15 +6,13 @@ ( -- * Conduit specific stuff createSink , createSource- -- * Generalized functions- , withProcess -- FIXME import from rio instead- , withProcess_+ -- * Running a process with logging , withLoggedProcess_ -- * Reexports , module System.Process.Typed ) where -import System.Process.Typed hiding (withProcess, withProcess_)+import System.Process.Typed import qualified System.Process.Typed as P import Data.Conduit (ConduitM, (.|), runConduit) import qualified Data.Conduit.Binary as CB@@ -97,7 +95,10 @@ stderrBuffer <- newIORef id let pc' = setStdout (createSourceLogged stdoutBuffer) $ setStderr (createSourceLogged stderrBuffer) pc- P.withProcess pc' $ \p -> do+ -- withProcessWait vs Term doesn't actually matter here, since we+ -- call checkExitCode inside regardless. But still, Wait is the+ -- safer function to use in general.+ P.withProcessWait pc' $ \p -> do a <- unliftIO u $ inner p let drain src = unliftIO u (runConduit (src .| CL.sinkNull)) ((), ()) <- drain (getStdout p) `concurrently`
conduit-extra.cabal view
@@ -1,5 +1,5 @@ Name: conduit-extra-Version: 1.3.3+Version: 1.3.4 Synopsis: Batteries included conduit: adapters for common libraries. Description: The conduit package itself maintains relative small dependencies. The purpose of this package is to collect commonly used utility functions wrapping other library dependencies, without depending on heavier-weight dependencies. The basic idea is that this package should only depend on haskell-platform packages and conduit.@@ -56,7 +56,7 @@ , stm , streaming-commons >= 0.1.16 , unliftio-core- , typed-process >= 0.2+ , typed-process >= 0.2.6 ghc-options: -Wall