packages feed

shake 0.10.9 → 0.10.10

raw patch · 5 files changed

+8/−4 lines, 5 files

Files

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