shake-build-system

    1熱度

    2回答

    我怎樣才能讓腳本在每次構建時執行一次「外部」動作? import Development.Shake main = shakeArgs shakeOptions $ do want [".finished"] ".finished" %> \out -> do liftIO $ putStrLn "You sure?" >> getLine >> putStrL

    1熱度

    1回答

    我正在嘗試使用Shake作爲小項目中Make的替換。目前它主要用於別名shell命令。有什麼方法可以指定默認假冒行爲?類似於默認的東西:在makefile中。例如,給定: phony "build" $ do ... 我想聲明的是,如果沒有給出目標,它運行行動build。

    2熱度

    1回答

    我想使用temporary package與Shake,但這需要Action有一個MonadMask缺少的實例。爲什麼Shake不提供這樣的實例?

    4熱度

    1回答

    我想遷移現有的makefile動搖,到目前爲止,我已經試過以下(只創建一個目錄內容的文件) module Main where import Development.Shake main :: IO() main = shakeArgs shakeOptions{shakeFiles="_build"} $ do let ls = "_build/ls.txt" wan

    4熱度

    2回答

    我正在研究一個Python/Haskell項目,並且正在尋找Makefile的替代方案。明顯的選擇是Python SCons和Haskell Shake。由於我對他們兩人都沒有經驗,所以我想問問他們的缺點和優點是否有任何比較。 更新:該項目建築有點複雜的要求: 讓用戶配置構建 - 以工具等類似的選項來啓用/禁用,路徑 有兩個Haskell和在編譯時生成Python文件。他們的依賴應該正常工作。 有

    1熱度

    1回答

    規則生成的文件爲need的正確方法是什麼?下面是我的嘗試: import Development.Shake import System.IO import Control.Monad main = do s <- withBinaryFile "/dev/urandom" ReadMode $ replicateM 10 . hGetChar shakeArgs s

    2熱度

    1回答

    搖具有shakeVersion :: String: 默認爲1.您的構建規則的版本號。 將版本號更改爲強制完成重建,,例如對需要擦拭的規則進行重大更改。版本號應該在源代碼中設置,而不是在命令行上傳遞。 這是令人難以置信的容易提高構建系統一點,並沒有注意到他們需要擦拭顯著的變化。如果您通過版本控制來分發這些內容,則可能會導致我的同事和我的持續集成機器人生成不正確的內容。 雖然我通過刪除.shake.

    3熱度

    1回答

    我很困惑規則Shake用於確定是否需要重建輸出。我有兩個步驟簡單的文檔構建。完整的構建文件如下但總結,asciidoc用於將.txt文件轉換爲.dbxml(Docbook XML)文件,然後使用dblatex將其轉換爲PDF。 我希望如果我觸摸PDF並重新運行搖動,不會發生任何事情,因爲輸出比兩個輸入都要新。但是,實際上在執行dblatex步驟。 接下來,我期望如果我觸摸.dbxml文件,那麼sh

    3熱度

    2回答

    .js和.css文件縮小的常見做法是創建.min.js和.min.css文件。問題是ShakeFilePatterns將使用此方案與//*.js這樣的模式匹配縮小和非縮小文件。 docs似乎建議爲每個像reg.js和min.js的每個類似的擴展,但我不確定這是我想採取的路徑。這怎麼能在Shake中解決? 編輯:問題是使用getDirectoryFiles: js <- getDirectoryFi

    3熱度

    1回答

    我使用搖來建立一堆靜態網頁,然後我必須上傳到遠程主機,使用SFTP。目前,運行的cronjob git pull # get possibly updated sources ./my-shake-system lftp ... # upload 我想避免運行最後命令,如果搖實際上並沒有任何重建。有沒有辦法告訴搖擺「運行命令foo,在一切之後,只有當你改變了一些東西!」? 或者,也可以動搖