aboutsummaryrefslogtreecommitdiff
path: root/libbuild2/script
AgeCommit message (Collapse)AuthorFilesLines
2022-03-11Add JSON format support for --structured-result option and info meta operationKaren Arutyunov2-4/+0
2022-02-18Factor out common CLI types (scanners, etc)Karen Arutyunov5-788/+160
2022-02-16Invent quoting modes for to_stream(name)Karen Arutyunov1-3/+3
2022-02-02Redo diagnostics without operator<< in namespace stdBoris Kolpackov1-0/+4
2021-11-23Add support for dynamic dependencies in ad hoc Buildscript recipesBoris Kolpackov4-86/+159
Specifically, add the new `depdb dyndep` builtin that can be used to extract dynamic dependencies from a program run or a file. For example: obje{hello.o}: cxx{hello} {{ s = $path($<[0]) depdb dyndep $cxx.poptions $cc.poptions --what=header --default-prereq-type=h -- $cxx.path $cxx.poptions $cc.poptions $cxx.mode -M -MG $s diag c++ ($<[0]) o = $path($>) $cxx.path $cxx.poptions $cc.poptions $cc.coptions $cxx.coptions $cxx.mode -o $o -c $s }} Currently only the `make` dependency format is supported.
2021-10-14Disable re-parse of sole expansions in BuildscriptBoris Kolpackov2-8/+16
2021-10-14Pass along parse_names_result during script command parsingBoris Kolpackov2-16/+23
2021-10-13Add --cwd|-t option to env pseudo-builtinKaren Arutyunov5-17/+87
2021-09-28Adapt to libbutl headers extension change from .mxx to .hxxKaren Arutyunov1-4/+4
2021-09-24Fortify tests against NDEBUGKaren Arutyunov2-1/+6
2021-09-14Impose 12K line count limit for regex matches in TestscriptBoris Kolpackov1-1/+15
2021-09-13Impose 16KB line length limit for regex matches in TestscriptBoris Kolpackov1-1/+14
2021-08-03Regenerate options parsing filesBoris Kolpackov3-14/+90
2021-06-03Fix crashing on test command output regex match failureKaren Arutyunov1-16/+42
2021-05-28Recognize quoting of first character in tokenBoris Kolpackov1-2/+2
Use this to relax the pattern inclusion/exclusion syntax to only require unquoted +/-.
2021-05-28Add pattern_mode::ignore and use in appropriate placesBoris Kolpackov1-6/+6
2021-05-28Make notion of name pattern explicit, fix various related loose endsBoris Kolpackov1-6/+6
2021-04-21Add buildscript depdb builtin 'env' commandKaren Arutyunov4-12/+29
2021-04-02Add support for propagating project environmentBoris Kolpackov1-2/+2
2021-03-04Enable regex linkage failure workaround for all libcpp versionsKaren Arutyunov1-7/+8
2021-02-25Raise libcpp version in regex-related check to 11.0Karen Arutyunov1-1/+1
2021-01-30Rework include translation supportBoris Kolpackov1-1/+0
See the config.cxx.translate_include variable documentation in cxx/init.cxx for details.
2020-12-11Add export script pseudo-builtinKaren Arutyunov8-39/+773
2020-12-11Prefix pseudo-builtin diagnostincs messages with their namesKaren Arutyunov4-14/+22
2020-12-08Fix buildscript assertion failure on redirecting command stderr to stdoutKaren Arutyunov1-1/+13
2020-12-02Add support for buildscript depdb preambleKaren Arutyunov1-41/+94
2020-11-23Increase terminated process timeout from 1 to 2 sec before killing it on ↵Karen Arutyunov1-2/+2
script pipeline termination
2020-11-19Fix set buildscript builtin crash on WindowsKaren Arutyunov1-1/+19
2020-11-17Increase builtin timeout from 1 sec to 2 sec before aborting on script ↵Karen Arutyunov1-2/+2
pipeline termination
2020-11-06Add support for test timeoutsKaren Arutyunov13-148/+1181
2020-09-12Regenerate options parsing codeKaren Arutyunov1-6/+6
2020-08-03Fix buildscript diagnostics so diff output is always in unified formatKaren Arutyunov1-11/+32
Also make sure diff refers program stdout as 'stdout' rather than '-' in the test rule diagnostics.
2020-06-26Drop workarounds for script::redirect struct compile errorsKaren Arutyunov2-58/+4
Thanks to the butl::optional improvement to better deal with lack of copy/move constructors.
2020-06-19Raise libcpp version in regex-related check to 10.0Karen Arutyunov1-1/+1
2020-06-18Add env script pseudo-builtinKaren Arutyunov5-19/+306
Also disable C++ recipe tests when cross-testing.
2020-06-18Fix build2::script::parser::[reset_]quoted() to consider peeked token in ↵Karen Arutyunov1-2/+3
replay mode
2020-06-10Handle special variable names in base lexer via mode dataBoris Kolpackov1-1/+1
2020-06-08Cleanup script command failure diagnosticsKaren Arutyunov3-18/+23
2020-06-08Various minor fixesKaren Arutyunov1-1/+1
2020-06-05Add depdb buildscript builtinKaren Arutyunov2-129/+160
2020-06-04Properly handle diag directive in build script parserKaren Arutyunov2-27/+31
2020-06-03Allow process path values and targets as buildscript program namesKaren Arutyunov5-39/+141
Also deduce the recipe name.
2020-05-28Regenerate options parsing codeBoris Kolpackov1-9/+10
2020-05-27Add support for value subscript after expansionsBoris Kolpackov1-3/+2
Value subscript is only recognized in evaluation contexts (due to ambiguity with wildcard patterns; consider: $x[123].txt) and should be unseparated from the previous token. For example: x = ($y[1]) x = (($f ? $y : $z)[1]) x = ($identity($y)[$z])
2020-05-27Initial support for ad hoc recipes (still work in progress)Boris Kolpackov21-0/+9222