reqstool Gradle Plugin
This Gradle plugin generates a ZIP artifact containing combined annotations and various reports for reqstool. It provides zero-configuration defaults while allowing customization when needed.
Features
-
Zero-configuration: Works out of the box with sensible defaults
-
Automatic task wiring:
assembleRequirementsdepends on all compile tasks;buildis finalized byassembleRequirements -
Multi-source-set support: SVCs annotation files are auto-discovered from all non-main source sets
-
Maven publishing support: Automatically registers ZIP artifact for publication
-
Combines annotations: Merges requirements annotations from implementation and test code
-
Assembles ZIP artifact: Creates structured ZIP containing requirements, test results, and configuration
Quick Start
Apply the plugin
plugins {
id 'io.github.reqstool.gradle-plugin' version '0.1.1'
}
requirementsTool {
datasetPath = file('docs/reqstool')
}
Default behavior
The plugin automatically:
-
Wires
assembleRequirementsto depend oncompileJavaand all non-maincompileXxxJavatasks -
Finalizes
buildwithassembleRequirements— no manual task configuration needed -
Combines annotation files from all source sets into
build/reqstool/annotations.yml -
Creates a ZIP artifact in
build/reqstool/containing:-
requirements.yml(fromdatasetPathdirectory) -
software_verification_cases.yml(optional) -
manual_verification_results.yml(optional) -
annotations.yml(combined annotations) -
test_results/(XML test results matchingtestResultspatterns) -
reqstool_config.yml(configuration manifest)
-
-
Registers the ZIP for Maven publication (if
maven-publishplugin is applied)