lean4-htt/examples/targets/lakefile.lean
2022-11-10 20:48:02 -05:00

48 lines
829 B
Text

import Lake
open Lake DSL
package targets {
srcDir := "src"
}
@[default_target]
lean_lib foo {
defaultFacets := #[LeanLib.staticFacet]
}
lean_lib bar {
defaultFacets := #[LeanLib.sharedFacet]
}
lean_lib baz
lean_exe a
lean_exe b
@[default_target]
lean_exe c
@[default_target]
target meow (pkg : Package) : Unit := do
IO.FS.writeFile (pkg.buildDir / "meow.txt") "Meow!"
return .nil
target bark : Unit := do
logInfo "Bark!"
return .nil
package_facet print_name pkg : Unit := do
IO.println pkg.name
return .nil
module_facet get_src mod : FilePath := do
inputFile mod.leanFile
module_facet print_src mod : Unit := do
(← fetch (mod.facet `get_src)).bindSync fun src trace => do
IO.println src
return ((), trace)
library_facet print_name lib : Unit := do
IO.println lib.name
return .nil