Files
obitools4/autodoc/docmd/pkg/obioptions/version.md
T

36 lines
1.7 KiB
Markdown
Raw Normal View History

2026-04-07 08:36:50 +02:00
# OBIOptions Package Semantic Description
The `obioptions` package provides a lightweight, version-aware utility for the OBITools suite. Its core functionality is centered around exposing runtime version information in a standardized and programmatic way.
## Key Features
- **Version Exposure**:
Exposes the current version of OBITools via a simple, read-only function `VersionString()`. This allows other modules or external tools to query the package version at runtime.
- **Automated Versioning**:
The `_Version` variable is automatically populated from an external `version.txt` file during the build process (via Makefile), ensuring consistency between source metadata and compiled artifacts.
- **Patch-Level Tracking**:
The version follows semantic conventions (`MAJOR.MINOR.PATCH`), with the patch number incremented automatically on each repository push—enabling precise tracking of development iterations.
- **No Side Effects**:
The `VersionString()` function is pure: it takes no parameters and performs only a string return, making it safe for use in logging, diagnostics, or compatibility checks.
- **Documentation Ready**:
Includes inline GoDoc comments for clarity and tooling support (e.g., `go doc`), improving maintainability.
## Use Cases
- Debugging and logging (e.g., including version in error reports).
- Conditional logic based on OBITools compatibility.
- CI/CD validation (e.g., verifying deployed version matches expectations).
## Version Format
`"Release X.Y.Z"` (e.g., `"Release 4.4.29"`), where:
- `X` = Major release (breaking changes),
- `Y` = Minor release (new features, backward-compatible),
- `Z` = Patch level (incremented per push for hotfixes/bug fixes).
No external dependencies or configuration required.