The awk script now performs all processing in the BEGIN block using an implementation that is capable of handling nested if statements. This fixes #436. Includes are now handled in the same way as the main file which means that recursive includes and if statements in includes works as expected. This fixes #406.
All variables are handled in the same way now so it's now possible to use env variables in if statements. This fixes #488.
Also add support for != in addition to == (fixes #358). Thus it's now e.g. possible to check if a variable is set (#477) by doing:
{% if yadm.class != ""%}
Class is set to {{ yadm.class }}
{% endif %}
Possible breaking change: An error will be issued if a non-existent yadm or env variable is referenced in an if statement or in a variable substitution.
What does this PR do?
The awk script now performs all processing in the BEGIN block using an implementation that is capable of handling nested if statements. This fixes #436. Includes are now handled in the same way as the main file which means that recursive includes and if statements in includes works as expected. This fixes #406.
All variables are handled in the same way now so it's now possible to use env variables in if statements. This fixes #488.
Also add support for != in addition to == (fixes #358). Thus it's now e.g. possible to check if a variable is set (#477) by doing:
Possible breaking change: An error will be issued if a non-existent yadm or env variable is referenced in an if statement or in a variable substitution.
What issues does this PR fix or reference?
358
406
436
477
488
Previous Behavior
See above.
New Behavior
See above.
Have tests been written for this change?
Yes
Have these commits been signed with GnuPG?
Yes
Please review yadm's Contributing Guide for best practices.