summaryrefslogtreecommitdiff
path: root/doc/concepts
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2025-03-26 16:01:29 +0100
committerKlaus Aehlig <klaus.aehlig@huawei.com>2025-04-07 17:38:59 +0200
commit05d785ae46b6fcb898964f35a694554af33c449e (patch)
tree0cb170d55a43d5d30838d84e6f723f41ed06be8b /doc/concepts
parent4cd12f7ba531c255aa3945bd5bc1a6a1ab0bc7bc (diff)
downloadjustbuild-05d785ae46b6fcb898964f35a694554af33c449e.tar.gz
Rule documentation: describe `TREE_OVERLAY` and `DISJOINT_TREE_OVERLAY`
Diffstat (limited to 'doc/concepts')
-rw-r--r--doc/concepts/rules.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/doc/concepts/rules.md b/doc/concepts/rules.md
index a9db5705..2e09cb81 100644
--- a/doc/concepts/rules.md
+++ b/doc/concepts/rules.md
@@ -149,6 +149,19 @@ has to be a map of artifacts. The result is a single tree artifact
formed from the input map. It is an error if the map cannot be
transformed into a tree (e.g., due to staging conflicts).
+### `TREE_OVERLAY` and `DISJOINT_TREE_OVERLAY`
+
+The `TREE_OVERLAY` and `DISJOINT_TREE_OVERLAY` functions take a
+single (evaluated) argument `$1` which has to be a list of maps
+of artifacts. Each entry in the list is transformed into a single
+tree artifact formed from that map and it is an error if the map
+cannot be transformed into a tree (e.g., due to a staging conflict).
+The result is a single tree artifact defined as the overlay of the
+specified trees in that order (latest wins on each path after build
+evaluation); in the case of `DISJOINT_TREE_OVERLAY` it is a build
+error if a non-trivial conflict arises when computing the overlay
+in the build phase.
+
#### `ACTION`
Actions are a way to define new artifacts from (zero or more)