summaryrefslogtreecommitdiff
path: root/doc/concepts
AgeCommit message (Collapse)Author
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.
2023-08-10doc: Extend documentation with 'symlink' built-in rulePaul Cristian Sarbu
2023-08-07doc: Extended treatment of symlinks in roots and treesPaul Cristian Sarbu
We now allow restrictive use of upwards symbolic links when importing filesystem directories and archives to git.
2023-07-12Execution properties are no longer a future designKlaus Aehlig
... but an implemented concept. Update the documentation accordingly.
2023-06-28doc: Move non-upwards symlinks to conceptsPaul Cristian Sarbu
Also link it in the README.
2023-06-28doc: Fix description of built-in rule genericOliver Reiche
2023-06-26Add non-upwards symlinks in the rule language...Paul Cristian Sarbu
via a 'SYMLINK' constructor function. This works similarly to the 'FILE' construct, but the name given must point to a non-upwards symlink and a symlink artifact is being generated from it. Also updates the relevant tests.
2023-06-12doc: Minor format and consistency improvementsOliver Reiche
2023-06-12doc: Convert orgmode files to markdownOliver Reiche
2023-02-28Various typo fixesPaul Cristian Sarbu
Co-authored-by: Sascha Roloff <sascha.roloff@huawei.com>
2023-02-22docs: Fix typos in general documentationPaul Cristian Sarbu
2023-01-20Document the conepts behind garbage collectionKlaus Aehlig
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-11-23Document the configuration transition in configureKlaus Aehlig
The built-in rule configure carries out a full configuration transition. While this is useful in quite a few situations, care has to be taken to avoid conflicts on dependencies also used in other ways by the calling target. Document this more clearly in the documentation.
2022-11-16Make "config" accept a computed targetKlaus Aehlig
... and thus allowing the "business logic" in the configuration target (e.g., setting defaults and derived options) to be shared by many targets.
2022-10-05Doc: Describe usage of 'configure' built-inOliver Reiche
2022-10-05Doc: Describe usage of 'env' expressionOliver Reiche
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-07-12rules documentation: mention use cases for providersKlaus Aehlig
While there, fix a few typos in the same document as well.
2022-06-28Generic: add support for out_dirsAlberto Sartori
Before this patch, the built-in "generic" type allowed for just output files, listed in the field "outs". Now, the type also supports output directories, listed in the "out_dirs" field. The output directories are created before the command is executed.