Hace::HaceFile
Inherits YAML::Serializable::Strict < YAML::Serializable < Reference < Object
Parser for Hacefile.yml
Constructors
new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)
Sourcenew(*, __context_for_yaml_serializable ctx : YAML::ParseContext, __node_for_yaml_serializable node : YAML::Nodes::Node)
SourceClass methods
auto(arguments = [] of String, filename = "Hacefile.yml", cli_args = [] of String)
Sourcedefault_filename
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)
Sourceprocess_arguments(hacefile, arguments : Array(String))
Sourcerun(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)
SourceInstance methods
env
Sourceenv=(env : Hash(String, Nil | String))
Sourcegen_tasks(dry_run : Bool = false, requested : Array(String) = [] of String)
Sourcepatterns
Sourcepatterns=(patterns : Array(PatternRule))
Sourceresolve_patterns(requested : Array(String) = [] of String) : HaceFile
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.
shell
Sourceshell=(shell : String | Nil)
Sourcetasks
Sourcetasks=(tasks : Hash(String, CommandTask))
Sourcevariables
Sourcevariables=(variables : Hash(String, Value))
Source