Reqstool Python Poetry Plugin
Description
This provides a generic plugin for Poetry that runs during the build process.
The plugin collects decorated code, formatting it and writing it to a annotations.yml file saved to the build/reqstool/
folder, utilizing the reqstool-python-decorators
package for the processing.
Installation
Plugin
The package name is reqstool-python-poetry-plugin
.
-
Using poetry:
$poetry add reqstool-python-poetry-plugin
Dependencies
reqstool-decorators
The plugin reads decorators available in the reqstool-python-decorators
package.
$pip install reqstool-python-decorators
pyproject.toml
[tool.poetry.dependencies]
reqstool-python-decorators = "<version>"
Configuration
The plugin is configured in the pyproject.toml
file.
[tool.reqstool]
sources = ["src", "tests"]
test_results = "build/**/junit.xml"
dataset_directory = "docs/reqstool"
output_directory = "build/reqstool"
This specifies where the plugin should be applied: `sources`, where test reports are located: `test_results`, where reqstool files are located: `dataset_directory` and output directory: `output_directory`.
== Usage
=== Decorators
Used to decorate your code as seen in the examples below, the decorator processing that runs during the build process collects data from the decorated code.
Import decorators:
from reqstool_python_decorators.decorators.decorators import Requirements, SVCs
Example usage of the decorators:
@Requirements("REQ_111", "REQ_222") def somefunction():
@SVCs("SVC_111", "SVC_222") def test_somefunction():
=== Poetry Build
When running `$poetry build` or `$poetry install` the plugin will run the `activate` function located inside `ReqstoolPlugin` class, calling functions from the `reqstool-python-decorators` package and generate a annotations.yml file in the `build/reqstool/` folder containing formatted data on all decorated code found.
Additionaly it will generate a `reqstool_config.yml` in the root of the project.
== License
This project is licensed under the MIT License - see the LICENSE.md file for details.