summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-09-01add basic test for deduplicationKlaus Aehlig
... verifying that deduplication does not modify the analysis result.
2023-09-01Add a utility tool to deduplicate internal repositoriesKlaus Aehlig
Together with just-import-git that allows a work flow of easily importing dependencies without exponential blow up of the resulting repos.json files.
2023-08-31just-mr.py: Fix None checksPaul Cristian Sarbu
2023-08-31just-mr.py: Fix wrong check added by type annotation changesPaul Cristian Sarbu
The checkout locations keys can, of course, include the empty string, so key check should be explicitly typed.
2023-08-31just-import-git: fix fallout of type annotationsKlaus Aehlig
In order to get the type checker happy, some wrong type annotations were added and, as a consequence, an unwarrented conditional as well. To make things worse, this as checking for the non-None-ness of a value by inspecting the truth value, ignoring that the non-None value "" also has truth value False. Remove this conditional alltogether and fix the type annotations.
2023-08-29python: Add type hints and fix style in rules scriptsPaul Cristian Sarbu
2023-08-29python: Add type hints and fix style in test scriptsPaul Cristian Sarbu
For maximum compatibility, we use the uppercase types from the typing package instead of the built-in types, therefore compliant with PEP 484 and PEP 526.
2023-08-29just-import-git.py: Add type hints and fix stylePaul Cristian Sarbu
For maximum compatibility, we use the uppercase types from the typing package instead of the built-in types, therefore compliant with PEP 484 and PEP 526. As unfortunately there is no proper JSON typing option that requires many casts, we use a more lax typing for JSON inputs, but enforce return types in order to implicitly infer the actual format of an input JSON variable (dict, list, string etc.).
2023-08-29bootstrap.py: Add type hints and fix stylePaul Cristian Sarbu
For maximum compatibility, we use the uppercase types from the typing package instead of the built-in types, therefore compliant with PEP 484 and PEP 526.
2023-08-29parallel-bootstrap-traverser.py: Add type hints and fix stylePaul Cristian Sarbu
For maximum compatibility, we use the uppercase types from the typing package instead of the built-in types, therefore compliant with PEP 484 and PEP 526. As unfortunately there is no proper JSON typing option that requires many casts, we use a more lax typing for JSON inputs, but enforce return types in order to implicitly infer the actual format of an input JSON variable (dict, list, string etc.).
2023-08-29bootstrap-traverser.py: Add type hints and fix stylePaul Cristian Sarbu
For maximum compatibility, we use the uppercase types from the typing package instead of the built-in types, therefore compliant with PEP 484 and PEP 526.
2023-08-29just-mr.py: Add type hints, fix style, and improve readabilityPaul Cristian Sarbu
For maximum compatibility, we use the uppercase types from the typing package instead of the built-in types, therefore compliant with PEP 484 and PEP 526. As unfortunately there is no proper JSON typing option that requires many casts, we use a more lax typing for JSON inputs, but enforce return types in order to implicitly infer the actual format of an input JSON variable (dict, list, string etc.).
2023-08-28fmt: Specialize formatter only for version >= 10Oliver Reiche
2023-08-28Add end-to-end test that the shell is settable in "generic"Klaus Aehlig
2023-08-28Extend built-in "generic" rule to allow setting "sh"Klaus Aehlig
2023-08-28man: Fix missing quoting of literalsPaul Cristian Sarbu
2023-08-28Silence warnings produced by older compilersOliver Reiche
... in particular options like '-Wno-array-parameter', which are needed to silence newer compilers are not supported by older ones. Hence, add '-Wno-unknown-warning-option' for all.
2023-08-28Fix path hash for libstdc++ bug-fix release 11.4Oliver 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-28Add explicit fmt::formatter for nlohmann::basic_jsonMichael 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-28absl: avoid off64_tKlaus T. Aehlig
... to improve portability
2023-08-28Fix rule doc string of patch defaultsOliver Reiche
2023-08-25man: Document --backup-to-remote argument for just-mr fetchPaul Cristian Sarbu
2023-08-25man: Extend just-mr and just-mrrc specifications...Paul Cristian Sarbu
with the remote execution address and mTLS authentication options.
2023-08-25test: Check that just-mr interacts correctly with a remote endpointPaul Cristian Sarbu
The argument --backup-to-remote of just-mr and, thus, also this test can only be run in native mode.
2023-08-25just-mr fetch: Allow to back up fetched archives to a given remote CASPaul Cristian Sarbu
2023-08-25just-mr: Interrogate remote CAS before defaulting to network fetch...Paul Cristian Sarbu
...for archives not already in local CAS.
2023-08-25just-mr utils: Extract setup-related code into separate libraryPaul Cristian Sarbu
This better separates the utility methods used in just-mr commands and avoids any cyclic dependencies that might arise in new utility methods requiring both existing utilities and the command-line arguments.
2023-08-25just-mr: Add remote execution and mTLS argumentsPaul Cristian Sarbu
These have similar meanings as in 'just', are forwarded to 'just' subcommands that support them, and can be set also in the RC file via appropriate fields.
2023-08-25tutorial: hint on `just describe` to list implicit dependenciesKlaus Aehlig
2023-08-25just describe: also show the implict dependenciesKlaus Aehlig
... in the human-readable description. More precisely, for any implicit target field, show - the field documentation given (if any), and - the resolved targets this field contains. However, do not show the actual name of the field, as this name is internal to the rule and not part of the interface.
2023-08-25Start 1.3 development cycleKlaus Aehlig
2023-08-25Release 1.2.0v1.2.0Klaus Aehlig
2023-08-24tests: Improve error reporting in scriptsOliver Reiche
2023-08-24tests: Fix equal operator type mismatchOliver Reiche
... causing an error with gcc 13.2.0.
2023-08-24imports: Silence warnings of external codeOliver Reiche
2023-08-24lzma: Add missing definesOliver Reiche
2023-08-24LinkedMap: Simplify ::Find() methodsOliver Reiche
... to silence false-positive 'possible dangling reference' warning produced by gcc 13.2.0.
2023-08-24test: verify that actions with incompelete outputs are requestedKlaus Aehlig
... on next invocation, instead of being taken from cache.
2023-08-24Execution: only take complete actions from cacheKlaus Aehlig
... which are only actions that, besides giving exit code 0 also created all the outputs they promised to.
2023-08-23utils path: Add missing inline specifierOliver Reiche
... to suppress 'unused function' warnings.
2023-08-23target_map: Use iterators instead of pointer arithmeticOliver Reiche
2023-08-23just: split main codeKlaus Aehlig
... by moving the diagnose and cli related code into to separate libraries. In this way, we hopefully improve maintainability of the code base.
2023-08-23just-mr: Split main codePaul Cristian Sarbu
...by moving subcommands code into separate libraries. This maintains a cleaner code structure and lowers the build time by improving target caching.
2023-08-22Update tutorial to use latest version of rules-ccKlaus Aehlig
2023-08-22tutorial: Use new TOOLCHAIN_CONFIG variableOliver Reiche
2023-08-22Release 1.2.0~beta3v1.2.0-beta3Oliver Reiche
2023-08-21external: Update zlib to v1.3Paul Cristian Sarbu
Old K&R function definitions got cleaned upstream, which removes many warnings when building zlib with more recent compilers.
2023-08-21bundled absl: configure in a portable wayKlaus Aehlig
... by disabling auto-configuration. The problem that the result of this auto-configuration depends on the language standard used and may (and in case of libproto does) leak into public interfaces of consuming libraries; this would require every user of a library with a public dependency of absl to use the same language standard that library was built with. Such a requirement makes the rules hard to use in a portable way.
2023-08-21rules: Add documentation for the implict dependenciesKlaus Aehlig
2023-08-18absl: Do not require OS and ARCHOliver Reiche
... and use "linux" as default for OS. If TARGET_ARCH is "arm" or not set, link against -latomic (for required targets).