如何在规则中使用withTempDir创建的目录?

时间:2017-02-17 19:10:36

标签: shake-build-system

我需要在Actions中按名称引用withTempDir创建的目录。我猜测当前工作目录由withTempDir更改,这可能在简单的情况下有效。但是,有些操作必须自己执行(Cwd somewhere)

在Action中有没有办法获取创建的临时目录的完整路径名?

1 个答案:

答案 0 :(得分:1)

withTempDir不会更改当前目录。通常,在多线程程序中更改当前目录(全局资源)是一个非常糟糕的主意。临时目录的名称将传递给withTempDir的函数,因此您可以执行以下操作:

withTempDir $ \mydir -> do putNormal $ "Temp directory is " ++ mydir liftIO $ writeFile (mydir </> "test.txt") "writing out a temp file"

我同意withTempDir的文档有点缺乏,因此需要raised a bug来改进它们。