summaryrefslogtreecommitdiff
path: root/src/utils/cpp
AgeCommit message (Collapse)Author
2023-04-26imports: Switch to Microsoft GSL implementationOliver Reiche
... with two minor code base changes compared to previous use of gsl-lite: - dag.hpp: ActionNode::Ptr and ArtifactNode::Ptr are not wrapped in gsl::not_null<> anymore, due to lack of support for wrapping std::unique_ptr<>. More specifically, the move constructor is missing, rendering it impossible to use std::vector<>::emplace_back(). - utils/cpp/gsl.hpp: New header file added to implement the macros ExpectsAudit() and EnsureAudit(), asserts running only in debug builds, which were available in gsl-lite but are missing in MS GSL.
2023-02-17structure cleanup: move libcurl utilities to other_tools...Paul Cristian Sarbu
...in order to not include unwanted dependencies in just proper. As the whole other_tools folder is meant to be excluded from bootstrapping, also remove the bootstrap guards.
2023-02-17structure cleanup: move libarchive utilities to other_tools...Paul Cristian Sarbu
...in order to not include unwanted dependencies in just proper. As the whole other_tools folder is meant to be excluded from bootstrapping, also remove the bootstrap guards.
2023-02-02file_locking: fix comment describing the name of the lock fileKlaus Aehlig
As opposed the earlier ideas, the implemented behaviour is that the file name of the lock is given explicitly. Fix comments accordingly.
2023-01-20Utils: Add file locking utility classPaul Cristian Sarbu
2023-01-16CurlEasyHandle: Fix empty fetches due to unfollowed URLsPaul Cristian Sarbu
For libcurl we need to set the CURL_FOLLOWLOCATION flag (disbaled by default) to enable 3xx redirects. Libcurl has sane defaults for related settings in order to handle redirects when enabled, though for fetches there should be limited risks, as content (and SHA hashes, if provided) is checked to ensure the intended archives are fetched.
2022-12-21Utils: Add wrapper class for libarchive operationsPaul Cristian Sarbu
2022-12-21Utils: Add curl easy handle utility classPaul Cristian Sarbu
2022-12-21Utils: Add curl context utility classPaul Cristian Sarbu
2022-12-21Just-MR: Add utilities library for just-mrPaul Cristian Sarbu
2022-12-21Utils: Add class handling tmp directoriesPaul Cristian Sarbu
2022-10-12Add copyright and license notice to all source and header filesKlaus Aehlig
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com>
2022-09-13Fix build with gcc/g++Oliver Reiche
2022-08-02Utils: Drop ill-formed audit checks for truncating JSONOliver Reiche
2022-06-29util: support abbreviating jsonKlaus Aehlig
To an intended number of characters by leaving out the parts after a given depth. As the correct depths has to be determined, the JSON value is serialized several times; hence the method is slow, but acceptable for the generation of error messages.
2022-06-28define new header-only library for vector manipulationAlberto Sartori
2022-06-13utils: convert hex to stringKlaus Aehlig
2022-05-12Ensure consistent path normalisationKlaus Aehlig
In particular, ensure that the empty path and "." have the same normal form.
2022-05-09Move path normalisation to a separate libraryKlaus Aehlig
... as it will be required outside the target map.
2022-04-25json utils: support indentation up to a given depthKlaus Aehlig
2022-04-07refactor FileRoot::DirectoryEntriesAlberto Sartori
... to foster the implementation of the built-in target "TREE"
2022-03-23Apply changes suggested by clang-tidy 11Oliver Reiche
2022-03-23Apply changes suggested by clang-format 11Oliver Reiche
2022-03-16Format: Apply compact JSON formattingOliver Reiche
2022-03-09FileSystemManager: Support set epoch time on file creationOliver Reiche
2022-02-25Format: Apply alphabetical include orderOliver Reiche
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>