sourceModuleLockPhase.tri (910B)
1 !import "source.lock" !Local 2 !import "source.module" !Local 3 !import "io" !Local 4 !import "prelude" !Local 5 root = "__ROOT__" 6 expectedHash = "__EXPECTED__" 7 preludeHash = "__PRELUDE__" 8 phase = "__PHASE__" 9 main = io (onResult_ (do onOk_ 10 source <- readFile "demos/modules/app.tri" 11 _ <- sourceModulePinAlias root "prelude" preludeHash 12 _ <- lazyBool 13 (_ : pure (ok t t)) 14 (_ : sourceLockUpdate root "app" source) 15 (equal? phase "move") 16 pinned <- sourceLockBuild root "app" source 17 _ <- pure (if (equal? pinned expectedHash) 18 (ok t t) (err "unexpected locked manifest" t)) 19 tree <- sourceModuleLoadSelected root pinned "main" 20 _ <- pure (if (equal? tree (if (equal? phase "update") 43 42)) 21 (ok t t) (err "unexpected locked executable" t)) 22 pure (ok t t)) 23 (problem : putStrLn (append "lock-failed: " problem)) 24 (_ : putStrLn (append "lock-" (append phase "-ok")))) 25 main