summaryrefslogtreecommitdiff
path: root/src/buildtool/build_engine/base_maps/rule_map.cpp
AgeCommit message (Collapse)Author
2024-11-14build_engine: Implement IWYU suggestionsPaul Cristian Sarbu
Requires the use of a pragma to avoid wrong removal suggestion for path_hash.hpp. Co-authored-by: Maksim Denisov <denisov.maksim@huawei.com>
2024-10-08Name local variables using lower_caseMaksim Denisov
...and private members using lower_case_
2024-09-12Do not move variables still usedKlaus Aehlig
... depending on the evaluation order implicit in the compiler.
2024-05-17RepositoryConfig: Instance should not be changed once populatedPaul Cristian Sarbu
Once a RepositoryConfig instance gets populated, it must never be changed again. Therefore, all functions accepting these instances should only take them as pointers to const.
2024-03-26Add missing system includesPaul Cristian Sarbu
Main culprits: - std::size_t, std::nullptr_t, and NULL require <cstddef> - std::move and std::forward require <utility> - unordered maps and sets require respective includes - std::for_each and std::all_of require <algorithm>
2024-02-08rule_map: improve error reportingKlaus Aehlig
By showing the full entity name and also adding the usual newline character after every "While ..." clause.
2023-11-27Refactoring RepositoryConfigPaul Cristian Sarbu
With the introduction of 'just serve', export targets can now be built also independently from one another based on their corresponding minimal repository configuration, as stored in the target cache key. In this context, this commit changes the RepositoryConfig usage from one global (static) instance to pointers passed as necessary throughout the code.
2023-06-06style: Use designated initializersPaul Cristian Sarbu
This feature has been introduced with C++20.
2023-04-26just-mr: Fix warning about unused lambda captureOliver Reiche
2022-10-12Add copyright and license notice to all source and header filesKlaus Aehlig
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com>
2022-04-26doc strings: support documentation of the resultKlaus Aehlig
A complete documentation of a rule should not only include how to use it (i.e., which fields are present and what is their meaning) but also what the result is. This is particularly true, as the result is structured and can contain some complex logic or conventions in the provided information.
2022-04-05Rule map: "import" is no a reserved key word of a ruleKlaus Aehlig
... so remove it from the list of expected keys.
2022-03-29refactor EntityNameAlberto Sartori
EntityName now clearly expresses its double identity: - NamedTarget - AnonymousTarget The usage of std::variant<NamedTarget,AnonymousTarget> guarantees that EntityName, internally, is not a mix of the two - like could happen before this patch. NamedTarget features an enum ReferenceType to express the type of the target, namely, "normal target" or an "explicit file reference". Thanks to this refactoring, the introduction of new targets type should be easier, since the design is more modular. NamedTarget
2022-03-23Apply changes suggested by clang-tidy 11Oliver Reiche
2022-03-04rule_map: improve error message by proper quotingKlaus Aehlig
Our rule names can be arbitrary strings, so improve readability of error message by properly quoting the rule name; while there, also properly quote the module name, resulting in better readability if the module is "".
2022-02-22Initial self-hosting commitKlaus Aehlig
This is the initial version of our tool that is able to build itself. In can be bootstrapped by ./bin/bootstrap.py Co-authored-by: Oliver Reiche <oliver.reiche@huawei.com> Co-authored-by: Victor Moreno <victor.moreno1@huawei.com>