summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-09-13Doc: Update install instructions for cross-compilationOliver Reiche
2022-09-13Just: Set default TARGET_ARCH and COMPILER_FAMILYOliver Reiche
2022-09-13Defaults: Use hierarchical defaults for flags and toolchainOliver Reiche
2022-09-13Externals: Propagate ADD_{C,CXX}FLAGS variablesOliver Reiche
2022-09-13Externals: Propagate CC/CXX/CFLAGS/CXXFLAGS variablesOliver Reiche
2022-09-13Externals: Propagate 'COMPILER_FAMILY' and 'DEBUG' variablesOliver Reiche
2022-09-13Rules: Implement setting ADD_{C,CXX}FLAGS via variablesOliver Reiche
2022-09-13Rules: Implement hierarchical defaultsOliver Reiche
2022-09-13Rules: Extend configure rule by 'compiler_family'Oliver Reiche
2022-09-13Externals: Fixes for supporting cross-compilationOliver Reiche
2022-09-13Fix build with gcc/g++Oliver Reiche
2022-09-13Fix arch-specific type mismatchOliver Reiche
2022-09-13Fix wrongful conversions of object to arraysOliver Reiche
... by dropping curl-brace-initializers for nlohmann::json, which calls the intializer-list constructor converting any JSON type to array.
2022-09-13Executor: Avoid use of dynamic memoryOliver Reiche
2022-09-12Added end-to-end test for the synchronization of target-level cached ↵Sascha Roloff
artifacts between remote and local CAS
2022-09-12Removed prefix from execution backend hash to fix target cache directory nameSascha Roloff
2022-09-12Adapted Executor to upload known artifacts from local CAS to remote CAS in ↵Sascha Roloff
case they got pruned
2022-09-12Adapted TargetCache to download known artifacts from remote CAS to local CASSascha Roloff
2022-09-12Introduced RetrieveToCas function in IExecutionApi to synchronize artifacts ↵Sascha Roloff
between different CASes
2022-09-12BazelApi chunk availability check returns provided ArtifactDigestsSascha Roloff
2022-09-12Removed ArtifactDigest is_tree() predicateSascha Roloff
2022-09-12fix the path of the local tree-cas for compatible modeAlberto Sartori
in daca274041e31636f08927b0cebc56fd33c7bbdf it has been added a local tree-cas. This cas is populated only when just runs in native mode. However, even in compatible mode, a tree must be looked for in the tree-cas. This patch set the path of the tree-cas to be the same of file-cas while running in compatible mode.
2022-09-12Fixed tree handling in compatible mode and added regression testSascha Roloff
2022-08-31Also track the the dependencies on configured targetsKlaus Aehlig
... to be able to report the respective graph for later analysis by other tools.
2022-08-31Export targets that just used from external repositoriesKlaus Aehlig
So far, we did not export ["@", "grpc", "", "grpc++_codegen_proto"] and ["@", "grpc", "src/compiler", "grpc_cpp_plugin"]. Those targets where used implicitly in the generation of protobuf. As flexible config we use all variables those targets currently depend upon. This will have to be extended once cross compilation will be added. So far, the "TARGET_ARCH" is only used by targets that have different source files (typically inline assembly) for different target architectures. With cross compilation, also the tool chain will depend on the target architecture.
2022-08-26tutorial/test: demonstrate that the internals of the test are availableKlaus Aehlig
... by explaining how to install the test binary and manually interact with it. This also shows how to inspect an action for debugging.
2022-08-26tutorial/thrid-party-software: clarify tree refrenceKlaus Aehlig
... emphasizing that it constructs only a single artifact. In this way, we avoid confusion with globs (that are introduced later).
2022-08-24Glob tutorial: fix typos and white spaceKlaus Aehlig
2022-08-23Add new tutorial sections to READMEKlaus Aehlig
2022-08-23Add a tutorial section explaining targets vs explicit source referencesKlaus Aehlig
2022-08-23Add a rule to overlay artifact mapsKlaus Aehlig
... in a latest-wins fashion. The intended use case is overlaying globs with individual patched files.
2022-08-23Track tree references that have to be expandedKlaus Aehlig
... as this is relevant for performance of analysis. We log the total numer of trees at performance level and the individual directories at debug level, if requested.
2022-08-22Progress percentage: only count actual workKlaus Aehlig
When reporting the percentage already completed, only report actions that were actually run. Cache hits are considered by reducing the overall work to be considered, i.e., by making the completed actions count more. In practice, however, most cache hits are discovered ayway till the first progress status is reported.
2022-08-22Tutorial: Add minimalistic getting started sectionOliver Reiche
2022-08-19Tutorial: Use sh instead shell for improved renderingOliver Reiche
2022-08-19Progress: Print overall build progress in percentOliver Reiche
2022-08-19Rebuild: Support proper progress printingOliver Reiche
2022-08-19Bump verison to 1.0.0~beta2Klaus Aehlig
2022-08-19Add an end-to-end test for glob expansionKlaus Aehlig
2022-08-19Add glob reference to source filesKlaus Aehlig
Like file or tree references, globs are restricted to the current module; in fact, by the way we evaluate them, even to the top-level directory of that module: a glob is a target having as artifacts and runfiles those entries of the top-level directory of the specified module that match the given pattern.
2022-08-19directory_map: correctly resolve module names to directoriesKlaus Aehlig
When constructing module names, we normalize the directory path implicit in it. However, we take the empty string as valid canonical name for the top-level directory (as it is the empty relative path). When accessing git roots, however, only the file-system canonical path "." is special cased as self reference. Hence explicitly convert the empty string.
2022-08-19main: honor configuration for target_file nameKlaus Aehlig
... also when determining default module or target.
2022-08-16rules/CC: fix duplicated staging for libraryAlberto Sartori
2022-08-09RemoteExecutionClient: print debug stringAlberto Sartori
2022-08-05Add license fileKlaus Aehlig
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com>
2022-08-05dump-targets: don't dump source treesKlaus Aehlig
We have to include explicit tree references into our target-result map, as these targets can provide a tree definition, if the root is not a git root or compatible mode is used. Nevertheless, from a user's persepective, trees are just source references, like files. Therefore, do not include them, when dumping the map of analyzed targets. In this way, we also avoid the ambiguity in the dump between an explicit tree reference and a defined target with the same name.
2022-08-05Artifact reporting: repeat the failed artifactsKlaus Aehlig
In targets that produce a large list of artifacts, e.g., a simple test suite realized by "install", it is sometimes hard to find the failed artifacts after being made aware of them by the warning. Therefore, at info level, repeat a list of the failed artifacts close to the end of the output.
2022-08-05Move analysis out of main.cppKlaus Aehlig
Analysing a target is a pretty self-contained task. So move it into a library of its own, to keep main.cpp more managable.
2022-08-05Make ANSI escape sequences optionalKlaus Aehlig
2022-08-05Version: Bump up to 1.0.0~beta1Oliver Reiche