diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-05-27 11:40:06 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-05-28 10:38:23 +0200 |
commit | 08c0232545d9c673fab36a37d2cc9fa15fe7f007 (patch) | |
tree | 8e96f85be45991e62d5bc8a5810d671c9c2f7447 | |
parent | spec: Add interface-target link role (diff) | |
download | rtems-central-08c0232545d9c673fab36a37d2cc9fa15fe7f007.tar.bz2 |
spec: Add interface domain items
71 files changed, 278 insertions, 121 deletions
@@ -81,11 +81,11 @@ validation: base-directory: external/rtems interface: item-level-interfaces: - - /if/build-options/domain - - /if/compiler/domain - - /if/use/domain + - /if/build-options/container + - /if/compiler/container + - /if/use/container domains: - rtems: external/rtems + /if/domains/api: external/rtems spec-verification: root-type: /spec/root spec-documentation: diff --git a/rtemsqual/interface.py b/rtemsqual/interface.py index aa9c19ac..c8b93514 100644 --- a/rtemsqual/interface.py +++ b/rtemsqual/interface.py @@ -531,7 +531,9 @@ class _HeaderFile: def _generate_header_file(item: Item, domains: Dict[str, str], enabled_by_defined: Dict[str, str]) -> None: - domain_path = domains.get(item["domain"], None) + domain = next(item.parents("interface-placement")) + assert domain["interface-type"] == "domain" + domain_path = domains.get(domain.uid, None) if domain_path is None: return header_file = _HeaderFile(item, enabled_by_defined) diff --git a/rtemsqual/tests/spec-interface/command-line.yml b/rtemsqual/tests/spec-interface/command-line.yml index c45ba3dc..fede1644 100644 --- a/rtemsqual/tests/spec-interface/command-line.yml +++ b/rtemsqual/tests/spec-interface/command-line.yml @@ -2,7 +2,8 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true -domain: command-line interface-type: command-line -links: [] +links: +- role: interface-placement + uid: domain-command-line type: interface diff --git a/spec/if/build-options/domain.yml b/rtemsqual/tests/spec-interface/domain-abc.yml index c72dacb3..e878fb8c 100644 --- a/spec/if/build-options/domain.yml +++ b/rtemsqual/tests/spec-interface/domain-abc.yml @@ -1,8 +1,9 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: build-options +description: ABC enabled-by: true -interface-type: container +interface-type: domain links: [] +name: ABC type: interface diff --git a/spec/if/compiler/domain.yml b/rtemsqual/tests/spec-interface/domain-c.yml index ec7a6e9f..9eaea624 100644 --- a/spec/if/compiler/domain.yml +++ b/rtemsqual/tests/spec-interface/domain-c.yml @@ -1,8 +1,9 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: compiler +description: C enabled-by: true -interface-type: container +interface-type: domain links: [] +name: C type: interface diff --git a/rtemsqual/tests/spec-interface/domain-command-line.yml b/rtemsqual/tests/spec-interface/domain-command-line.yml new file mode 100644 index 00000000..ba2a3a42 --- /dev/null +++ b/rtemsqual/tests/spec-interface/domain-command-line.yml @@ -0,0 +1,9 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: Command Line +enabled-by: true +interface-type: domain +links: [] +name: Command Line +type: interface diff --git a/rtemsqual/tests/spec-interface/h.yml b/rtemsqual/tests/spec-interface/h.yml index d6198d2a..0733837a 100644 --- a/rtemsqual/tests/spec-interface/h.yml +++ b/rtemsqual/tests/spec-interface/h.yml @@ -2,26 +2,27 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: [] -domain: abc -path: h.h -prefix: include interface-type: header-file links: -- role: interface-include +- enabled-by: RTEMS_SMP + role: interface-include uid: h2 - enabled-by: RTEMS_SMP -- role: interface-include +- enabled-by: [] + role: interface-include uid: h4 - enabled-by: [] -- role: interface-include +- enabled-by: RTEMS_SMP + role: interface-include uid: h4 - enabled-by: RTEMS_SMP -- role: interface-include +- enabled-by: ASM + role: interface-include uid: h4 - enabled-by: ASM -- role: interface-include +- enabled-by: [] + role: interface-include uid: h4 - enabled-by: [] - role: other uid: h4 +- role: interface-placement + uid: domain-abc +path: h.h +prefix: include type: interface diff --git a/rtemsqual/tests/spec-interface/h2.yml b/rtemsqual/tests/spec-interface/h2.yml index 4872b4b6..194e182e 100644 --- a/rtemsqual/tests/spec-interface/h2.yml +++ b/rtemsqual/tests/spec-interface/h2.yml @@ -3,9 +3,10 @@ copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: not: ASM -domain: abc +interface-type: header-file +links: +- role: interface-placement + uid: domain-abc path: h2.h prefix: include -interface-type: header-file -links: [] type: interface diff --git a/rtemsqual/tests/spec-interface/h3.yml b/rtemsqual/tests/spec-interface/h3.yml index f8cdd99a..fc61a1a5 100644 --- a/rtemsqual/tests/spec-interface/h3.yml +++ b/rtemsqual/tests/spec-interface/h3.yml @@ -2,9 +2,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true -domain: abc +interface-type: header-file +links: +- role: interface-placement + uid: domain-abc path: h3.h prefix: include -interface-type: header-file -links: [] type: interface diff --git a/rtemsqual/tests/spec-interface/h4.yml b/rtemsqual/tests/spec-interface/h4.yml index e6c89d69..6233efe5 100644 --- a/rtemsqual/tests/spec-interface/h4.yml +++ b/rtemsqual/tests/spec-interface/h4.yml @@ -2,9 +2,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true -domain: abc +interface-type: header-file +links: +- role: interface-placement + uid: domain-abc path: h4.h prefix: include -interface-type: header-file -links: [] type: interface diff --git a/rtemsqual/tests/spec-interface/math.yml b/rtemsqual/tests/spec-interface/math.yml index b99493f1..020449fa 100644 --- a/rtemsqual/tests/spec-interface/math.yml +++ b/rtemsqual/tests/spec-interface/math.yml @@ -2,9 +2,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true -domain: c +interface-type: header-file +links: +- role: interface-placement + uid: domain-c path: math.h prefix: null -interface-type: header-file -links: [] type: interface diff --git a/rtemsqual/tests/spec-interface/stdint.yml b/rtemsqual/tests/spec-interface/stdint.yml index 961a6232..559202c3 100644 --- a/rtemsqual/tests/spec-interface/stdint.yml +++ b/rtemsqual/tests/spec-interface/stdint.yml @@ -2,9 +2,10 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) enabled-by: true -domain: c +interface-type: header-file +links: +- role: interface-placement + uid: domain-c path: stdint.h prefix: null -interface-type: header-file -links: [] type: interface diff --git a/rtemsqual/tests/test_interface.py b/rtemsqual/tests/test_interface.py index cfbedbd2..26c0c15b 100644 --- a/rtemsqual/tests/test_interface.py +++ b/rtemsqual/tests/test_interface.py @@ -36,7 +36,7 @@ def test_interface(tmpdir): interface_config = {} interface_config["item-level-interfaces"] = [] base_directory = os.path.join(tmpdir, "base") - interface_domains = {"abc": base_directory} + interface_domains = {"/domain-abc": base_directory} interface_config["domains"] = interface_domains generate(interface_config, EmptyItemCache()) diff --git a/spec/if/build-options/ada.yml b/spec/if/build-options/ada.yml index 9262e30f..9f5cf9aa 100644 --- a/spec/if/build-options/ada.yml +++ b/spec/if/build-options/ada.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: __RTEMS_ADA__ type: interface diff --git a/spec/if/build-options/container.yml b/spec/if/build-options/container.yml new file mode 100644 index 00000000..f0e130ab --- /dev/null +++ b/spec/if/build-options/container.yml @@ -0,0 +1,9 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: container +links: +- role: interface-placement + uid: /if/domains/build-options +type: interface diff --git a/spec/if/build-options/cpuopts.yml b/spec/if/build-options/cpuopts.yml index 7cc95f30..599881ce 100644 --- a/spec/if/build-options/cpuopts.yml +++ b/spec/if/build-options/cpuopts.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: build-options enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/build-options path: rtems/score/cpuopts.h prefix: '' type: interface diff --git a/spec/if/build-options/debug.yml b/spec/if/build-options/debug.yml index 3d9054ca..7f29fa51 100644 --- a/spec/if/build-options/debug.yml +++ b/spec/if/build-options/debug.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: RTEMS_DEBUG type: interface diff --git a/spec/if/build-options/drvmgr.yml b/spec/if/build-options/drvmgr.yml index 38ea9a9a..14587452 100644 --- a/spec/if/build-options/drvmgr.yml +++ b/spec/if/build-options/drvmgr.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: RTEMS_DRVMGR_STARTUP type: interface diff --git a/spec/if/build-options/multiprocessing.yml b/spec/if/build-options/multiprocessing.yml index cbd1c3c8..64774b79 100644 --- a/spec/if/build-options/multiprocessing.yml +++ b/spec/if/build-options/multiprocessing.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: RTEMS_MULTIPROCESSING type: interface diff --git a/spec/if/build-options/networking.yml b/spec/if/build-options/networking.yml index 25067ed3..25c6bad5 100644 --- a/spec/if/build-options/networking.yml +++ b/spec/if/build-options/networking.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: RTEMS_NETWORKING type: interface diff --git a/spec/if/build-options/paravirt.yml b/spec/if/build-options/paravirt.yml index 6a66b5c9..fd450a92 100644 --- a/spec/if/build-options/paravirt.yml +++ b/spec/if/build-options/paravirt.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: RTEMS_PARAVIRT type: interface diff --git a/spec/if/build-options/posix.yml b/spec/if/build-options/posix.yml index fc03bd2c..b2e4d495 100644 --- a/spec/if/build-options/posix.yml +++ b/spec/if/build-options/posix.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: RTEMS_POSIX_API type: interface diff --git a/spec/if/build-options/profiling.yml b/spec/if/build-options/profiling.yml index 5d984f71..3d10040f 100644 --- a/spec/if/build-options/profiling.yml +++ b/spec/if/build-options/profiling.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: RTEMS_PROFILING type: interface diff --git a/spec/if/build-options/smp.yml b/spec/if/build-options/smp.yml index 8873c9f6..8ffa436b 100644 --- a/spec/if/build-options/smp.yml +++ b/spec/if/build-options/smp.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: RTEMS_SMP type: interface diff --git a/spec/if/c/stdatomic.yml b/spec/if/c/stdatomic.yml index 408c9841..51cd368d 100644 --- a/spec/if/c/stdatomic.yml +++ b/spec/if/c/stdatomic.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: c enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/c path: stdatomic.h prefix: '' type: interface diff --git a/spec/if/c/stdbool.yml b/spec/if/c/stdbool.yml index 90b188ab..ec8bae06 100644 --- a/spec/if/c/stdbool.yml +++ b/spec/if/c/stdbool.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: c enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/c path: stdbool.h prefix: '' type: interface diff --git a/spec/if/c/stddef.yml b/spec/if/c/stddef.yml index fd3a0289..9e07ec76 100644 --- a/spec/if/c/stddef.yml +++ b/spec/if/c/stddef.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: c enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/c path: stddef.h prefix: '' type: interface diff --git a/spec/if/c/stdint.yml b/spec/if/c/stdint.yml index 2a299a3d..1cbb808f 100644 --- a/spec/if/c/stdint.yml +++ b/spec/if/c/stdint.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: c enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/c path: stdint.h prefix: '' type: interface diff --git a/spec/if/c/string.yml b/spec/if/c/string.yml index c8ff3315..0dc3dcf7 100644 --- a/spec/if/c/string.yml +++ b/spec/if/c/string.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: c enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/c path: string.h prefix: '' type: interface diff --git a/spec/if/c/sys-types.yml b/spec/if/c/sys-types.yml index d31c2214..012db722 100644 --- a/spec/if/c/sys-types.yml +++ b/spec/if/c/sys-types.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: c enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/c path: sys/types.h prefix: '' type: interface diff --git a/spec/if/c/time.yml b/spec/if/c/time.yml index d003e84d..67389bb1 100644 --- a/spec/if/c/time.yml +++ b/spec/if/c/time.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: c enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/c path: time.h prefix: '' type: interface diff --git a/spec/if/compiler/builtin-choose-expr.yml b/spec/if/compiler/builtin-choose-expr.yml index 0da04de1..04748428 100644 --- a/spec/if/compiler/builtin-choose-expr.yml +++ b/spec/if/compiler/builtin-choose-expr.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: __builtin_choose_expr type: interface diff --git a/spec/if/compiler/builtin-expect.yml b/spec/if/compiler/builtin-expect.yml index 86c5752f..abaabb96 100644 --- a/spec/if/compiler/builtin-expect.yml +++ b/spec/if/compiler/builtin-expect.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: __builtin_expect type: interface diff --git a/spec/if/compiler/builtin-return-address.yml b/spec/if/compiler/builtin-return-address.yml index 21c45a1d..97f050fe 100644 --- a/spec/if/compiler/builtin-return-address.yml +++ b/spec/if/compiler/builtin-return-address.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: __builtin_return_address type: interface diff --git a/spec/if/compiler/builtin-types-compatible-p.yml b/spec/if/compiler/builtin-types-compatible-p.yml index 61f65b42..1a5e8996 100644 --- a/spec/if/compiler/builtin-types-compatible-p.yml +++ b/spec/if/compiler/builtin-types-compatible-p.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: __builtin_types_compatible_p type: interface diff --git a/spec/if/compiler/builtin-unreachable.yml b/spec/if/compiler/builtin-unreachable.yml index 5a1f27fc..d333ec21 100644 --- a/spec/if/compiler/builtin-unreachable.yml +++ b/spec/if/compiler/builtin-unreachable.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: __builtin_unreachable type: interface diff --git a/spec/if/compiler/container.yml b/spec/if/compiler/container.yml new file mode 100644 index 00000000..82155fce --- /dev/null +++ b/spec/if/compiler/container.yml @@ -0,0 +1,9 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +interface-type: container +links: +- role: interface-placement + uid: /if/domains/compiler +type: interface diff --git a/spec/if/compiler/cplusplus.yml b/spec/if/compiler/cplusplus.yml index f2380842..589f8399 100644 --- a/spec/if/compiler/cplusplus.yml +++ b/spec/if/compiler/cplusplus.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: __cplusplus type: interface diff --git a/spec/if/compiler/gnuc.yml b/spec/if/compiler/gnuc.yml index 4b99d9de..6a572b6a 100644 --- a/spec/if/compiler/gnuc.yml +++ b/spec/if/compiler/gnuc.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: __GNUC__ type: interface diff --git a/spec/if/compiler/stdc-version.yml b/spec/if/compiler/stdc-version.yml index f658cc8a..da1b22a5 100644 --- a/spec/if/compiler/stdc-version.yml +++ b/spec/if/compiler/stdc-version.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: __STDC_VERSION__ type: interface diff --git a/spec/if/compiler/typeof.yml b/spec/if/compiler/typeof.yml index 1e57b926..5e8c515e 100644 --- a/spec/if/compiler/typeof.yml +++ b/spec/if/compiler/typeof.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: __typeof__ type: interface diff --git a/spec/if/compiler/user-label-prefix.yml b/spec/if/compiler/user-label-prefix.yml index 29487075..ca92dc16 100644 --- a/spec/if/compiler/user-label-prefix.yml +++ b/spec/if/compiler/user-label-prefix.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: __USER_LABEL_PREFIX__ type: interface diff --git a/spec/if/domains/api.yml b/spec/if/domains/api.yml new file mode 100644 index 00000000..d10b7228 --- /dev/null +++ b/spec/if/domains/api.yml @@ -0,0 +1,10 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: | + This interface domain contains the API of the system. +enabled-by: true +interface-type: domain +links: [] +name: Application Programming Interface +type: interface diff --git a/spec/if/domains/build-options.yml b/spec/if/domains/build-options.yml new file mode 100644 index 00000000..d03f8e77 --- /dev/null +++ b/spec/if/domains/build-options.yml @@ -0,0 +1,10 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: | + This interface domain contains interfaces provided by the build system. +enabled-by: true +interface-type: domain +links: [] +name: Build Options +type: interface diff --git a/spec/if/domains/c.yml b/spec/if/domains/c.yml new file mode 100644 index 00000000..b49867da --- /dev/null +++ b/spec/if/domains/c.yml @@ -0,0 +1,11 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: | + This interface domain contains standard interfaces of the C programming + language. +enabled-by: true +interface-type: domain +links: [] +name: C Language +type: interface diff --git a/spec/if/domains/compiler.yml b/spec/if/domains/compiler.yml new file mode 100644 index 00000000..fb6e4835 --- /dev/null +++ b/spec/if/domains/compiler.yml @@ -0,0 +1,10 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: | + This interface domain contains interfaces provided by the compiler. +enabled-by: true +interface-type: domain +links: [] +name: Compiler +type: interface diff --git a/spec/if/domains/implementation.yml b/spec/if/domains/implementation.yml new file mode 100644 index 00000000..eebf7f4c --- /dev/null +++ b/spec/if/domains/implementation.yml @@ -0,0 +1,10 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: | + This interface domain contains the implementation of the system. +enabled-by: true +interface-type: domain +links: [] +name: Implementation +type: interface diff --git a/spec/if/domains/use.yml b/spec/if/domains/use.yml new file mode 100644 index 00000000..6659058b --- /dev/null +++ b/spec/if/domains/use.yml @@ -0,0 +1,12 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +description: | + This interface domain contains interfaces provided during the use of an + interface. For example, defines provided by the user for an included header + file. +enabled-by: true +interface-type: domain +links: [] +name: Use of Interface +type: interface diff --git a/spec/if/impl/isr/header.yml b/spec/if/impl/isr/header.yml index d3c749df..c2af6a0c 100644 --- a/spec/if/impl/isr/header.yml +++ b/spec/if/impl/isr/header.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: implementation enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/implementation path: rtems/score/isr.h prefix: cpukit/include type: interface diff --git a/spec/if/impl/memory/header.yml b/spec/if/impl/memory/header.yml index a84a546c..090fd915 100644 --- a/spec/if/impl/memory/header.yml +++ b/spec/if/impl/memory/header.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: implementation enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/implementation path: rtems/score/memory.h prefix: cpukit/include type: interface diff --git a/spec/if/impl/mpci/header.yml b/spec/if/impl/mpci/header.yml index c96fec45..724493a0 100644 --- a/spec/if/impl/mpci/header.yml +++ b/spec/if/impl/mpci/header.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: implementation enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/implementation path: rtems/score/mpci.h prefix: cpukit/include type: interface diff --git a/spec/if/impl/object/header.yml b/spec/if/impl/object/header.yml index 7ca6f731..2f5b95e8 100644 --- a/spec/if/impl/object/header.yml +++ b/spec/if/impl/object/header.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: implementation enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/implementation path: rtems/score/object.h prefix: cpukit/include type: interface diff --git a/spec/if/impl/smp/header.yml b/spec/if/impl/smp/header.yml index 738565eb..a84ccb01 100644 --- a/spec/if/impl/smp/header.yml +++ b/spec/if/impl/smp/header.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: implementation enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/implementation path: rtems/score/smp.h prefix: cpukit/include type: interface diff --git a/spec/if/impl/stack/header.yml b/spec/if/impl/stack/header.yml index 77de362a..17fa086d 100644 --- a/spec/if/impl/stack/header.yml +++ b/spec/if/impl/stack/header.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: implementation enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/implementation path: rtems/score/stack.h prefix: cpukit/include type: interface diff --git a/spec/if/impl/thread/header.yml b/spec/if/impl/thread/header.yml index 2e94df49..744b844f 100644 --- a/spec/if/impl/thread/header.yml +++ b/spec/if/impl/thread/header.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: implementation enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/implementation path: rtems/score/threadidledata.h prefix: cpukit/include type: interface diff --git a/spec/if/impl/userext/header.yml b/spec/if/impl/userext/header.yml index 39c8c3bd..6c046dfc 100644 --- a/spec/if/impl/userext/header.yml +++ b/spec/if/impl/userext/header.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: implementation enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/implementation path: rtems/score/userextdata.h prefix: cpukit/include type: interface diff --git a/spec/if/impl/watchdog/header.yml b/spec/if/impl/watchdog/header.yml index fc20cc9c..1fe027f9 100644 --- a/spec/if/impl/watchdog/header.yml +++ b/spec/if/impl/watchdog/header.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: implementation enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/implementation path: rtems/score/watchdogticks.h prefix: cpukit/include type: interface diff --git a/spec/if/impl/wkspace/header.yml b/spec/if/impl/wkspace/header.yml index 86ede892..33655aa4 100644 --- a/spec/if/impl/wkspace/header.yml +++ b/spec/if/impl/wkspace/header.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: implementation enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/implementation path: rtems/score/wkspacedata.h prefix: cpukit/include type: interface diff --git a/spec/if/rtems/basedefs/header.yml b/spec/if/rtems/basedefs/header.yml index 760ce111..6d5c5d26 100644 --- a/spec/if/rtems/basedefs/header.yml +++ b/spec/if/rtems/basedefs/header.yml @@ -1,7 +1,6 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: rtems enabled-by: true interface-type: header-file links: @@ -20,6 +19,8 @@ links: not: ASM role: interface-include uid: /if/c/stdint +- role: interface-placement + uid: /if/domains/api path: rtems/score/basedefs.h prefix: cpukit/include type: interface diff --git a/spec/if/rtems/config/header-2.yml b/spec/if/rtems/config/header-2.yml index 22e77a43..b06134c2 100644 --- a/spec/if/rtems/config/header-2.yml +++ b/spec/if/rtems/config/header-2.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: rtems enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/api path: rtems/rtems/config.h prefix: cpukit/include type: interface diff --git a/spec/if/rtems/config/header.yml b/spec/if/rtems/config/header.yml index 1e1041d6..69259113 100644 --- a/spec/if/rtems/config/header.yml +++ b/spec/if/rtems/config/header.yml @@ -1,7 +1,6 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: rtems enabled-by: true interface-type: header-file links: @@ -11,6 +10,8 @@ links: - enabled-by: RTEMS_MULTIPROCESSING role: interface-include uid: /if/rtems/types/header +- role: interface-placement + uid: /if/domains/api path: rtems/config.h prefix: cpukit/include type: interface diff --git a/spec/if/rtems/init/header.yml b/spec/if/rtems/init/header.yml index 6128dace..7ddadca7 100644 --- a/spec/if/rtems/init/header.yml +++ b/spec/if/rtems/init/header.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: rtems enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/api path: rtems/init.h prefix: cpukit/include type: interface diff --git a/spec/if/rtems/status/header.yml b/spec/if/rtems/status/header.yml index 54ce85e3..63610f04 100644 --- a/spec/if/rtems/status/header.yml +++ b/spec/if/rtems/status/header.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: rtems enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/api path: rtems/rtems/status.h prefix: cpukit/include type: interface diff --git a/spec/if/rtems/types/header.yml b/spec/if/rtems/types/header.yml index 2aa7e185..476f40f6 100644 --- a/spec/if/rtems/types/header.yml +++ b/spec/if/rtems/types/header.yml @@ -1,10 +1,11 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: rtems enabled-by: true interface-type: header-file -links: [] +links: +- role: interface-placement + uid: /if/domains/api path: rtems/rtems/types.h prefix: cpukit/include type: interface diff --git a/spec/if/use/asm.yml b/spec/if/use/asm.yml index 347a2ab3..a483aed0 100644 --- a/spec/if/use/asm.yml +++ b/spec/if/use/asm.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: ASM type: interface diff --git a/spec/if/use/domain.yml b/spec/if/use/container.yml index 2ac89c2e..66eded48 100644 --- a/spec/if/use/domain.yml +++ b/spec/if/use/container.yml @@ -1,8 +1,9 @@ SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause copyrights: - Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) -domain: use enabled-by: true interface-type: container -links: [] +links: +- role: interface-placement + uid: /if/domains/use type: interface diff --git a/spec/if/use/false.yml b/spec/if/use/false.yml index 83f37cfa..5d27e1e6 100644 --- a/spec/if/use/false.yml +++ b/spec/if/use/false.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: 'FALSE' type: interface diff --git a/spec/if/use/true.yml b/spec/if/use/true.yml index 0b016fef..97780774 100644 --- a/spec/if/use/true.yml +++ b/spec/if/use/true.yml @@ -5,6 +5,6 @@ enabled-by: true interface-type: unspecified links: - role: interface-placement - uid: domain + uid: container name: 'TRUE' type: interface diff --git a/spec/spec/interface-container.yml b/spec/spec/interface-container.yml index 9a1ea2b9..8106ea06 100644 --- a/spec/spec/interface-container.yml +++ b/spec/spec/interface-container.yml @@ -13,13 +13,12 @@ spec-description: null spec-example: null spec-info: dict: - attributes: - domain: - description: | - It shall be the interface domain name. - spec-type: str + attributes: {} description: | - This set of attributes specifies an interface container. + Items of this type specify an interface container. The item shall have + exactly one link with the :ref:`SpecTypeInterfacePlacementLinkRole` to an + :ref:`SpecTypeInterfaceDomainItemType` item. This link defines the + interface domain of the container. required-attributes: all spec-name: Interface Container Item Type spec-type: interface-container diff --git a/spec/spec/interface-domain.yml b/spec/spec/interface-domain.yml new file mode 100644 index 00000000..327b05ba --- /dev/null +++ b/spec/spec/interface-domain.yml @@ -0,0 +1,33 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +copyrights: +- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de) +enabled-by: true +links: +- role: spec-member + uid: root +- role: spec-refinement + spec-key: interface-type + spec-value: domain + uid: interface +spec-description: null +spec-example: null +spec-info: + dict: + attributes: + description: + description: | + It shall be the description of the domain + spec-type: str + name: + description: | + It shall be the human readable name of the domain. + spec-type: str + description: | + This set of attributes specifies an interface domain. Items of the types + :ref:`SpecTypeInterfaceContainerItemType` and + :ref:`SpecTypeInterfaceHeaderFileItemType` are placed into domains + through links with the :ref:`SpecTypeInterfacePlacementLinkRole`. + required-attributes: all +spec-name: Interface Domain Item Type +spec-type: interface-domain +type: spec diff --git a/spec/spec/interface-header-file.yml b/spec/spec/interface-header-file.yml index 4accb1c0..105e441d 100644 --- a/spec/spec/interface-header-file.yml +++ b/spec/spec/interface-header-file.yml @@ -14,10 +14,6 @@ spec-example: null spec-info: dict: attributes: - domain: - description: | - It shall be the interface domain name. - spec-type: str path: description: | It shall be the path used to include the header file. For example @@ -29,7 +25,10 @@ spec-info: interface domain. For example :file:`cpukit/include`. spec-type: str description: | - This set of attributes specifies a header file. + This set of attributes specifies a header file. The item shall have + exactly one link with the :ref:`SpecTypeInterfacePlacementLinkRole` to an + :ref:`SpecTypeInterfaceDomainItemType` item. This link defines the + interface domain of the header file. required-attributes: all spec-name: Interface Header File Item Type spec-type: interface-header-file |