shake 0.10.9 → 0.10.10
raw patch · 5 files changed
+8/−4 lines, 5 files
Files
- CHANGES.txt +2/−0
- Development/Ninja/All.hs +3/−2
- Examples/Ninja/Main.hs +1/−0
- Examples/Ninja/lint.ninja +1/−1
- shake.cabal +1/−1
CHANGES.txt view
@@ -1,5 +1,7 @@ Changelog for Shake +0.10.10+ Improve Ninja --lint checking 0.10.9 #76, add Ninja specific lint checking #75, add orderOnly dependencies
Development/Ninja/All.hs view
@@ -18,6 +18,7 @@ import qualified Data.HashSet as Set import Control.Arrow import Control.Monad +import Data.Maybe import Data.List import Data.Char @@ -138,9 +139,9 @@ allDependencies rule = f Set.empty [] [rule] where f seen [] [] = [] - f seen [] (x:xs) = f seen (depsNormal x ++ depsImplicit x ++ depsOrderOnly x) xs + f seen [] (x:xs) = f seen (map normalise $ depsNormal x ++ depsImplicit x ++ depsOrderOnly x) xs f seen (x:xs) rest | x `Set.member` seen = f seen xs rest - | otherwise = x : f (Set.insert x seen) xs ((builds Map.! x) : rest) + | otherwise = x : f (Set.insert x seen) xs (maybeToList (Map.lookup x builds) ++ rest) applyRspfile :: Env Str Str -> Action a -> Action a
Examples/Ninja/Main.hs view
@@ -49,6 +49,7 @@ run "-f../../Examples/Ninja/test5.ninja" assertExists $ obj "output file" + writeFile (obj "input") "" runFail "-f../../Examples/Ninja/lint.ninja bad --lint" "'needed' file required rebuilding" run "-f../../Examples/Ninja/lint.ninja good --lint" runFail "-f../../Examples/Ninja/lint.ninja bad --lint" "not a pre-dependency"
Examples/Ninja/lint.ninja view
@@ -9,5 +9,5 @@ build good: run || good.gen bad.gen build good.gen: gen -build bad: run +build bad: run | input build bad.gen: gen
shake.cabal view
@@ -1,7 +1,7 @@ cabal-version: >= 1.10 build-type: Simple name: shake-version: 0.10.9+version: 0.10.10 license: BSD3 license-file: LICENSE category: Development