Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2024-10-16 | Stop on first error for install and uninstall operations | Boris Kolpackov | 1 | -1/+3 | |
2024-08-06 | Rename certain target_set::insert() versions to insert_implied() for clarity | Boris Kolpackov | 1 | -10/+11 | |
Also clarify the target_decl documentation. | |||||
2024-07-31 | Add lookup limit to {scope,target}::lookup_original() | Boris Kolpackov | 1 | -1/+4 | |
2024-05-21 | Use new thread-specific current working directory in testscript implementation | Boris Kolpackov | 1 | -0/+11 | |
In particular, this makes sure functions like $path.complete() work correctly from testscripts. | |||||
2023-12-03 | Reimplement search_existing() functions via target_type::search | Boris Kolpackov | 3 | -6/+4 | |
This allows us to automatically get the target type-specific behavior with regards to the out_only semantics (added in the previous commit) instead of passing it explicitly from each call site. | |||||
2023-09-20 | Fix issue with fallback rule priority in dist module | Boris Kolpackov | 1 | -8/+10 | |
While at it, also remove workarounds for the same issue in the config and test modules. | |||||
2023-04-05 | Allow creating context with bare minimum of initializations | Boris Kolpackov | 2 | -29/+29 | |
This is used by bpkg to detect forwarded configurations without incurring the full context creation overhead. | |||||
2023-03-01 | Add support for installation manifest | Boris Kolpackov | 1 | -8/+6 | |
2023-01-09 | Fix simple and script tests to correctly terminate processes which don't ↵ | Karen Arutyunov | 1 | -14/+84 | |
close stderr on exit | |||||
2022-12-15 | Improve escape sequence support | Boris Kolpackov | 2 | -4/+6 | |
Specifically: 1. In the double-quoted strings we now only do effective escaping of the special `$("\` characters plus `)` for symmetry. 2. There is now support for "escape sequence expansion" in the form $\X where \X can be any of the C/C++ simple escape sequences (\n, \t, etc) plus \0 (which in C/C++ is an octal escape sequence). For example: info "foo$\n$\tbar$\n$\tbaz" Will print: buildfile:1:1: info: foo bar baz | |||||
2022-11-24 | Fix forcing diag buffering for diff in simple test | Karen Arutyunov | 1 | -3/+5 | |
2022-11-23 | Rework diag_buffer interface to facilitate correct destruction order | Boris Kolpackov | 1 | -5/+29 | |
2022-11-16 | Initial low verbosity diagnostics rework | Boris Kolpackov | 1 | -6/+14 | |
2022-11-14 | Add buffering for simple test diagnosticsdiag-buffer | Karen Arutyunov | 1 | -74/+286 | |
Also fix simple test redirecting diff's stdout to stderr. | |||||
2022-11-09 | Use diag_buffer in script | Karen Arutyunov | 2 | -2/+3 | |
2022-11-09 | Make process exit diagnostics in executable metadata extraction consistent | Boris Kolpackov | 1 | -1/+1 | |
2022-11-08 | Make process exit diagnostics consistent | Boris Kolpackov | 1 | -1/+3 | |
In particular, we now always print error message on non-0 exit except in cases where such exit is ignored. | |||||
2022-10-27 | Suppress (potential) bogus GCC 12 -Wrestrict warnings | Boris Kolpackov | 1 | -1/+1 | |
2022-10-21 | Change attribute syntax in script to come after variable in set and for (set ↵ | Karen Arutyunov | 2 | -23/+32 | |
x [...], for x [...]) | |||||
2022-10-18 | Fix unexpected 'unterminated double-quoted sequence' script error | Karen Arutyunov | 3 | -11/+25 | |
2022-10-14 | Fix 'for [<attrs>] x: ...' to treat <attrs> as value attributes | Karen Arutyunov | 2 | -15/+15 | |
2022-10-14 | Fix printing test id multiple times on test failure | Karen Arutyunov | 2 | -14/+44 | |
2022-10-13 | Add support for 'for' loop second (... | for x) and third (for x <...) forms ↵ | Karen Arutyunov | 11 | -99/+1128 | |
in script | |||||
2022-10-13 | Optimize by going straight to public variable pool where applicable | Boris Kolpackov | 1 | -3/+7 | |
2022-10-13 | Switch to public/private variables model | Boris Kolpackov | 2 | -7/+5 | |
Now unqualified variables are project-private and can be typified. | |||||
2022-10-10 | Preparatory work for public/private variable distinction | Boris Kolpackov | 1 | -2/+2 | |
We still always use the public var_pool from context but where required, all access now goes through scope::var_pool(). | |||||
2022-09-29 | Fix variable append logic in script | Boris Kolpackov | 2 | -14/+36 | |
2022-09-28 | Add support for 'for' loop first form (for x:...) in script | Karen Arutyunov | 3 | -52/+427 | |
2022-09-28 | Add support for 'while' loop in script | Karen Arutyunov | 9 | -112/+517 | |
2022-07-07 | Use new cmdline type for canned command lines in {Build,Test}script | Boris Kolpackov | 5 | -16/+105 | |
2022-06-28 | Add support for querying out-qualified target-specific variables | Boris Kolpackov | 2 | -2/+2 | |
2022-06-21 | Add --trace-{match,execute} options | Boris Kolpackov | 1 | -14/+14 | |
These options can be used to understand which dependency chain causes matching or execution of a particular target. | |||||
2022-05-23 | Cache build.host value in context | Boris Kolpackov | 2 | -2/+2 | |
2022-04-15 | Get rid of target::dynamic_type() virtual function | Boris Kolpackov | 1 | -2/+5 | |
Instead of overriding this function, derived targets must now set the dynamic_type variable to their static_type in their constructor body. | |||||
2022-04-06 | Add support for rule hints | Boris Kolpackov | 3 | -7/+7 | |
A rule hint is a target attribute, for example: [rule_hint=cxx] exe{hello}: c{hello} Rule hints can be used to resolve ambiguity when multiple rules match the same target as well as to override an unambiguous match. | |||||
2022-03-07 | Fix operation-specific variables logic for inner/outer operations | Boris Kolpackov | 1 | -1/+1 | |
2022-03-02 | Add update operation-specific variable with unmatch|match additional values | Boris Kolpackov | 1 | -0/+2 | |
Note that the unmatch (match but do not update) and match (update during match) values are only supported by certain rules (and potentially only for certain prerequisite types). Additionally: - All operation-specific variables are now checked for false as an override for the prerequisite-specific include value. In particular, this can now be used to disable a prerequisite for update, for example: ./: exe{test}: update = false - The cc::link_rule now supports the update=match value for headers and ad hoc prerequisites. In particular, this can be used to make sure all the library headers are updated before matching any of its (or dependent's) object files. | |||||
2022-02-21 | Factor process-wide initialization to init_process() function | Boris Kolpackov | 1 | -1/+1 | |
2022-02-16 | Invent quoting modes for to_stream(name) | Karen Arutyunov | 1 | -1/+1 | |
2022-02-11 | Remove unnecessary header inclusions | Boris Kolpackov | 1 | -0/+2 | |
2022-02-10 | Make few global types separately constructible/initializable | Boris Kolpackov | 1 | -1/+1 | |
2021-12-16 | Pass context to (meta-)operation hooks | Boris Kolpackov | 1 | -3/+6 | |
2021-10-14 | Disable re-parse of sole expansions in Buildscript | Boris Kolpackov | 1 | -1/+1 | |
2021-09-24 | Fortify tests against NDEBUG | Karen Arutyunov | 2 | -2/+6 | |
2021-06-21 | Add support for automatic generation of symbol exporting .def file | Boris Kolpackov | 2 | -5/+2 | |
2021-05-28 | Recognize quoting of first character in token | Boris Kolpackov | 1 | -3/+2 | |
Use this to relax the pattern inclusion/exclusion syntax to only require unquoted +/-. | |||||
2021-05-28 | Add pattern_mode::ignore and use in appropriate places | Boris Kolpackov | 1 | -1/+1 | |
2021-04-07 | Register environment variables for hermetic build configurations | Boris Kolpackov | 1 | -0/+6 | |
2021-03-18 | Add noop mode to file cache, add --file-cache option to select | Boris Kolpackov | 1 | -1/+1 | |
2021-03-16 | Define intermediate build results file cache interface | Boris Kolpackov | 1 | -1/+3 | |