class
Hace::HaceFile
- Hace::HaceFile
- Reference
- Object
Overview
Parser for Hacefile.yml
Included Modules
- YAML::Serializable
- YAML::Serializable::Strict
Defined in:
hace.crConstructors
Class Method Summary
- .auto(arguments = [] of String, filename = "Hacefile.yml", cli_args = [] of String)
-
.default_filename : String
Config file to use when none was given explicitly: prefer Hacefile.yml, falling back to a Makefile in the current directory so hace works out of the box in make-based projects.
- .load_file(filename, variable_overrides : Hash(String, String) = {} of String => String)
- .process_arguments(hacefile, arguments : Array(String))
- .run(arguments = [] of String, filename = "Hacefile.yml", cli_args = [] of String, run_all : Bool = false, dry_run : Bool = false, question : Bool = false, keep_going : Bool = false, parallel : Bool = false)
Instance Method Summary
- #env : Hash(String, String?)
- #env=(env : Hash(String, Nil | String))
- #gen_tasks(dry_run : Bool = false, requested : Array(String) = [] of String)
- #patterns : Array(PatternRule)
- #patterns=(patterns : Array(PatternRule))
-
#resolve_patterns(requested : Array(String) = [] of String) : HaceFile
Synthesize concrete tasks from
#patternsfor dependencies that no explicit task produces, mirroring make's implicit rule behavior. - #shell : String | Nil
- #shell=(shell : String | Nil)
- #tasks : Hash(String, CommandTask)
- #tasks=(tasks : Hash(String, CommandTask))
- #variables : Hash(String, Value)
- #variables=(variables : Hash(String, Value))
Constructor Detail
Class Method Detail
Config file to use when none was given explicitly: prefer Hacefile.yml, falling back to a Makefile in the current directory so hace works out of the box in make-based projects.
Instance Method Detail
Synthesize concrete tasks from #patterns for dependencies that no
explicit task produces, mirroring make's implicit rule behavior. Runs
to a fixpoint so patterns can chain (e.g. "%.c: %.tpl" behind
"%.o: %.c"). requested holds targets named on the command line, which
also get a chance to be instantiated even if nothing depends on them.