summaryrefslogtreecommitdiff
path: root/doc
AgeCommit message (Collapse)Author
2025-03-24doc expressions: Document 'zip_with' and 'zip_map'Paul Cristian Sarbu
2025-03-20Document profiling as tool conceptKlaus Aehlig
... and remove it from the future design, as it is already implemented.
2025-03-19doc: Improve debug fission designPaul Cristian Sarbu
Clarify the handling and extent of proposed debug-related configuration fields in the CC defaults.
2025-03-18doc: Add design for debug fission integrationPaul Cristian Sarbu
2025-03-17Extend tutorial to also include other uses of build delegationKlaus Aehlig
2025-03-10profiling design: drop asynchronous writingKlaus Aehlig
... as it turns out that the synchronous writing is fast enough and hence we can avoid all the problems of background processes.
2025-03-06tutorial: Add chapter on just-lockPaul Cristian Sarbu
Also update the README.
2025-03-06tutorial: Consistently use the fmtlib release tagPaul Cristian Sarbu
...instead of using the master branch.
2025-02-26profiling design: update logging optionsKlaus Aehlig
Reduce interference of invocation logging with regular logging operations; in particular, restrict just-mr passing the --async-profile option only to build commands and thus avoiding race conditions with calls to `analyse` that rely on having a graph available immediate after invocation.
2025-02-24just-lock design: Clarify env handling for 'generic' sourcePaul Cristian Sarbu
2025-02-20just-lock design: Clarify wording of --clone optionPaul Cristian Sarbu
- specify that what is cloned is the workspace root of the target repository - disambiguate what is referred to as the 'start' and 'target' repository
2025-02-20just-lock: Add option to set a just binary to usePaul Cristian Sarbu
2025-02-20just-lock: Support special pragma for plain importsPaul Cristian Sarbu
Marking a source repository 'as plain' means that the whole source repository tree will get imported as a repository type corresponding to the source type. In this case, additional pragmas than those supported by the inndividual imports might need to be set. Solve this by supporting the just-mr-style 'pragma' field also in the source description, for all sources also accepting the 'as plain' field. Currently support only the 'special' pragma. Document change and add test for plain imports that checks this feature.
2025-02-20just-lock: Improve handling of pragmas in 'repos' import descriptionPaul Cristian Sarbu
In particular, any transitive 'file'-type repository will inherit any given '{to_git: true}' pragma in the import description objects. Note that this technically can only happen for transitive 'file' repositories imported from a 'file' source, so in all other cases such a pragma would not have any effect. Document change and extend the import from 'file' source test to check this feature.
2025-02-18tutorial: update tests sectionKlaus Aehlig
Add the artifacts and outputs of the updated rules, as well as some explanatory remarks.
2025-02-18tutorial: update rebuild sectionKlaus Aehlig
- As we build a binary hello, make it an extension of the hello we had before. - Make the passing of time more explicit. - Add actual output of rerunning the tutorial.
2025-02-17tutorial: update hello-world sectionKlaus Aehlig
As our defaults rule supports flags common for C and C++ use them, especially as our example only uses common flags.
2025-02-17tutorial: update reference to rules-ccKlaus Aehlig
2025-02-14tutorial, getting started: add the basics of analyseKlaus Aehlig
2025-02-14tutorial, getting started: include more idiomatic use of optionsKlaus Aehlig
... in particular in the case of targets producing precisely one artifact; this better emphasizes the idea that we talk to the tool in terms of targets. While there, also add some clarifying comments.
2025-02-07Add design document on profiling buildsKlaus Aehlig
2025-01-30Add basic introduction on how to set up computed rootsKlaus Aehlig
2025-01-29just-lock config: Make field names consistent with just-mrPaul Cristian Sarbu
2025-01-24"generic" rule: verify staging conflicts on inputsKlaus Aehlig
The "generic" rules deliberately resolves conflicts on identical paths in a latest-wins fashion (seeing all artifacts as later than all runfiles) to allow an easy way to define actions. However, the inputs stage obtained by this resolution can still contain conflicts and those are an error. Properly detect those. Also clarify in the documentation, that only conflicts on identical paths are resolved in the described priority, not semantic overlap.
2025-01-23Document computed roots as implemented conceptKlaus Aehlig
... rather than as future design. While there, also add target-level caching as a service to the list of documentation pages.
2025-01-10just-lock design: Add fields 'type','mirrors','subdir' to 'archive' sourcePaul Cristian Sarbu
The 'type' field is optional and informs both the way to unpack the archive and which type imported file repositories should be rewritten as in the output configuration. Mirrors the 'just-mr' types, with options for tarballs and zip-like archives, defaulting to tarballs if missing. The 'mirrors' field is treated the same as for 'git' sources. The 'subdir' field is optional and accounts for the fact that the actual root of the source repository might be a subpath in the unpacked archive, as opposed to Git repositories where it is reasonable to expect that the sources root is the top-level directory.
2024-12-16just-lock design: Update --clone design...Paul Cristian Sarbu
...to refer to repositories as a chain of bindings to be followed starting from one of the known repositories (existing or imported). Both the initial and the target repositories are to be kept during deduplication.
2024-12-09Extend computed-roots design discussing the interaction with serveKlaus Aehlig
2024-11-29just-lock design: Clarify I/O file location defaultsPaul Cristian Sarbu
2024-11-28Proposal for just-lockPaul Cristian Sarbu
2024-11-08Design computed roots: Add additional root typeKlaus Aehlig
... specifically for the use case of target files depending on the directory structure.
2024-10-23Update rules reference in tutorialKlaus Aehlig
2024-10-09doc: fix a typoAlberto Sartori
2024-09-11Add a tutorial on setting up lintersKlaus Aehlig
2024-09-11Update rules-cc commit in tutorialKlaus Aehlig
2024-08-27debugging tutorial: Update to include correct toolchain defaultsPaul Cristian Sarbu
This is an essential step in the debugging process that was missing in the tutorial.
2024-08-14expression language: add nub_leftKlaus Aehlig
Originally, the expression lanuage only contained a function to deduplicate a list, keeping only the right-most occurence. The reason was that this is the order needed for linking: a library providing an open symbol has to come on the command line after the library using that symbol (and hence making it an open symbol). However, by now use cases have emerged that require a topological sorting where definition comes before use; also, when composing the value of PATH from fragments, we usually want to keep the first occurrence in order for it to take precedence. Therefore, also add "nub_left" as built-in function, allowing a more condense (and slightly more efficient) description in rules instead of the revserse-nub_right-reverse pattern.
2024-08-05Expression language: add expression from_subdirKlaus Aehlig
... allowing to select only the keys in a specific subdir, and move the them to top-level.
2024-08-02CHANGELOG: mention cwd supportKlaus Aehlig
... and drop the corresponding design document as implemented.
2024-08-02generic rule: add support for cwdKlaus Aehlig
2024-08-02rules: make ACTION expression support "cwd"Klaus Aehlig
2024-07-30Add design document on supporting a working directory inside the action ↵Klaus Aehlig
directory ... instead of always having to execute actions in the top-level directory.
2024-07-26Add quasiquote expressionKlaus Aehlig
2024-07-26expression language: add quotingKlaus Aehlig
2024-07-24Remove implemented design document on root gcKlaus Aehlig
2024-07-08tutorial on tests: set shell defaultsKlaus Aehlig
... as they will be used in newer versions of rules-cc to set the path for the test-summary action.
2024-07-08Remove hardlink design as implementedKlaus Aehlig
... and mention the fix in CHANGELOG.
2024-07-03Add a design document on how to handle the hard-link limitKlaus Aehlig
2024-06-26proto tutorial: Add section on debuggingPaul Cristian Sarbu
This showcases that also generated proto headers will be staged for debugging.
2024-06-26Add tutorial to showcase debuggingPaul Cristian Sarbu