[PATCH] doc improvements
Sebastian Huber
sebastian.huber at embedded-brains.de
Wed Dec 2 18:17:07 UTC 2020
On 02/12/2020 18:09, Gedare Bloom wrote:
> A significant challenge with the version numbers arises during the
> release process. I will leave all these doc patches for Chris to
> review/feedback, but the concern is that when a release is cut all the
> version numbers need to be injected to the release and then updated
> for the main branch.
I think its worth to have a closer look at the stuff provided by
rtems-central/rtemsspec. The specification item based variable
substitution is quite capable. You can execute arbitrary Python code to
map a variable to a value. The RTEMS version numbers are already
available in the build specification, so for example this patch
diff --git a/spec/rtems/part/if/get-buffer.yml
b/spec/rtems/part/if/get-buffer.yml
index b2b13bd6..400909f9 100644
--- a/spec/rtems/part/if/get-buffer.yml
+++ b/spec/rtems/part/if/get-buffer.yml
@@ -29,6 +29,8 @@ links:
uid: group
name: rtems_partition_get_buffer
notes: |
+ In RTEMS ${/build/cpukit/optvermaj:/actions[0]/set-value} some things
changed.
+
This directive will not cause the running task to be preempted.
The buffer start alignment is determined by the memory area and
buffer size
Results in rtems-docs:
diff --git a/c-user/partition/directives.rst
b/c-user/partition/directives.rst
index e28ef2e..c5e6752 100644
--- a/c-user/partition/directives.rst
+++ b/c-user/partition/directives.rst
@@ -381,6 +381,8 @@ the ``buffer`` parameter.
.. rubric:: NOTES:
+In RTEMS 6 some things changed.
+
This directive will not cause the running task to be preempted.
The buffer start alignment is determined by the memory area and buffer
size
The mapping from ${/build/cpukit/optvermaj:/actions[0]/set-value} to '6'
is a bit long, but this could be simplified if needed.
For the user manual of the Qualification Data Package of the ongoing ESA
activity I generate the build output of an example application like this:
self.config_mapper.add_get_value(
f"{self.config_item.type}:/example-make",
self._get_example_make)
[...]
def _get_example_make(self, _ctx: ItemGetValueContext) -> Any:
dir_state, _ = self.dependency("example")
status = run_command(["make", "clean"], cwd=dir_state.directory)
assert status == 0
stdout = [] # type: List[str]
status = run_command(["make"], cwd=dir_state.directory,
stdout=stdout)
assert status == 0
content = SphinxContent()
with content.directive("code-block", value="none"):
content.add(stdout)
return "\n".join(content.lines)
So, instead of manually doing a copy and paste of some commands to
document files, the content is generated automatically in the
environment and the version corresponding to the package.
Each item has an "enabled-by" attribute. You can use this to
differentiate a generation for a release document and a development
branch document.
--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.hubere at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax: +49-89-18 94 741 - 08
Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
More information about the devel
mailing list