summaryrefslogtreecommitdiff
path: root/share/man/just-graph-file.5.org
diff options
context:
space:
mode:
authorOliver Reiche <oliver.reiche@huawei.com>2023-05-31 18:10:24 +0200
committerOliver Reiche <oliver.reiche@huawei.com>2023-06-01 18:05:32 +0200
commitb6dbf64d641b9286e2d9d99adb20ae9dbdf2e1b9 (patch)
tree0f4927f8037c72a222aa73d5390102c4dd71e51e /share/man/just-graph-file.5.org
parentd9ceae7315298445c975f571f0417a4553e0ae32 (diff)
downloadjustbuild-b6dbf64d641b9286e2d9d99adb20ae9dbdf2e1b9.tar.gz
man: Convert man pages to markdown
... for easy processing with pandoc.
Diffstat (limited to 'share/man/just-graph-file.5.org')
-rw-r--r--share/man/just-graph-file.5.org147
1 files changed, 0 insertions, 147 deletions
diff --git a/share/man/just-graph-file.5.org b/share/man/just-graph-file.5.org
deleted file mode 100644
index 5fed6466..00000000
--- a/share/man/just-graph-file.5.org
+++ /dev/null
@@ -1,147 +0,0 @@
-#+TITLE: JUST GRAPH FILE
-#+MAN_CLASS_OPTIONS: :section-id "5"
-
-* NAME
-
-just graph file -- The format of the action graph used by *just(1)*
-
-* DESCRIPTION
-
-The file is read as JSON. Any other serialization describing the
-same JSON object is equivalent. We assume, that in JSON objects,
-each key occurs at most once; it is implementation defined how
-repetitions of the same key are treated.
-
-** Artifacts and their serialization
-
-There are four different kind of artifacts. The serialization of
-the artifact is always a JSON object with two keys: ~"type"~ and
-~"data"~. The value for ~"type"~ is always on of the strings ~"LOCAL"~,
-~"KNOWN"~, ~"ACTION"~, or ~"TREE"~. The value for ~"data"~ is a
-JSON object with keys depending on which type the artifact is of.
-
-- ~"LOCAL"~ artifacts refer to source files in a logical repository.
- The describing data are
- - the ~"repository"~, given as its global name, and
- - the ~"path"~, given as path relative to the root of that
- repository.
-
-- ~"KNOWN"~ artifacts are described by the hash of their content.
- The describing data are
- - the ~"file_type"~, which is a one-letter string,
- - ~"f"~ for regular, non-executable files,
- - ~"x"~ for executable files, or
- - ~"t"~ for trees.
- - the ~"id"~ specifying the (applicable) hash of the file given
- as its hexadecimal encoding, a string, and
- - the ~"size"~ of the artifact, a number, in bytes.
-
-- ~"ACTION"~ artifacts are the outputs of actions. The defining data are
- - the ~"id"~, a string with the name of the action, and
- - the ~"path"~, specifying the path of this output artifact,
- relative to the root of the action directory
-
-- ~"TREE"~ artifacts refer to trees defined in the action graph.
- The defining data are
- - the ~"id"~, a string with the name of the tree.
-
-** Actions and their serialization
-
-Actions are given by the data described in the following sections.
-For each item a key is associated and the serialization of the action
-is a JSON object mapping those keys to the respective serialization
-of the values. For some data items default values are given; if the
-value for the respective item equals the default, the respective
-key-value pair may be omitted in the serialization.
-
-- ~"command"~ specifies the command to be executed. It is a non-empty
- list of strings that forms the argument vector; the first entry
- is taken as program. This key is mandatory.
-
-- ~"env"~ specifies the environment variables the command should
- be executed with. It is given as map from strings to strings.
- The default is the empty map.
-
-- ~"input"~ describes the files available to the action. The action
- must not modify them in any way. They are specified as map from
- paths to artifacts (the latter serialized as described). Paths
- have to be relative paths and are taken relative to the working
- directory of the action. The default is the empty map.
-
-- ~"output"~ describes the files the action is supposed to generate,
- if any. It is given as a list of strings, each specifying a file
- name by a path relative to the working directory of the action.
- The default is the empty list. However, every action has to produce
- some form of output, so if ~"output"~ is empty, ~"output_dirs"~
- cannot be empty.
-
-- ~"output_dirs"~ describes the directory output of the action,
- if any. It is given as a list of strings, each specifying the
- a directory name by a path relative to the working directory of
- the action. The ~"output_dirs"~ may also specify directories from
- which individual files are specified as ~"output"~. The default
- value for ~"output_dirs"~ is the empty list. However, every action
- to produce some form of output, so if ~"output_dirs"~ is empty,
- ~"output"~ cannot be empty.
-
-- ~"may_fail"~ can either be ~null~ or a string. If it is a string,
- the build should be continued, even if that action returns a
- non-zero exit state. If the action returns a non-zero exit code,
- that string should be shown to the user in a suitable way (e.g.,
- printing on the console). Otherwise (i.e., if no ~"may_fail"~
- string is given), the build should be aborted if the action
- returns a non-zero exit code. The default for ~"may_fail"~ is
- ~null~, i.e., abort on non-zero exit code.
-
-- ~"no_cache"~ is a boolean. If ~true~, the action should never be
- cached, not even on success. The default is ~false~.
-
-** The graph format
-
-The action graph is given by a JSON object.
-
-- The value for the key ~"blobs"~ is a list of strings. Those strings
- should be considered known; they might (additionally to what was
- agreed ahead of time as known) referred to as ~"KNOWN"~ artifacts.
-
-- The value for the key ~"trees"~ is a JSON object, mapping the
- names of trees to their definition. The definition of a tree is
- JSON object mapping paths to artifacts (serialized in the way
- described earlier). The paths are always interpreted as relative
- paths, relative to the root of the tree. It is not a requirement
- that a new tree is defined for every subdirectory; if a path
- contains the hierarchy separator, which is slash, then implicitly
- a subdirectory is present, and all path going through that
- subdirectory contribute to its content. It is, however, an error,
- if the a path is a prefix of another one (with the comparison
- done in the canonical form of that path).
-
-- The value for the key ~"actions"~ is a JSON object, mapping names
- of actions to their respective definition (serialized as JSON).
-
-** Additional keys
-
-Any JSON object described here might have additional keys on top
-of the ones described. Implementations reading the graph have to
-accept and ignore those. Implementations writing action-graph files
-should be aware that a future version of this file format might
-give a specific meaning to those extra keys.
-
-Graphs written by *just(1)* have the additional key ~"origins"~
-in each action. The value is a list of all places where this action
-was requested (so often, but not always, the list has length 1). Each
-such place is described by a JSON object with the following keys.
-- ~"target"~ The target in which the action was requested. It is
- given as a list, either a full qualified named target given as
- ~"@"~ followed by global repository name, module, and target
- name, or an anonymous target, given by ~"#"~ followed by a hash
- of the rule binding and the node name.
-- ~"subtask"~ The running number, starting from ~0~, of the action,
- as given by the (deterministic) evaluation order of he defining
- expression for the rule that defined the target.
-- ~"config"~ The effective configuration for that target, a
- JSON object.
-
-* See also
-
-*just(1)*