summaryrefslogtreecommitdiff
path: root/spec-qdp
diff options
context:
space:
mode:
Diffstat (limited to 'spec-qdp')
-rw-r--r--spec-qdp/spec/qdp-action-copy-and-substitute.yml42
-rw-r--r--spec-qdp/spec/qdp-action-create-ini-file.yml35
-rw-r--r--spec-qdp/spec/qdp-action-directory-state-add-files.yml34
-rw-r--r--spec-qdp/spec/qdp-action-directory-state-add-tarfile-members.yml43
-rw-r--r--spec-qdp/spec/qdp-action-directory-state-add-tree.yml49
-rw-r--r--spec-qdp/spec/qdp-action-directory-state-clear.yml26
-rw-r--r--spec-qdp/spec/qdp-action-directory-state-copy-tree.yml49
-rw-r--r--spec-qdp/spec/qdp-action-directory-state-move-tree.yml49
-rw-r--r--spec-qdp/spec/qdp-action-list.yml16
-rw-r--r--spec-qdp/spec/qdp-action-mkdir.yml35
-rw-r--r--spec-qdp/spec/qdp-action-remove-empty-directories.yml28
-rw-r--r--spec-qdp/spec/qdp-action-remove-glob.yml38
-rw-r--r--spec-qdp/spec/qdp-action-remove-tree.yml30
-rw-r--r--spec-qdp/spec/qdp-action-remove.yml31
-rw-r--r--spec-qdp/spec/qdp-action-subprocess-env-list.yml16
-rw-r--r--spec-qdp/spec/qdp-action-subprocess-env.yml33
-rw-r--r--spec-qdp/spec/qdp-action-subprocess.yml42
-rw-r--r--spec-qdp/spec/qdp-action-touch.yml30
-rw-r--r--spec-qdp/spec/qdp-action.yml26
-rw-r--r--spec-qdp/spec/qdp-ini-file-key-value-pair-list.yml16
-rw-r--r--spec-qdp/spec/qdp-ini-file-key-value-pair.yml31
-rw-r--r--spec-qdp/spec/qdp-ini-file-section-list.yml16
-rw-r--r--spec-qdp/spec/qdp-ini-file-section.yml29
-rw-r--r--spec-qdp/spec/qdp-run-actions.yml31
24 files changed, 775 insertions, 0 deletions
diff --git a/spec-qdp/spec/qdp-action-copy-and-substitute.yml b/spec-qdp/spec/qdp-action-copy-and-substitute.yml
new file mode 100644
index 00000000..9b1d1527
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-copy-and-substitute.yml
@@ -0,0 +1,42 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: action
+ spec-value: copy-and-substitute
+ uid: qdp-action
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ input-name:
+ description: |
+ It shall be name of the input directory state.
+ spec-type: str
+ output-name:
+ description: |
+ It shall be name of the output directory state.
+ spec-type: str
+ source:
+ description: |
+ If the value is present, then it shall be the source file relative to
+ the base directory of the input directory state, otherwise the
+ source file is the first file of the input directory state.
+ spec-type: optional-str
+ target:
+ description: |
+ If the value is present, then it shall be the target file relative to
+ the base directory of the output directory state, otherwise the
+ target file is the first file of the output directory state.
+ spec-type: optional-str
+ description: |
+ This set of attributes specifies a copy and substitute action.
+ mandatory-attributes: all
+spec-name: Copy and Substitute Action
+spec-type: qdp-action-copy-and-substitute
+type: spec
diff --git a/spec-qdp/spec/qdp-action-create-ini-file.yml b/spec-qdp/spec/qdp-action-create-ini-file.yml
new file mode 100644
index 00000000..269a22b8
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-create-ini-file.yml
@@ -0,0 +1,35 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: action
+ spec-value: create-ini-file
+ uid: qdp-action
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ output-name:
+ description: |
+ It shall be name of the output directory state.
+ spec-type: str
+ sections:
+ description: null
+ spec-type: qdp-ini-file-section-list
+ target:
+ description: |
+ If the value is present, then it shall be the target file relative to
+ the base directory of the output directory state, otherwise the
+ target file is the first file of the output directory state.
+ spec-type: optional-str
+ description: |
+ This set of attributes specifies a create INI file action.
+ mandatory-attributes: all
+spec-name: Create INI File Action
+spec-type: qdp-action-create-ini-file
+type: spec
diff --git a/spec-qdp/spec/qdp-action-directory-state-add-files.yml b/spec-qdp/spec/qdp-action-directory-state-add-files.yml
new file mode 100644
index 00000000..ef6dd05d
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-directory-state-add-files.yml
@@ -0,0 +1,34 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: action
+ spec-value: directory-state-add-files
+ uid: qdp-action
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ output-name:
+ description: |
+ It shall be name of the output directory state.
+ spec-type: str
+ pattern:
+ description: |
+ It shall be the pattern to match the files.
+ spec-type: str
+ path:
+ description: |
+ It shall be the path to start the search for files.
+ spec-type: str
+ description: |
+ This set of attributes specifies a directory state add files action.
+ mandatory-attributes: all
+spec-name: Directory State Add Files Action
+spec-type: qdp-action-directory-state-add-files
+type: spec
diff --git a/spec-qdp/spec/qdp-action-directory-state-add-tarfile-members.yml b/spec-qdp/spec/qdp-action-directory-state-add-tarfile-members.yml
new file mode 100644
index 00000000..27b8b69d
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-directory-state-add-tarfile-members.yml
@@ -0,0 +1,43 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: action
+ spec-value: directory-state-add-tarfile-members
+ uid: qdp-action
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ extract:
+ description: |
+ It shall be true, to extract the archive file.
+ spec-type: bool
+ output-name:
+ description: |
+ It shall be name of the output directory state.
+ spec-type: str
+ pattern:
+ description: |
+ It shall be the pattern to match the tarfiles.
+ spec-type: str
+ prefix-path:
+ description: |
+ It shall be prefix path for tarfile members.
+ spec-type: str
+ search-path:
+ description: |
+ It shall be the path to start the search for tarfiles.
+ spec-type: str
+ description: |
+ This set of attributes specifies a directory state add tarfile members
+ action.
+ mandatory-attributes: all
+spec-name: Directory State Add Tarfile Members Action
+spec-type: qdp-action-directory-state-add-tarfile-members
+type: spec
diff --git a/spec-qdp/spec/qdp-action-directory-state-add-tree.yml b/spec-qdp/spec/qdp-action-directory-state-add-tree.yml
new file mode 100644
index 00000000..6a237d6c
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-directory-state-add-tree.yml
@@ -0,0 +1,49 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: action
+ spec-value: directory-state-add-tree
+ uid: qdp-action
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ excludes:
+ description: |
+ It shall be a list of Python ``fnmatch`` patterns. If a file path
+ matches with the pattern, then the file is not added to the directory
+ state. The file paths are absolute paths relative to the base
+ directory of the directory state. For example, if the directory
+ state has a base of ``/base`` and a file to include has the path
+ ``/base/abc``, then the file path ``/abc`` is used to match with the
+ exclude patterns.
+ spec-type: list-str
+ output-name:
+ description: |
+ It shall be the name of the output directory state.
+ spec-type: str
+ root:
+ description: |
+ It shall be the root directory of the directory tree to add.
+ spec-type: str
+ prefix:
+ description: |
+ If the value is present, then it shall be the prefix path.
+ spec-type: optional-str
+ description: |
+ This set of attributes specifies a directory state add tree action. The
+ files of the directory tree starting at the root directory are added to
+ the file set of the directory state. The added file path is relative to
+ the root directory. The prefix is prepended to the file path for each
+ file before it is added to the directory state. The files are not copied
+ or moved.
+ mandatory-attributes: all
+spec-name: Directory State Add Tree Action
+spec-type: qdp-action-directory-state-add-tree
+type: spec
diff --git a/spec-qdp/spec/qdp-action-directory-state-clear.yml b/spec-qdp/spec/qdp-action-directory-state-clear.yml
new file mode 100644
index 00000000..289e10cc
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-directory-state-clear.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: action
+ spec-value: directory-state-clear
+ uid: qdp-action
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ output-name:
+ description: |
+ It shall be name of the output directory state.
+ spec-type: str
+ description: |
+ This set of attributes specifies a directory state clear action.
+ mandatory-attributes: all
+spec-name: Directory State Clear Action
+spec-type: qdp-action-directory-state-clear
+type: spec
diff --git a/spec-qdp/spec/qdp-action-directory-state-copy-tree.yml b/spec-qdp/spec/qdp-action-directory-state-copy-tree.yml
new file mode 100644
index 00000000..b2876579
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-directory-state-copy-tree.yml
@@ -0,0 +1,49 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: action
+ spec-value: directory-state-copy-tree
+ uid: qdp-action
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ excludes:
+ description: |
+ It shall be a list of Python ``fnmatch`` patterns. If a file path
+ matches with the pattern, then the file is not added to the directory
+ state. The file paths are absolute paths relative to the base
+ directory of the directory state. For example, if the directory
+ state has a base of ``/base`` and a file to include has the path
+ ``/base/abc``, then the file path ``/abc`` is used to match with the
+ exclude patterns.
+ spec-type: list-str
+ output-name:
+ description: |
+ It shall be the name of the output directory state.
+ spec-type: str
+ root:
+ description: |
+ It shall be the root directory of the directory tree to add and copy.
+ spec-type: str
+ prefix:
+ description: |
+ If the value is present, then it shall be the prefix path.
+ spec-type: optional-str
+ description: |
+ This set of attributes specifies a directory state add and copy tree
+ action. The files of the directory tree starting at the root directory
+ are added to the file set of the directory state. The added file path is
+ relative to the root directory. The prefix is prepended to the file path
+ for each file before it is added to the directory state. The files are
+ copied.
+ mandatory-attributes: all
+spec-name: Directory State Add and Copy Tree Action
+spec-type: qdp-action-directory-state-copy-tree
+type: spec
diff --git a/spec-qdp/spec/qdp-action-directory-state-move-tree.yml b/spec-qdp/spec/qdp-action-directory-state-move-tree.yml
new file mode 100644
index 00000000..250b6a78
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-directory-state-move-tree.yml
@@ -0,0 +1,49 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: action
+ spec-value: directory-state-move-tree
+ uid: qdp-action
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ excludes:
+ description: |
+ It shall be a list of Python ``fnmatch`` patterns. If a file path
+ matches with the pattern, then the file is not added to the directory
+ state. The file paths are absolute paths relative to the base
+ directory of the directory state. For example, if the directory
+ state has a base of ``/base`` and a file to include has the path
+ ``/base/abc``, then the file path ``/abc`` is used to match with the
+ exclude patterns.
+ spec-type: list-str
+ output-name:
+ description: |
+ It shall be the name of the output directory state.
+ spec-type: str
+ root:
+ description: |
+ It shall be the root directory of the directory tree to add and move.
+ spec-type: str
+ prefix:
+ description: |
+ If the value is present, then it shall be the prefix path.
+ spec-type: optional-str
+ description: |
+ This set of attributes specifies a directory state add and move tree
+ action. The files of the directory tree starting at the root directory
+ are added to the file set of the directory state. The added file path is
+ relative to the root directory. The prefix is prepended to the file path
+ for each file before it is added to the directory state. The files are
+ moved.
+ mandatory-attributes: all
+spec-name: Directory State Add and Move Tree Action
+spec-type: qdp-action-directory-state-move-tree
+type: spec
diff --git a/spec-qdp/spec/qdp-action-list.yml b/spec-qdp/spec/qdp-action-list.yml
new file mode 100644
index 00000000..95398756
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-list.yml
@@ -0,0 +1,16 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ list:
+ description: null
+ spec-type: qdp-action
+spec-name: Action List
+spec-type: qdp-action-list
+type: spec
diff --git a/spec-qdp/spec/qdp-action-mkdir.yml b/spec-qdp/spec/qdp-action-mkdir.yml
new file mode 100644
index 00000000..624b9985
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-mkdir.yml
@@ -0,0 +1,35 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: action
+ spec-value: mkdir
+ uid: qdp-action
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ exist-ok:
+ description: |
+ It shall be true, if the directory may already exist, otherwise false.
+ spec-type: bool
+ parents:
+ description: |
+ It shall be true, if missing parent directories shall be created,
+ otherwise false.
+ spec-type: bool
+ path:
+ description: |
+ It shall be the path to the directory to make.
+ spec-type: str
+ description: |
+ This set of attributes specifies a make directory action.
+ mandatory-attributes: all
+spec-name: Make Directory Action
+spec-type: qdp-action-mkdir
+type: spec
diff --git a/spec-qdp/spec/qdp-action-remove-empty-directories.yml b/spec-qdp/spec/qdp-action-remove-empty-directories.yml
new file mode 100644
index 00000000..dd6afa6f
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-remove-empty-directories.yml
@@ -0,0 +1,28 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: action
+ spec-value: remove-empty-directories
+ uid: qdp-action
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ path:
+ description: |
+ It shall be the path to the base directory of the removal action.
+ spec-type: str
+ description: |
+ This set of attributes specifies a removal of empty directories action.
+ The action recursively removes all empty subdirectories of the base
+ directory and the base directory itself if it gets empty.
+ mandatory-attributes: all
+spec-name: Remove Empty Directories Action
+spec-type: qdp-action-remove-empty-directories
+type: spec
diff --git a/spec-qdp/spec/qdp-action-remove-glob.yml b/spec-qdp/spec/qdp-action-remove-glob.yml
new file mode 100644
index 00000000..b1ba517c
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-remove-glob.yml
@@ -0,0 +1,38 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: action
+ spec-value: remove-glob
+ uid: qdp-action
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ path:
+ description: |
+ It shall be the path to start the search for files and directories to
+ remove.
+ spec-type: str
+ patterns:
+ description: |
+ It shall be the list of patterns to match the files and directories
+ to remove.
+ spec-type: list-str
+ remove-tree:
+ description: |
+ It shall be true, if matching directories shall be removed as a
+ directory tree, otherwise false.
+ spec-type: bool
+ description: |
+ This set of attributes specifies a pattern based removal of files and
+ directories action.
+ mandatory-attributes: all
+spec-name: Remove Matching Files and Directories Action
+spec-type: qdp-action-remove-glob
+type: spec
diff --git a/spec-qdp/spec/qdp-action-remove-tree.yml b/spec-qdp/spec/qdp-action-remove-tree.yml
new file mode 100644
index 00000000..4a659e8a
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-remove-tree.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: action
+ spec-value: remove-tree
+ uid: qdp-action
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ missing-ok:
+ description: |
+ It shall be true, if the directory may be missing, otherwise false.
+ spec-type: bool
+ path:
+ description: |
+ It shall be the path to the directory tree to remove.
+ spec-type: str
+ description: |
+ This set of attributes specifies a removal of a directory tree action.
+ mandatory-attributes: all
+spec-name: Remove Directory Tree Action
+spec-type: qdp-action-remove-tree
+type: spec
diff --git a/spec-qdp/spec/qdp-action-remove.yml b/spec-qdp/spec/qdp-action-remove.yml
new file mode 100644
index 00000000..6722af9f
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-remove.yml
@@ -0,0 +1,31 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: action
+ spec-value: remove
+ uid: qdp-action
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ missing-ok:
+ description: |
+ It shall be true, if the file or directory may be missing, otherwise
+ false.
+ spec-type: bool
+ path:
+ description: |
+ It shall be the path to the file or directory to remove.
+ spec-type: str
+ description: |
+ This set of attributes specifies a file or directory remove action.
+ mandatory-attributes: all
+spec-name: Remove File or Directory Action
+spec-type: qdp-action-remove
+type: spec
diff --git a/spec-qdp/spec/qdp-action-subprocess-env-list.yml b/spec-qdp/spec/qdp-action-subprocess-env-list.yml
new file mode 100644
index 00000000..cfb3370e
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-subprocess-env-list.yml
@@ -0,0 +1,16 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ list:
+ description: null
+ spec-type: qdp-action-subprocess-env
+spec-name: Action Subprocess Environment List
+spec-type: qdp-action-subprocess-env-list
+type: spec
diff --git a/spec-qdp/spec/qdp-action-subprocess-env.yml b/spec-qdp/spec/qdp-action-subprocess-env.yml
new file mode 100644
index 00000000..1e24c20c
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-subprocess-env.yml
@@ -0,0 +1,33 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ action:
+ description: |
+ It shall be the action execution environment modification action.
+ spec-type: str
+ name:
+ description: |
+ If the value is present, then it shall be the environment variable
+ name.
+ spec-type: optional-str
+ value:
+ description: |
+ If the value is present, then it shall be the environment variable
+ value.
+ spec-type: optional-str
+ description: |
+ This set of attributes specifies an action to alter the action execution
+ environment.
+ mandatory-attributes: all
+spec-name: Subprocess Action Environment Action
+spec-type: qdp-action-subprocess-env
+type: spec
diff --git a/spec-qdp/spec/qdp-action-subprocess.yml b/spec-qdp/spec/qdp-action-subprocess.yml
new file mode 100644
index 00000000..3b19a570
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-subprocess.yml
@@ -0,0 +1,42 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: action
+ spec-value: subprocess
+ uid: qdp-action
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ command:
+ description: |
+ It shall be the command and argument list to run as a subprocess. A
+ variable substitution is performed on the list elements. For
+ example, you can use
+ ``$${/variant:/build-directory}/some/path/to/build/file`` or
+ ``$${/variant:/deployment-directory}/some/path/to/deployment/file``.
+ spec-type: list-str
+ env:
+ description: null
+ spec-type: qdp-action-subprocess-env-list
+ expected-return-code:
+ description: |
+ If the value is present, then it shall be the expected return code of
+ the command.
+ spec-type: optional-int
+ working-directory:
+ description: |
+ It shall be the working directory to run the command.
+ spec-type: str
+ description: |
+ This set of attributes specifies a subprocess action.
+ mandatory-attributes: all
+spec-name: Subprocess Action
+spec-type: qdp-action-subprocess
+type: spec
diff --git a/spec-qdp/spec/qdp-action-touch.yml b/spec-qdp/spec/qdp-action-touch.yml
new file mode 100644
index 00000000..f6aa8fdf
--- /dev/null
+++ b/spec-qdp/spec/qdp-action-touch.yml
@@ -0,0 +1,30 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: action
+ spec-value: touch
+ uid: qdp-action
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ exist-ok:
+ description: |
+ It shall be true, if the file may already exist, otherwise false.
+ spec-type: bool
+ path:
+ description: |
+ It shall be the path to the file to touch.
+ spec-type: str
+ description: |
+ This set of attributes specifies a touch file action.
+ mandatory-attributes: all
+spec-name: Touch File Action
+spec-type: qdp-action-touch
+type: spec
diff --git a/spec-qdp/spec/qdp-action.yml b/spec-qdp/spec/qdp-action.yml
new file mode 100644
index 00000000..52e5344a
--- /dev/null
+++ b/spec-qdp/spec/qdp-action.yml
@@ -0,0 +1,26 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ action:
+ description: |
+ It shall be the action type.
+ spec-type: name
+ enabled-by:
+ description: |
+ It shall define the conditions under which the action is enabled.
+ spec-type: enabled-by
+ description: |
+ This set of attributes specifies a action.
+ mandatory-attributes: all
+spec-name: Action
+spec-type: qdp-action
+type: spec
diff --git a/spec-qdp/spec/qdp-ini-file-key-value-pair-list.yml b/spec-qdp/spec/qdp-ini-file-key-value-pair-list.yml
new file mode 100644
index 00000000..34891e96
--- /dev/null
+++ b/spec-qdp/spec/qdp-ini-file-key-value-pair-list.yml
@@ -0,0 +1,16 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ list:
+ description: null
+ spec-type: qdp-ini-file-key-value-pair
+spec-name: INI File Key Value Pair List
+spec-type: qdp-ini-file-key-value-pair-list
+type: spec
diff --git a/spec-qdp/spec/qdp-ini-file-key-value-pair.yml b/spec-qdp/spec/qdp-ini-file-key-value-pair.yml
new file mode 100644
index 00000000..8cf815a6
--- /dev/null
+++ b/spec-qdp/spec/qdp-ini-file-key-value-pair.yml
@@ -0,0 +1,31 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ enabled-by:
+ description: |
+ It shall define the conditions under which the key-value pair is
+ enabled.
+ spec-type: enabled-by
+ key:
+ description: |
+ It shall be the name of the key.
+ spec-type: str
+ value:
+ description: |
+ It shall be the value associated with the key.
+ spec-type: str
+ description: |
+ This set of attributes specifies an INI file key-value pair.
+ mandatory-attributes: all
+spec-name: INI File Key-Value Pair
+spec-type: qdp-ini-file-key-value-pair
+type: spec
diff --git a/spec-qdp/spec/qdp-ini-file-section-list.yml b/spec-qdp/spec/qdp-ini-file-section-list.yml
new file mode 100644
index 00000000..422a6df2
--- /dev/null
+++ b/spec-qdp/spec/qdp-ini-file-section-list.yml
@@ -0,0 +1,16 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ list:
+ description: null
+ spec-type: qdp-ini-file-section
+spec-name: INI File Section List
+spec-type: qdp-ini-file-section-list
+type: spec
diff --git a/spec-qdp/spec/qdp-ini-file-section.yml b/spec-qdp/spec/qdp-ini-file-section.yml
new file mode 100644
index 00000000..0772b6da
--- /dev/null
+++ b/spec-qdp/spec/qdp-ini-file-section.yml
@@ -0,0 +1,29 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2023 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ enabled-by:
+ description: |
+ It shall define the conditions under which the section is enabled.
+ spec-type: enabled-by
+ key-value-pairs:
+ description: null
+ spec-type: qdp-ini-file-key-value-pair-list
+ name:
+ description: |
+ It shall be the name of the section.
+ spec-type: str
+ description: |
+ This set of attributes specifies an INI file section.
+ mandatory-attributes: all
+spec-name: INI File Section
+spec-type: qdp-ini-file-section
+type: spec
diff --git a/spec-qdp/spec/qdp-run-actions.yml b/spec-qdp/spec/qdp-run-actions.yml
new file mode 100644
index 00000000..f72ae596
--- /dev/null
+++ b/spec-qdp/spec/qdp-run-actions.yml
@@ -0,0 +1,31 @@
+SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
+copyrights:
+- Copyright (C) 2022 embedded brains GmbH & Co. KG
+enabled-by: true
+links:
+- role: spec-member
+ uid: root
+- role: spec-refinement
+ spec-key: build-step-type
+ spec-value: run-actions
+ uid: qdp-build-step
+spec-description: null
+spec-example: null
+spec-info:
+ dict:
+ attributes:
+ actions:
+ description: |
+ It shall be the list of actions to run as a subprocess.
+ spec-type: qdp-action-list
+ params:
+ description: |
+ It shall be an optional set of parameters which may be used for
+ variable subsitution.
+ spec-type: any
+ description: |
+ This set of attributes specifies actions to run as a subprocess.
+ mandatory-attributes: all
+spec-name: Run Actions Item Type
+spec-type: qdp-run-actions
+type: spec