Preprocessor: conditionals, includes and foreach #7
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
Reference
jeff/zixl#7
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
Part of #1
What to build
<?if?>,<?ifdef?>,<?ifndef?>,<?elseif?>,<?else?>and<?endif?>with WiX's expression language;<?include?>of.wxifiles, searched relative to the including file and then in each-Idirectory, through the file source; and<?foreach?>. A diagnostic inside an included file names the file that included it and where, all the way up.Acceptance criteria
-I, and one found nowhere (a diagnostic).inner.wxi:L:C: … (included from middle.wxi:L, included from main.wxs:L).<?foreach?>over a semicolon-separated list.zixl -Eoutput matcheswixl -Efor a fixture using all of the above.Done in
c3a8dd1; CI run 7 is green.tests/preprocess.zigcovers:-I, and nowhere;src/inner.wxi:4:9: … (included from src/middle.wxi:2, included from src/main.wxs:3);foreach, nested, with nothing leaking out of it;endif/else/endforeach, all as diagnostics.zixl -Evswixl -E: they agree on the subset wixl gets right, which isif/else,=,~=,or, nesting, and includes found both ways.Where zixl follows WiX's documentation over the reference implementation:
<?ifdef?>and never takes an<?elseif?>branch.not … and (…)wrongly, and treats a bare defined variable as false.3 < 2as true.<?foreach?>.