summaryrefslogtreecommitdiff
path: root/src/buildtool/main
AgeCommit message (Collapse)Author
2022-11-16Release 1.0.0~beta6Klaus Aehlig
2022-11-11Support dumping variables of the analysed targetKlaus Aehlig
Add an option --dump-vars showing the variables of the configuration used (including the use of them being unset). This information can be used, e.g., to export a given target in a maximally flexible way.
2022-10-27main: improve short self-description of justKlaus Aehlig
2022-10-20just: Take lexicographical first repositoryOliver Reiche
... if none is specified on command line or in the config.
2022-10-19Just suffix bump after introducing the latest incompatible changesSascha Roloff
2022-10-18TargetResult: Serialise inner TargetResults flatOliver Reiche
Before this change, TargetResults that appear inside of other TargetResults (typically via value nodes) were serialised via the top-level serialisation function for TargetResults. While technically correct, it is rather inefficient as identical expressions from outer and inner TargetResults are not properly deduplicated and a deeply nested data structure is maintained. With this change, expressions of inner TargetResults are serialised in the context of outer TargetResults, resulting in a flat list of all transitively contained expressions with proper deduplication applied. As this serialisation of TargetResult is used in target-level cache entries, the new format is a breaking change to existing entries. Therefore, after switching to the new serialisation format introduced by this commit, users are required to clean their target-level cache. This also reverts commit d22adef666d704680ee74b35a46d530f6b6d5f15, "Recursively scan provided results for known artifacts".
2022-10-12Add copyright and license notice to all source and header filesKlaus Aehlig
Signed-off-by: Goetz Brasche <goetz.brasche@huawei.com>
2022-10-07Bump suffix after fixing upload of known treesKlaus Aehlig
2022-10-05AnalysedTarget: Make shared pointer's content immutableOliver Reiche
... while technically not required, it makes it harder to run into nasty errors.
2022-10-04just: Fix version subcommand; Fix just section-1 man pagePaul Cristian Sarbu
The version subcommand now has no expected command line options, as expected. Also the version subcommand was missing from the man page synopsis.
2022-09-13Fix build with gcc/g++Oliver Reiche
2022-09-12Adapted TargetCache to download known artifacts from remote CAS to local CASSascha 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-19Bump verison to 1.0.0~beta2Klaus 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-19main: honor configuration for target_file nameKlaus Aehlig
... also when determining default module or target.
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-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
2022-08-05Describe: Move describe code to separate libraryOliver Reiche
2022-08-05InstallCas: Print warning for empty size in object-idOliver Reiche
2022-08-05InstallCas: Moved install-cas code to separate libraryOliver Reiche
2022-08-05CLI: Add flag for dumping raw tree objectsOliver Reiche
2022-08-05Version: Bump up to 0.1.1+develOliver Reiche
2022-08-05Version: Bump up to 0.1.1Oliver Reiche
2022-07-27describe: Support serializing to JSONOliver Reiche
2022-07-27describe: Support describing by rule nameOliver Reiche
2022-07-27install-cas now accepts --log-limit and --log-fileAlberto Sartori
2022-07-08In install-cas be more liberal in parsing artifact identifiersKlaus Aehlig
2022-07-06When requesting action input, also provide action informationKlaus Aehlig
Extend the --request-action-input option to also provide command line, environment, etc, of the requested action. As this option is mainly for debugging, having that information available via the analyse subcommand is useful; for build/install that change does not make a difference anyway.
2022-07-05Make remote endpoint specification part of analysisKlaus Aehlig
The remote execution endpoint shards the target-level cache; still, for analysis, we want to specify a particular target-level cache, e.g., to analyse the inputs of a particular action that failed remotely. Note that the action identifier depends on the target-level cache in question, due to the extensional projection implicit in target-level caching.
2022-07-05Remove option --persistentKlaus Aehlig
... as the --request-action-input option provides a clean way of restoring the inputs to a specific action, without the need of interacting with the internal directory structure of the tool. In particular, the new option also works for remote builds.
2022-07-05Implement staging of action inputsKlaus Aehlig
Add an option to change the requested result to be (as artifacts) the input stage of a specified action. In this way, the inputs to individual actions can conveniently be inspected, e.g., for local debugging of why an action failed.
2022-07-05Fix wrong output pipe for version info in mainPaul Cristian Sarbu
2022-07-04Main: Fix typo in include guardsOliver Reiche
2022-06-28Support more verbose error reportingKlaus Aehlig
2022-06-27just version information: support VERSION_EXTRA_SUFFIXKlaus Aehlig
... which, if defined, is appended to the suffix string. In this way, versions can be forked, e.g., if non-upstream changes are included.
2022-06-24Add a version subcommandKlaus Aehlig
To also allow identifying snapshot versions in a meaningful way, we support embedding SOURCE_DATE_EPOCH which ought to be set to the commit time of the commit used.
2022-06-20Crypto: Add and use set of globally used hash functionsOliver Reiche
2022-06-14fix handling of workspace root for the main repositoryAlberto Sartori
commit fd58a5eb429d4a9db51f73c06137f1a4ebe41c08 introduced a bug. If the main workspace root is a git repo, it will be overwritten by a std::optional<std::filesystem::path> storing std::nullopt. This patch fixes this wrong behaviour.
2022-06-13Main: Print statistics for export targetsOliver Reiche
2022-06-13Main: Collect cache artifacts and Write target cache entriesOliver Reiche
2022-06-13GraphTraverser: Add support for extra artifactsOliver Reiche
2022-06-13RemoteExecutionConfig: Keep global platform propertiesOliver Reiche
... and cache endpoint address for rebuilding.
2022-06-13FileRoot: support content descriptionKlaus Aehlig
For some file roots, in particular git trees, we can give a complete selfcontained description of the content without accessing any external resources. For those, add a method to return such a complete description that will be used to compute the keys of content-defined repositories.
2022-06-13CLI: Catch and report non-CLI11 related errorsOliver Reiche
... and ensure that the default logging is set up before.
2022-06-09improve error messageAlberto Sartori
2022-06-09reduce code duplicationAlberto Sartori
2022-06-09pass by const ref big objectsAlberto Sartori