shake-build-system

    3熱度

    1回答

    我想用搖動下載一堆網頁,然後對它們做一些處理。不過,我還想選擇下載頁面以外的頁面,告訴我已經這樣做了,然後讓其他處理步驟繼續進行。現在我正在做第二步,「告訴我爲它做了一些工作」。 舉一個小例子,這裏有一個很短的抖動腳本: import Development.Shake main = shakeArgs shakeOptions $ do want ["test.txt"]

    1熱度

    1回答

    我需要在Actions中引用由名稱withTempDir創建的目錄。我猜測當前的工作目錄被withTempDir所改變,這很可能在簡單情況下起作用。但是,某些操作必須自己執行(Cwd somewhere)。 Action中有沒有辦法獲得創建的臨時目錄的完整路徑名?

    2熱度

    1回答

    我試圖找出我如何可以從進展型(在Development.Shake.Progress)進度信息輸出它執行命令。可能期望的輸出將是: [1/9] Compiling src/Window/Window.cpp [2/9] Compiling src/Window/GlfwError.cpp [3/9] Compiling src/Window/GlfwContext.cpp [4/9] Com

    1熱度

    1回答

    我遇到不必要的重建,而使用這種匹配模式: getDirectoryFiles "" $ "foo" </> "//*.c" 我在Linux上所以從我的理解,第二個參數將評估爲 "foo///*.c" 而且我相信,這將是不正確將其替換爲 "foo" </> "/*.c" 因爲這不適用於Windows?然而,在Linux上,這個工作正如我所期望的那樣。 從測試我的結論是模式匹配「foo」之

    3熱度

    1回答

    有時候,創建目錄mkdir不是正確的工具。它可能是git clone或rsync或mount。所以,當我們有這樣一條規則: needDir dirs = filterM ((fmap not) . doesDirectoryExist) dirs >>= need rules = do { "project" </> "tool" %> \out -> do { needD

    2熱度

    1回答

    如何使用兩種不同配置構建一組源文件,而無需重新構建所有內容? 我當前的設置添加了一個選項--config = rel,它將加載build_rel.cfg中的所有選項並將所有選項編譯到目錄build_rel /。 data Flags = FlagCfg String deriving (Show, Eq)

    1熱度

    2回答

    我有以下構建系統 module Main where import Development.Shake main :: IO() main = shakeArgs shakeOptions $ do "a" %> \out -> do need ["a.in"] cmd_ "sleep" "10" cmd "touch" [out] 我建立與

    2熱度

    1回答

    我覺得第一Shake使用演示模式,似乎很容易出錯的example: contents <- readFileLines $ out -<.> "txt" need contents cmd "tar -cf" [out] contents 爲什麼我們需要need contents時readFileLines讀取它們和cmd引用他們呢?這是否可以避免要求Applicative

    2熱度

    1回答

    如何在搖動中傳遞參數然後在我們的規則中使用它們?我想提出的一些等價物: make ARCH=x86_64 或 make DEBUG=YES 等等 現在我一直在使用環境變量和getEnv函數來模擬這些。 我如何使一個給定參數(環境變量)的依賴關係,以便它可以在構建中讀取一次,將其存儲在某處並從多個規則訪問它? 例如現在,我在多個規則中多次執行getEnv,但在編譯期間,環境變量可能會更改。此外,例如

    2熱度

    1回答

    我通過usingConfigFile爲每個項目維護小配置文件。我希望能夠覆蓋命令行上的任何設置。它似乎使用shakeArgsWith(而不是shakeArgs)是第一步,但我沒有看到一個明顯的方式來連接到getConfig產生的值。有沒有一個標準的方法來做到這一點?