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.
The package name is reqstool-python-poetry-plugin
.
- Using poetry:
$poetry add reqstool-python-poetry-plugin
- pip install (unsure if working as intended):
$pip install reqstool-python-poetry-plugin
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>"
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
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():
When running $poetry build
or $poetry install
the plugin will run the activate
function located inside DecoratorsPlugin
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.
This project is licensed under the MIT License - see the LICENSE.md file for details.