feat: Quality pack targets - #150
Conversation
License Check Results🚀 The license check job ran with the Bazel command: bazel run //:license-checkStatus: Click to expand output |
|
The created documentation from the pull request is available at: docu-html |
There was a problem hiding this comment.
This doesn't match up with the score process module_template.
I've started the component requirements work for the other components following the guidelines, see #151 and #149. I think we should have this structure across all the components. The actual build of the docs themselves won't work until the update to docs-as-code 6.0 is merged in #148 (updating to use docs_bundles so that we can have docs alongside source).
Please update to match the template.
There was a problem hiding this comment.
I pushed the commit Update to match module_template , to match the template. However, like you said, until docs-as-code 6.0 isn't merged this will not work as we get:
"broken_references": [
{
"testcase": "testcase__SystemClockTest__NowReturnsTimepointSuitableForDurationArithmetic_nckqh",
"missing_need": "comp_req__system_time__snapshot"
},
{
"testcase": "testcase__SteadyClockTest__NowReturnsTimepointSuitableForDurationArithmetic_dhwjw",
"missing_need": "comp_req__steady_time__snapshot"
},
{
"testcase": "testcase__HighResSteadyClockTest__NowReturnsTimepointSuitableForDurationArithmetic_ogazc",
"missing_need": "comp_req__high_res_steady_time__snapshot"
},
{
"testcase": "testcase__VehicleClockTest__NowReturnsSynchronizedStatusAndTimepoint_xggob",
"missing_need": "comp_req__vehicle_time__snapshot"
},
{
"testcase": "testcase__VehicleClockTest__InitForwardsToBackend_vsaqs",
"missing_need": "comp_req__vehicle_time__lifecycle"
}
]
160bc42 to
7444a7c
Compare
…ality-pack-targets
…ality-pack-targets
…ality-pack-targets
There was a problem hiding this comment.
These are a good start, but I think we could probably do with some more at this level.
- thread safety for getInstance singleton access
- thread safety for reading time snapshots
- linux and qnx platform support
- error handling (that we log on errors)
- that we return empty snapshot when backend not initialized
- AoU that user will initialize backend where necessary
Co-authored-by: Ryan Steel <str1yok@bosch.com> Signed-off-by: Gabriel Pinheiro <gabriel.pinheiro@etas.com>
The requirement describes type safety enforcement across time domains, which is functional behavior rather than an interface contract.
…ality-pack-targets
| ``SteadyClock::Now`` shall return a snapshot backed by | ||
| ``std::chrono::steady_clock`` without requiring initialization. |
There was a problem hiding this comment.
| ``SteadyClock::Now`` shall return a snapshot backed by | |
| ``std::chrono::steady_clock`` without requiring initialization. | |
| ``SteadyClock::Now`` shall return a snapshot backed by | |
| ``std::chrono::steady_clock`` without requiring prior initialization. |
| ``HighResSteadyClock::Now`` shall return a monotonic | ||
| ``ClockSnapshot`` without requiring prior initialization, and shall | ||
| not expose ``Init`` / ``IsAvailable`` / ``WaitUntilAvailable`` on the | ||
| facade (using them is a compile error). |
There was a problem hiding this comment.
Please either remove the details about Init and Availability or add them to the SteadyClock and SystemClock, also.
| ``SystemClock::Now`` shall return a snapshot backed by | ||
| ``std::chrono::system_clock`` without requiring initialization. |
There was a problem hiding this comment.
| ``SystemClock::Now`` shall return a snapshot backed by | |
| ``std::chrono::system_clock`` without requiring initialization. | |
| ``SystemClock::Now`` shall return a snapshot backed by | |
| ``std::chrono::system_clock`` without requiring prior initialization. |
There was a problem hiding this comment.
Not sure, if those are feature requirements or more component ones.
The feature requirements are defined in the score repository: https://github.com/eclipse-score/score/tree/main/docs/features/time/requirements
There was a problem hiding this comment.
already changed on previous commit
There was a problem hiding this comment.
Hmh - where is this file requested - can't find something about it in the score documentation?
There was a problem hiding this comment.
Its not required. It describes which Bazel targets/tags this repo exposes to the Score docs-as-code
| ========================= =============== | ||
| Metric Value | ||
| ========================= =============== | ||
| Requirements with source 2/5 (40.0%) | ||
| Requirements with test 5/5 (100.0%) | ||
| Requirements fully linked 2/5 (40.0%) | ||
| Tests linked to reqs 5/27 (18.5%) | ||
| Requirements with source 8/8 (100.0%) | ||
| Requirements with test 5/8 (62.5%) | ||
| Requirements fully linked 5/8 (62.5%) | ||
| Tests linked to reqs 5/318 (1.6%) | ||
| ========================= =============== |
There was a problem hiding this comment.
Shouldn't those kind of things be done by tooling and stored as a build artifact generated by some workflow?
There was a problem hiding this comment.
you're right, its better. Changed it
| # Source files carrying `// # req-Id:` markers, exposed to | ||
| # //score/time:docs_bundle via its code_targets attribute. | ||
| filegroup( | ||
| name = "requirement_marked_sources", | ||
| srcs = ["clock.h"], | ||
| visibility = ["//visibility:public"], | ||
| ) | ||
|
|
There was a problem hiding this comment.
:-O Is that really needed? (If yes, I'm asking myself why we have tooling ...)
There was a problem hiding this comment.
Yes, the API forces it. docs_bundle(...) from @score_docs_as_code//:docs.bzl takes an explicit code_targets = [...] list. the linker doesn't glob the tree because Bazel needs declared inputs. So something has to enumerate the files, either as one big filegroup at the root or (as done here) a small requirement_marked_sources filegroup per source package that the root docs_bundle composes.
There was a problem hiding this comment.
Please rename this file to index.rst (the folder is named "requirements" already)
There was a problem hiding this comment.
There is already an index.rst on this folder
There was a problem hiding this comment.
Yes, that's the "default one". Please have a look how this is done in this PR: #153
|
Nice requirements so far! |
Co-authored-by: Björn Hornburg <Bjoern.Hornburg@de.bosch.com> Signed-off-by: Gabriel Pinheiro <gabriel.pinheiro@etas.com>
Provide Bazel targets: unit tests, component tests, code coverage.
Added documentation