summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2023-01-12source map: quote file names in error messageKlaus Aehlig
... to ensure unique readability even with file names containing spaces or other special symbols; those kind of fancy file names typically occur when a string intended as named target is implicitly taken as a file (e.g., due to a spelling error). While there, also include directory and repository in the error message.
2023-01-10repos_to_setup_map: Remove unnecessary logger capture in lambda callsPaul Cristian Sarbu
2023-01-10Just-MR: Fix distdir computation in internal just-mrPaul Cristian Sarbu
This provides the fix already performed for the just-mr script in the internal just-mr as well. In short, this fix makes sure that the computation of the content key for distdir repositories is independent of the presence of the respective archives in CAS.
2022-12-23Just-MR: Fix wrong commit_git_map keyPaul Cristian Sarbu
The subdir is required alongside the commit hash for a valid map key when importing a Git repository into our Git cache.
2022-12-23Just-MR: Remove wrong pass-by-reference when wrapping loggersPaul Cristian Sarbu
Passing the logger by reference would require the caller to be kept alive. Also, being a shared_ptr, the logger can be passed by value at almost no cost.
2022-12-23Just-MR: Fix bloated reachable reposPaul Cristian Sarbu
Use intermediary unordered sets to store the repos to_setup and to_include to avoid unnecessary duplicates. It is purely a performance benefit.
2022-12-23Just-MR: Fix mrrc config handlingPaul Cristian Sarbu
The parser was exiting early when the user gave no rc file, before having the chance to look for the config file in the default locations.
2022-12-23just-mr: fix exec log messageKlaus Aehlig
... to show the argument vector properly serialized as json. In this way, the vector can be read unambigiously even if arguments contain white space.
2022-12-22Add option --dump-export-targetsKlaus Aehlig
... dumping only the configured targets that are export targets. Those targets are of particular interest as those are the targets, as they are the high-level caching points and also often serve as interface between projects.
2022-12-22export targets: identify as such in result_mapKlaus Aehlig
Make export targets identify themselves in the result_map, so that we have accurate knowledge of the export targets seen.
2022-12-22result_map: also keep track of export targetsKlaus Aehlig
Allow in the addition of a target to the result map to indicate that it was an export target; in this way, the information is available as a result of the analysis.
2022-12-21Just-MR: Add main logic for just calls sub-commandsPaul Cristian Sarbu
2022-12-21Just-MR: Add main logic for setup and setup-env sub-commandsPaul Cristian Sarbu
2022-12-21Just-MR: Add main logic for update sub-commandPaul Cristian Sarbu
2022-12-21Just-MR: Add main logic for fetch sub-commandPaul Cristian Sarbu
2022-12-21Just-MR: Add main with CL args handlingPaul Cristian Sarbu
2022-12-21Just-MR: Add repos-to-setup mapPaul Cristian Sarbu
Contains the logic for the checkout of all supported repositories.
2022-12-21Just-MR: Add archive content to WS root git mapPaul Cristian Sarbu
Uses libarchive to unarchive the archives from CAS.
2022-12-21Utils: Add wrapper class for libarchive operationsPaul Cristian Sarbu
2022-12-21Just-MR: Add archive fetch mapPaul Cristian Sarbu
2022-12-21Just-MR: Add archive content-in-CAS mapPaul Cristian Sarbu
Calls libcurl to fetch the archives from the internet.
2022-12-21Utils: Add curl easy handle utility classPaul Cristian Sarbu
2022-12-21Utils: Add curl context utility classPaul Cristian Sarbu
2022-12-21Crypto: Add SHA512 hasherPaul Cristian Sarbu
Needed by the content-in-CAS git map to check fetched archives' checksums. SHA1 and SHA256 hashers are already implemented.
2022-12-21Just-MR: Add file path to WS root git mapPaul Cristian Sarbu
2022-12-21FS Manager: Add CopyDirectoryImpl methodPaul Cristian Sarbu
2022-12-21Just-MR: Add commit to WS root git mapPaul Cristian Sarbu
2022-12-21Just-MR: Add git commit update mapPaul Cristian Sarbu
2022-12-21Just-MR: Add distdir to WS root git mapPaul Cristian Sarbu
2022-12-21Just-MR: Add import-to-git mapPaul Cristian Sarbu
2022-12-21Just-MR: Add utilities library for just-mrPaul Cristian Sarbu
2022-12-21Just: Move constants from main into own header filePaul Cristian Sarbu
2022-12-21Utils: Add class handling tmp directoriesPaul Cristian Sarbu
2022-12-21Git: Wrap libgit2 raw pointersPaul Cristian Sarbu
2022-12-21Test: Add tests for critical git opsPaul Cristian Sarbu
2022-12-21Just-MR: Add non-critical git ops logic to git repo classPaul Cristian Sarbu
2022-12-21Just-MR: Add critical git op mapPaul Cristian Sarbu
2022-12-21Just-MR: Add logic for critical git opsPaul Cristian Sarbu
2022-12-21Just-MR: Add types definitions for critical Git opsPaul Cristian Sarbu
2022-12-21Just-MR: Add critical ops logic to git repo classPaul Cristian Sarbu
2022-12-21Git CAS: Move Git tree ops to fake repo wrapper classPaul Cristian Sarbu
2022-12-20Git CAS: Add fake repository wrapper for git odbPaul Cristian Sarbu
2022-12-20Git CAS: Clean includesPaul Cristian Sarbu
Removed unused file_system_manager dependency
2022-12-20Git CAS: Add a Git context class to maintain the libgit2 statePaul Cristian Sarbu
2022-12-12Start 1.1 development cycleKlaus Aehlig
2022-12-12Release 1.0.0v1.0.0Klaus Aehlig
2022-12-09rules: Refactoring and minor improvementsOliver Reiche
Compared to the previous commit, the action graphs for just and its unit tests are unchanged. - Git hash of action graph for ["",""]: c6e75f17abd7ffaab6ff9bb725ad67ec0bf6c973 - Git hash of action graph for ["test/buildtool","TESTS"]: 8063dfb3dd7daa9ae01d95c177e14946f785c57e Refactor: - "local cflags" to "private-cflags" - "local defines" to "private-defines" - "link externals" to "private-ldflags" - "deps" to "private-deps" for (test) binaries - "proto" to "private-proto" for binaries Improvements: - consistent variable declaration order: OS, ARCH, HOST_ARCH, TARGET_ARCH, CC, CXX, CFLAGS, CXXFLAGS, ADD_CFLAGS, ADD_CXXFLAGS, AR, ENV, PATH - use fields close to their definition (in RULES) - use common expression for binaries and test binaries - split expression "flags" and "compiler" ... to separate ones for CC and CXX. - rename "transition" to "deps-transition" ... to avoid conflicts with other transitions. - support "defaults-transition" for CC expressions Implement: - "cflags" for libraries - "private-cflags" for (test) binaries - "private-defines" for test binaries - "private-ldflags" for test binaries - (public) "defines" for libraries
2022-12-07Built-in rules: add a tree ruleKlaus Aehlig
... so that for every construct supported in rules there is an analogous one as a built-in rule to allow ad-hoc constructions without having to write a rule (even though writing a rule is recommended for everything occuring more than once): - the "generic" rule allows an ad-hoc ACTION, - the "file_gen" rule allows an ad-hoc BLOB, - the "tree" rule allows an an ad-hoc TREE, and - the "configure" rule allows an ad-hoc configuration transition.
2022-12-07file_gen rule: fix computation of effective configurationKlaus Aehlig
The dependencies requested in order to read their "outs" or "runfiles" also contribute to the effective configuration.
2022-12-07just: Allow multiple log filesPaul Cristian Sarbu