summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-04-04Add a new log level for progress updatesKlaus Aehlig
2022-04-04cli: hint on orientation of --log-limit argumentKlaus Aehlig
2022-04-04file logging: shorten continuation prefixKlaus Aehlig
While on the console, we want multi-line logs nicely aligned, when logging to a file, unique readability is enough. So we can fix the continuation prefix to a fixed string (with non-overlapping initial segment). This makes log files easier to scan and also avoids very long lines, given that the more complete message prefixes are very long.
2022-04-04Set top-level default targetKlaus Aehlig
... to install the resulting binary to "bin".
2022-04-04Hardlinking: when error is expected, log only at debug levelKlaus Aehlig
2022-03-31rules ["CC", "libray"]: fix doc stringsKlaus Aehlig
... to have consistent punctuation. Also make clear, that the configuration does not have to specify "CC", etc, as usually they are taken from the default target.
2022-03-30Eliminate duplicated code in ParseEntityName{FromJson,FromExpression}Alberto Sartori
This patch introduces a templated ParseEntityName which can accept a json or ExpressionPtr. Internally, performs a proper dispatch on these cases - isString - isList - size == 2 - size >= 3 A test is added for checking the proper handling of an empty list
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-25ExecutionApi: Add test for retrieving mixed blobs and treesOliver Reiche
2022-03-25don't check bounds twiceAlberto Sartori
2022-03-24Document our cache-pragmas for actionsKlaus Aehlig
... that allow us to treat builds and tests in a uniform way, basically by building a test report.
2022-03-24doc/concepts/anonymous-targets.org: fix org markup typoKlaus Aehlig
2022-03-23Apply changes suggested by clang-tidy 11Oliver Reiche
2022-03-23Apply changes suggested by clang-format 11Oliver Reiche
2022-03-23repos.json: add pragma "to_git" for roots used by external projectsKlaus Aehlig
... so that they become fully content-fixed and we can benefit from target caching, once implemented.
2022-03-23multi-repo setup tool: add pragma to transfrom file roots to gitKlaus Aehlig
... and in this way enable them to present themselves to our tool als fully specified content (which will be useful once we add target caching). If that file root is under git anyway (like the rules or external target files in this repository) computing that git root is also a relatively cheap operation.
2022-03-23remove obsolete targetsAlberto Sartori
By having a proper rule for CC/IDE, these targets are no longer needed
2022-03-23add just-ext-hdrs target to stage external headers is a given folderAlberto Sartori
This is useful when e.g. using an IDE to get access to the definition/ declaration of the symbols of external dependencies
2022-03-23Create IDE rule for CC targetsOliver Reiche
2022-03-22BazelApi: Fix retrieving artifacts to filesystem pathOliver Reiche
... which was accessing the wrong artifacts in the list if the artifact list contains a mixture of files and trees.
2022-03-22Add basic documentation for anonymous targetsKlaus Aehlig
2022-03-22Add documentation for the basic concepts of multi-repo buildsKlaus Aehlig
2022-03-22Document the way we use our documentation stringsKlaus Aehlig
2022-03-21Drop unnecessary declaration of indirect dependenciesKlaus Aehlig
If we do not use a target directly, we also should not include it. It's be build tool's job to track indirect dependencies.
2022-03-21["", "exported-just"] make "CC" flexibleKlaus Aehlig
While our own tool is entirely written in C++, we link against libraries written in C which, in the default multi-repo setup we build from source. Therefore, the target also depends on the C compiler, not only the C++ one. Hence also allow the user to user a different compiler here as well, in the same way as they can override the C++ compiler.
2022-03-18When representing a directory as json, terminate with new-line characterKlaus Aehlig
I this way, also resulting trees can cleanly be printed on the command line via the -P option.
2022-03-18Add documentation for the "proto" fields in the CC rulesKlaus Aehlig
2022-03-16Format: Apply compact JSON formattingOliver Reiche
2022-03-14External libgit2: Inline filegroups used only onceOliver Reiche
2022-03-14External libgit2: Remove duplicate defineOliver Reiche
2022-03-14just describe: Also describe config fieldsOliver Reiche
2022-03-14ExecutionApi: Add test for creating outdirs before executionOliver Reiche
2022-03-14LocalExecution: Create output dirs prior to executionOliver Reiche
... to be consistent with the remote execution protocol.
2022-03-14ExecutionAPI: Add test for retrieving trees to pathOliver Reiche
2022-03-14BazelApi: Fix missing entries in cached trees from tree mapOliver Reiche
... as wrongfully only sub-tree entries were added to locally cached trees, although they should also store entries for files and executables.
2022-03-14LocalApi: Fix missing entries in cached trees from tree mapOliver Reiche
... as wrongfully only sub-tree entries were added to locally cached trees, although they should also store entries for files and executables.
2022-03-14rule CC/test: Introduce TEST_ENV for test runnersOliver Reiche
2022-03-14ExecutionAPI: Add common tests for local and remote apiOliver Reiche
2022-03-09LocalCAS: Set epoch time for every entryOliver Reiche
... and refactor static constant to proper format `kFdLess`.
2022-03-09FileSystemManager: Support set epoch time on file creationOliver Reiche
2022-03-09FileStorage: Avoid rename for owned filesOliver Reiche
... and therefore split the common `AtomicAdd()` into two functions for adding from bytes or file path. The procedure for adding from bytes remains the same. For adding from file path, we can link the file directly and skip the rename, if the file did not exist and we have ownership.
2022-03-09Add a test demonstrating nested treesKlaus Aehlig
2022-03-08LocalCAS: Prefer hard link over copy for owned filesOliver Reiche
2022-03-08FileSystemManager: Implement hard link creation with permsOliver Reiche
2022-03-08LocalCAS: Avoid writable fds when adding executables to CASOliver Reiche
2022-03-08FileSystemManager: Implement fd-less write to fileOliver Reiche
2022-03-08FileSystemManager: Implement fd-less file copyOliver Reiche
2022-03-08SystemCommand: Exit without cleanup on error and avoid loggerOliver Reiche
2022-03-08SystemCommand: Move to new module "src/buildtool/system"Oliver Reiche
2022-03-04Patch away unused imports in bytestream.protoKlaus Aehlig