summaryrefslogtreecommitdiff
path: root/doc/concepts
AgeCommit message (Collapse)Author
5 daysdoc: Fix various typos and inconsistenciesPaul Cristian Sarbu
5 daysDocumentation: fix typosKlaus Aehlig
9 daysDocumentation: fix default for "main" in repository-configKlaus Aehlig
9 daysDocumentation: fix some typosKlaus Aehlig
2025-06-12Update documentationMaksim Denisov
2025-05-09invocation log: include seconds in directory nameKlaus Aehlig
The directory name is designed to allow an easy rough sorting by time. This can also be used to identify the latest build for a specific user. However, users often run several builds in a single minute; therefore, increase time-stamp precission to include seconds as well. While still lexicographic and chronological order will disagree, at least for a single user it will be correct most of the times.
2025-05-07profile: include remote-execution propertiesKlaus Aehlig
Include in the profile also the effective remote-execution endpoint, properties, and dispatch list. Software projects are often tested in a variety of environments or hardware configurations; as, obviously, the performance might differ significantly (especially depending on the used hardware) a proper analysis therefore requires the possibility to distinguish the various backends. Adding the effective configuration adds this posibility.
2025-04-16concepts, profiling: clarify scope of --profileKlaus Aehlig
2025-04-14clean up markdown in tutorial and conceptsKlaus Aehlig
... and ensure that pandoc processes them correctly. In particular, add an empty line around itemize environments.
2025-04-09Document tree overlays as implemented conceptKlaus Aehlig
2025-04-07Documentation of built-in rules: document {disjoint_,}tree_overlayKlaus Aehlig
2025-04-07Rule documentation: describe `TREE_OVERLAY` and `DISJOINT_TREE_OVERLAY`Klaus Aehlig
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-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.
2024-10-09doc: fix a typoAlberto Sartori
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-02generic rule: add support for cwdKlaus Aehlig
2024-08-02rules: make ACTION expression support "cwd"Klaus Aehlig
2024-07-26Add quasiquote expressionKlaus Aehlig
2024-07-26expression language: add quotingKlaus Aehlig
2024-07-24Remove implemented design document on root gcKlaus Aehlig
2024-06-25describe: also describe "configure" targets in more detailKlaus Aehlig
Most built-in rules are just described by their name, assuming they are known to the user anyway. One exception, however, are "export" targets, as those serve as interfaces to (logical) repositories and hence is supposed to have a documentation of the target itself. Over time, however, "configure" targets have evolved to become internal interfaces (maybe even for an external target), e.g., to provide default values and hence make better use of the actual export target. Therefore it is desirable to provide a bit more information when asked to describe a "configure" target. - As "configure" targets have a fixed set of keys, adding a "doc" field is a conservative extension; this can be useful to give an overview what the target is about. - An important information of a "configure" target is the target that is configured. While this, in general, is an expression, in the typical cases, the description is very short (a literal target name, or a variable). So we can afford to show the definition.
2024-06-25documentation: fix typoKlaus Aehlig
2024-06-06Update documentation about tc writing in the presence of serveKlaus Aehlig
2024-05-13doc rules: Fix typoPaul Cristian Sarbu
2024-05-03Remove large-blobs from future designs as it is implementedKlaus Aehlig
... and document the implementation in the concepts documentation.
2024-04-29expressions doc: Fix typosPaul Cristian Sarbu
2024-04-24expressions: add logical negationKlaus Aehlig
While this can already be expressed by an "if" statement, having a dedicated function for logical negation makes some expressions more readable.
2024-04-24expressions: for "if" expressions, make both branches optionalKlaus Aehlig
... using, also for the "then" branch, the empty list as default. In this way, this statement not only more symmetric, but also allows shorter representations of some typical expressions.
2024-04-24expressions: add "length" functionKlaus Aehlig
Lists are somtimes used in configurations as replacement for tuples. Providing length gives an easy way to detect usage errors.
2024-04-24expressions: add generic assertionsKlaus Aehlig
2024-04-16expression language: add array access by indexKlaus Aehlig
2024-04-12service-target-cache doc: Remove obsolete conceptPaul Cristian Sarbu
2024-03-26Expression language: add float operations "*" and "+"Klaus Aehlig
Numerical values are used at some places in justbuild: as value for timeout scaling, as well as by the "range" expression that is used, e.g., to define repreated test runs. Therefore, improve support for numerical values by adding basic operations.
2024-03-08doc: Improve description of "preferred hostnames"Oliver Reiche
2024-02-27symlinks design doc: Fix typoPaul Cristian Sarbu
2024-01-26doc: Extend 'just serve' design with absent roots sync changesPaul Cristian Sarbu
Adds documentation for the new proto requests required for the 'to_git' pragma root handling, as well as general syncing of root trees. Also adds clarifying comments on handling of absent roots by just-mr.
2024-01-18Document the implementation of tc deps tracking on gcKlaus Aehlig
2024-01-08doc: Extend just serve design with 'tree of a distdir' auxiliary requestPaul Cristian Sarbu
2023-12-15just serve design doc: Update and move to conceptsPaul Cristian Sarbu
2023-12-11Documentation for "configure" rule: clarify role of "config"Klaus Aehlig
... as an overlay for the configuration, not the configuration to be used for the target to configure.
2023-11-23Move blob-splitting design document to implemented conceptsSascha Roloff
2023-11-15target-cache.md: fix a typoAlberto Sartori
2023-11-14alternative-mirrors design doc: Move to concepts folderPaul Cristian Sarbu
...and reword content to move from proposal to implemented state.
2023-08-28Extend built-in "generic" rule to allow setting "sh"Klaus Aehlig
2023-08-14expression: add new built in "reverse"Klaus Aehlig
While a foldl is enough to implement a reverse functionality, adding it as a built in allows doing so in linear time.
2023-08-14expression: add new built in "set"Klaus Aehlig
... to obtain from a list of strings a map with those entries as keys and true as value. In this way, repeated membership tests in lists can be implemented more efficiently.