eclipse-score / eclipse-score/baselibs
utils: move time conversion and establish requirement traceability
- Dominant language
- C++
- Stars
- 26
- Forks
- 85
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 47
Description
The full DateTimeConverter implementation was intentionally removed after repeated correctness defects, including leap-second handling. The remaining `time_conversion` helper is not a DateTime Converter: it only converts chrono durations and absolute timeouts to `timespec`, and it previously belonged to Utils. Keeping it under `score/datetime_converter` creates a misleading standalone component boundary with no requirements or documentation.
Move the active `time_conversion` implementation, unit test, and canonical Bazel target from `score/datetime_converter` to `score/utils`. Update in-repository consumers, including the OS Mqueue utility and coverage target, to use the new Utils target. Preserve source and Bazel compatibility at the old location through a deprecated `//score/datetime_converter:time_conversion` forwarding target and compatible forwarding headers as needed for existing external consumers.
After #395 has established the current Utils requirement baseline, define an atomic `comp_req__utils__...` requirement for the observable time-conversion behavior, with valid upstream traceability, and allocate it to the Utils architecture. Link the relocated C++ gtests only to that requirement where they genuinely verify it, using mandated `FullyVerifies` or `PartiallyVerifies`, `TestType`, `DerivationTechnique`, and self-contained `Description` metadata.
Do not create standalone DateTime Converter requirements. The compatibility target exists only for migration and must not be treated as the owning implementation.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the active time_conversion implementation, its unit test, and the canonical Bazel target under score/datetime_converter. Trace consumers including the OS Mqueue utility and coverage target, then review #395's Utils requirement baseline and the existing C++ gtest traceability metadata. Done means the implementation and test live under score/utils, old targets and headers forward compatibly, and one valid Utils requirement owns only genuinely verifying tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- build-system, testing-qa, tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100