Age | Commit message (Collapse) | Author | |
---|---|---|---|
2024-08-01 | Add a utility function to rewrite path strings relative to a subdirectory | Klaus Aehlig | |
2024-06-28 | Add C++ utility classes (un)expected | Oliver Reiche | |
... mimicking C++23's std::(un)expected, so we can more easily adapt to newer C++ standards once we decide to upgrade. | |||
2024-06-17 | Add utility function for prefixing each line of a string | Klaus Aehlig | |
... and thus allowing proper quoting of command output. | |||
2024-05-28 | Implement "on the fly" transformed range. | Maksim Denisov | |
2024-04-11 | json: support pruning | Klaus Aehlig | |
... by removing from an object the outer keys where the value is null. | |||
2024-04-08 | Use properly included standard library types by default | Paul Cristian Sarbu | |
2024-04-08 | Consistently guard all POSIX C includes | Paul Cristian Sarbu | |
2024-03-26 | Add missing system includes | Paul 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-03-15 | Clean up more includes and targets | Paul Cristian Sarbu | |
Some of the more specific issues addressed: - missing log_level target/include - header-only libs wrongly marking deps as private - missing/misplaced gsl includes | |||
2024-03-07 | TmpDir: Getter should return const ref | Oliver Reiche | |
... and prohibit moves and move assignments. | |||
2024-02-29 | verify_hash utils: Clarify return value meaning | Paul Cristian Sarbu | |
2024-02-15 | atomic: Fix potential race | Oliver Reiche | |
... as any unguarded access to non-const members of the same shared_ptr instance require the use of `atomic_load` and `atomic_store`. | |||
2023-11-30 | Resolve inconsistencies in third-party headers include format | Paul Cristian Sarbu | |
2023-11-15 | utils/cpp: add IsAHash function | Alberto Sartori | |
This function is mainly used to check that the hash of a Digest received over the wire is a real hash, to prevent a malicious attack. | |||
2023-09-13 | utils: No hash for upcoming libstdc++ 11 releases | Oliver Reiche | |
2023-08-28 | fmt: Specialize formatter only for version >= 10 | Oliver Reiche | |
2023-08-28 | Fix path hash for libstdc++ bug-fix release 11.4 | Oliver Reiche | |
... std::hash<fs::path> was first implemented in libstdc++ version 12. However, that change was also backported to bug-fix release 11.4, so we may not include our reimplementation if that version is used. | |||
2023-08-28 | Add explicit fmt::formatter for nlohmann::basic_json | Michael Thies | |
The formatter is based on fmt's ostream_formatter, using the provided operator<<(std::ostream&) of nlohmann::basic_json. This is required to allow compilation against fmt 10.x Co-authored-by: Oliver Reiche <oliver.reiche@huawei.com> | |||
2023-08-23 | utils path: Add missing inline specifier | Oliver Reiche | |
... to suppress 'unused function' warnings. | |||
2023-08-07 | utils: Add function to check for confined paths | Paul Cristian Sarbu | |
2023-08-07 | utils: path normalization method should be noexcept | Paul Cristian Sarbu | |
2023-06-26 | filesystem: Add logic for handling (non-upwards) symlinks | Paul Cristian Sarbu | |
2023-06-05 | File Locking: only compute absolute path, if not absolute already | Klaus Aehlig | |
... and in this way, ensure we can lock files given by absolute path even if we don't have a working directory. While there, drop uncessary split just to combine of the file name. | |||
2023-05-31 | utils: Relocate the std::filesystem::hash_value libc fix... | Paul Cristian Sarbu | |
...and make the use of std::hash consistent. This will make it easier to remove the fix once the libc implementation we use catches up with the C++ standard. | |||
2023-04-26 | imports: Switch to Microsoft GSL implementation | Oliver 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-17 | structure 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-17 | structure 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-02 | file_locking: fix comment describing the name of the lock file | Klaus 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-20 | Utils: Add file locking utility class | Paul Cristian Sarbu | |
2023-01-16 | CurlEasyHandle: Fix empty fetches due to unfollowed URLs | Paul 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-21 | Utils: Add wrapper class for libarchive operations | Paul Cristian Sarbu | |
2022-12-21 | Utils: Add curl easy handle utility class | Paul Cristian Sarbu | |
2022-12-21 | Utils: Add curl context utility class | Paul Cristian Sarbu | |
2022-12-21 | Just-MR: Add utilities library for just-mr | Paul Cristian Sarbu | |
2022-12-21 | Utils: Add class handling tmp directories | Paul Cristian Sarbu | |
2022-10-12 | Add copyright and license notice to all source and header files | Klaus Aehlig | |
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com> | |||
2022-09-13 | Fix build with gcc/g++ | Oliver Reiche | |
2022-08-02 | Utils: Drop ill-formed audit checks for truncating JSON | Oliver Reiche | |
2022-06-29 | util: support abbreviating json | Klaus 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-28 | define new header-only library for vector manipulation | Alberto Sartori | |
2022-06-13 | utils: convert hex to string | Klaus Aehlig | |
2022-05-12 | Ensure consistent path normalisation | Klaus Aehlig | |
In particular, ensure that the empty path and "." have the same normal form. | |||
2022-05-09 | Move path normalisation to a separate library | Klaus Aehlig | |
... as it will be required outside the target map. | |||
2022-04-25 | json utils: support indentation up to a given depth | Klaus Aehlig | |
2022-04-07 | refactor FileRoot::DirectoryEntries | Alberto Sartori | |
... to foster the implementation of the built-in target "TREE" | |||
2022-03-23 | Apply changes suggested by clang-tidy 11 | Oliver Reiche | |
2022-03-23 | Apply changes suggested by clang-format 11 | Oliver Reiche | |
2022-03-16 | Format: Apply compact JSON formatting | Oliver Reiche | |
2022-03-09 | FileSystemManager: Support set epoch time on file creation | Oliver Reiche | |
2022-02-25 | Format: Apply alphabetical include order | Oliver Reiche | |