Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2016-11-04 | Add support of merge redirect to testscript runner | Karen Arutyunov | 3 | -9/+35 | |
2016-11-04 | Add support of file redirects to testscript runner | Karen Arutyunov | 2 | -3/+11 | |
2016-11-04 | Implement support for testscript scopes | Boris Kolpackov | 1 | -12/+16 | |
2016-11-04 | Add few testscript integration tests | Boris Kolpackov | 1 | -2/+34 | |
2016-11-04 | Add support of file redirects to testscript parser | Karen Arutyunov | 1 | -0/+2 | |
2016-11-04 | Support paths cleanup when test scope is left | Karen Arutyunov | 1 | -0/+4 | |
2016-11-04 | Fix printing no-newline here-doc and here-str | Karen Arutyunov | 2 | -19/+54 | |
2016-11-04 | Add support for setup/teardown commands | Boris Kolpackov | 4 | -1/+39 | |
2016-11-04 | Rename tests/test/script/ to tests/test/script/runner/ | Boris Kolpackov | 4 | -4/+11 | |
2016-11-04 | Change <! and >! syntaxt to <- and >- | Karen Arutyunov | 1 | -2/+2 | |
2016-11-04 | Add couple of testscript tests | Boris Kolpackov | 1 | -12/+16 | |
2016-11-04 | Add support for no-newline redirects in testscript | Boris Kolpackov | 1 | -0/+26 | |
The no-newline operators are '<:', '>:', '<<:', and '>>:'. | |||||
2016-11-04 | Implement concurrent_runner | Boris Kolpackov | 5 | -1/+133 | |
2016-11-04 | When assigning always ignore existing value type | Boris Kolpackov | 2 | -0/+5 | |
For example: x = [uint64] 1 x = a # Ok. | |||||
2016-11-04 | Cosmetic change | Boris Kolpackov | 1 | -1/+1 | |
2016-09-15 | Add io_error alias for std::ios_base::failure | Karen Arutyunov | 1 | -1/+1 | |
2016-08-30 | Add support for using '*' as target type in variable assignment | Boris Kolpackov | 1 | -0/+6 | |
So these three are equivalent: *: foo = 1 {*}: foo = 2 *{*}: foo = 3 | |||||
2016-08-26 | Add pkg-config support for import installed | Boris Kolpackov | 1 | -1/+3 | |
Redesign library importing/exporting while at it. | |||||
2016-08-23 | Update install.* variables in buildfiles | Boris Kolpackov | 2 | -2/+2 | |
2016-08-05 | Implement out-qualified target syntax for setting target-specific vars | Boris Kolpackov | 5 | -0/+11 | |
So now we can do: doc{INSTALL}@./: install = false Note that so far that's the only place where we support out-qualification. Grep for @@ OUT to see other places. | |||||
2016-07-28 | Adjust to new path implementation, use to support reversibility | Boris Kolpackov | 6 | -1/+80 | |
2016-07-22 | Change default var override from 'projects and subprojects' to amalgamation | Boris Kolpackov | 2 | -0/+11 | |
The 'projects and subprojects' semantics resulted in some counter-intuitive behavior. For example, in a project with tests/ as a subproject if one builds one of the tests directly with a non-global override (say C++ compiler), then the main project would be built without the overrides. I this light, overriding in the whole amalgamation seems like the right thing to do. The old behavior can still be obtained with scope qualification, for example: b ./:foo=bar | |||||
2016-07-21 | Add support for single line if-blocks | Boris Kolpackov | 2 | -2/+27 | |
So now we can do: if true print true else print false Instead having to do: if true { print true } else { print false } | |||||
2016-07-20 | Implement support for <, >, <=, >= in eval context | Boris Kolpackov | 4 | -0/+25 | |
Now can write: if ($build.version > 30000) | |||||
2016-07-16 | Add support for prepend/append in target type/pattern-specific vars | Boris Kolpackov | 4 | -0/+70 | |
Semantically, these are similar to variable overrides and are essentially treated as "templates" that are applied on lookup to the "stem" value that is specific to the target type/name. For example: x = [string] a file{f*}: x =+ b sub/: { file{*}: x += c print $(file{foo}:x) # abc print $(file{bar}:x) # ac } | |||||
2016-07-12 | Use ./ instead of just . to denote current directory in buildfiles | Boris Kolpackov | 9 | -10/+10 | |
2016-06-18 | Port to MinGW | Karen Arutyunov | 17 | -20/+75 | |
2016-04-22 | Fix test | Boris Kolpackov | 2 | -2/+2 | |
2016-04-21 | Fix legacy stuff in tests | Boris Kolpackov | 13 | -39/+12 | |
2016-04-21 | Implement short-circuiting to group state | Boris Kolpackov | 1 | -3/+3 | |
This is necessary to get rid of bogus restarts in inject_prerequisites() where it think a group member was updated since its state changed from unknown to (group's) changed. | |||||
2016-04-18 | Add support for using value attributes in eval context | Boris Kolpackov | 4 | -3/+28 | |
For example: if ($x == [null]) Or: if ([uint64] 01 == [uint64] 1) | |||||
2016-04-12 | Add support for scope-qualification of overrides, scope visibility | Boris Kolpackov | 1 | -2/+42 | |
2016-04-06 | Test and fix override logic | Boris Kolpackov | 7 | -0/+366 | |
2016-04-05 | Add support for scope/target-qualified variable expansion | Boris Kolpackov | 3 | -0/+42 | |
For example: print $(dir/:var) print $(file{target}:var) print $(dir/file{target}:var) Note that if the scope/target does not (yet) exists, it will be created. | |||||
2016-04-04 | Implement value typing, null support via value attributes | Boris Kolpackov | 5 | -4/+104 | |
For example: v = [null] v = [string] abc v += ABC # abcABC | |||||
2016-04-02 | Implement variable typing (via attributes) | Boris Kolpackov | 3 | -0/+26 | |
Now we can do: [string] str = foo | |||||
2016-04-02 | Add attribute syntax infrastructure | Boris Kolpackov | 10 | -10/+31 | |
2016-03-31 | Set part of variable override implementation | Boris Kolpackov | 2 | -2/+2 | |
2016-03-28 | Add support for pair representation reversibility | Boris Kolpackov | 2 | -0/+16 | |
2016-03-28 | Adjust tests/quote now that we support escaping in double-quoted strings | Boris Kolpackov | 2 | -0/+5 | |
2016-03-28 | Change pairs semantics from separated to unseparated | Boris Kolpackov | 3 | -0/+70 | |
Before we use to recognize 'x @ y' as a pair. Now it has to be written unseparated, as 'x@y'. See tests/pairs for details on the new semantics. | |||||
2016-02-29 | Implement auxiliary dependency database (.d files), use in cxx.compile | Boris Kolpackov | 2 | -0/+174 | |
This is part of the "High Fidelity Build" work. | |||||
2016-01-24 | Fix bug in dynamically derived target types | Boris Kolpackov | 1 | -1/+1 | |
2016-01-21 | Add support for ==, != in eval context | Boris Kolpackov | 4 | -0/+66 | |
2016-01-09 | Update copyright year | Boris Kolpackov | 5 | -5/+5 | |
2015-12-14 | Add support for variable prepend operator: =+ | Boris Kolpackov | 3 | -0/+21 | |
2015-12-07 | Add support for specifying minimum required build2 version | Boris Kolpackov | 1 | -0/+31 | |
The syntax is: using build@0.1.0-a1 The idea is that we will later also use it for modules and 'build' is a special, the "build system itself" module. Also fix a problem with peeking and lexer mode switching. | |||||
2015-12-03 | Implement new potential directive keyword test | Boris Kolpackov | 5 | -9/+25 | |
Now we can use directive names as variables and targets type, for example: print = foo # variable print{foo}: # target | |||||
2015-12-03 | Implement if-else conditions | Boris Kolpackov | 3 | -0/+126 | |
if if! elif elif! else The expression should evaluate to true of false. The if! and elif! versions are provided as shortcuts to writing if (!...). See tests/if-else for examples. | |||||
2015-12-02 | Implement optional module loading | Boris Kolpackov | 1 | -0/+5 | |
The syntax is: using? cli Now each module use results in two bool variables: <module>.loaded and <module>.configured. Also implement variable visibility (the above two variables are limited to project). |