Introduction
Dox supports software developers to write requirements, architecture and software design for their projects. All specification elements can be linked to each other and to source code to get a full traceability.
Dox is the combination of the stand-alone Ruby gem dim and the three Python extensions for Sphinx dox_style, dox_util and dox_trace.
Overview
For the documentations of the individual tools, please click on the links below.
Tool Name |
Description |
|---|---|
Provides a default configuration for Sphinx documentations. It also checks several style conventions. |
|
Collection of small convenience-features for Sphinx documentations. |
|
Provides specification directives to achieve traceability in Sphinx documentations. |
|
A light-weight requirements tool based on YAML. |
Changelog
See https://github.com/esrlabs/dox/blob/master/CHANGELOG.md.
Contributing
Contributions are welcome, please create pull requests! If you want to actively develop these tools, please contact the owners of https://github.com/esrlabs/dox.
To merge a pull request, two requirements must be fulfilled:
A code-owner must approve the PR.
The automatic checks must not report any error.
Release Steps
Note
This section is for the code-owners.
Ensure that all relevant pull requests are merged and issues are closed.
Increment the version.
Dim:
<dox root>/dim/version.txtSphinx extensions:
<dox root>/dox_*/dox_*/version.py
Extend the change log.
Dim:
<dox root>/dim/documentation/source/pages/changelog.rstSphinx extensions:
<dox root>/dox_*/documentation/source/pages/changelog.rst
Adapt the overall documentation in
<dox root>/documentation.If applicable, update the
README.mdfiles:Overall:
<dox root>/README.mdDim:
<dox root>/dim/README.mdSphinx extensions:
<dox root>/dox_*/README.md
Push and merge the changes to the
masterbranch of https://github.com/esrlabs/dox with a pull request.Build the documentation. Go to
<dox root>/documentationand type:make dist
Push the output from
<dox root>/documentation/build/htmlto thegh-pagesbranch of https://github.com/esrlabs/dox. Please do not delete the empty.nojekyllfile, otherwise the HTML style sheets will not work correctly.Create the packages.
Dim: Go to
<dox root>/dimand type:gem build dim.gemspec
For more information about Ruby gems see https://guides.rubygems.org.
Sphinx packages: Go to
<dox root>/dox_*and type:python -m build
For more information about Python packages see https://packaging.python.org.
Upload the packages (accounts and appropriate access rights are required).
Dim: Go to
<dox root>/dimand type:gem push dim-toolkit-1.2.3.gem
Sphinx packages: Go to
<dox root>/dox_*and type:python -m twine upload dist/*
Add a new release tag and copy/paste the changelog entries to https://github.com/esrlabs/dox/tags.