Skip to content

Conversation

@Ahmed-Elsaka-JC
Copy link
Contributor

No description provided.

@github-actions
Copy link

github-actions bot commented Nov 21, 2025

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.3.0) and connecting to it...
INFO: Invocation ID: 59d72cf7-b9cd-420b-905e-167b83050c14
Computing main repo mapping: 
Computing main repo mapping: 
DEBUG: Rule 'rules_boost+' indicated that a canonical reproducible form can be obtained by modifying arguments integrity = "sha256-LTilyiMMjpYyAi1PW+8RycyAEHy9clo7915R0Bchb2E="
DEBUG: Repository rules_boost+ instantiated at:
  <builtin>: in <toplevel>
Repository rule http_archive defined at:
  /home/runner/.bazel/external/bazel_tools/tools/build_defs/repo/http.bzl:394:31: in <toplevel>
Computing main repo mapping: 
WARNING: For repository 'rules_python', the root module requires module version rules_python@1.4.1, but got rules_python@1.5.1 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'rules_cc', the root module requires module version rules_cc@0.1.1, but got rules_cc@0.2.14 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
WARNING: For repository 'googletest', the root module requires module version googletest@1.15.0, but got googletest@1.17.0.bcr.2 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
Computing main repo mapping: 
Computing main repo mapping: 
Loading: 
Loading: 2 packages loaded
Loading: 2 packages loaded
    currently loading: 
Loading: 2 packages loaded
    currently loading: 
Analyzing: target //:license-check (3 packages loaded, 0 targets configured)
Analyzing: target //:license-check (3 packages loaded, 0 targets configured)

Analyzing: target //:license-check (71 packages loaded, 9 targets configured)

Analyzing: target //:license-check (120 packages loaded, 870 targets configured)

Analyzing: target //:license-check (135 packages loaded, 2727 targets configured)

Analyzing: target //:license-check (139 packages loaded, 2857 targets configured)

Analyzing: target //:license-check (139 packages loaded, 2857 targets configured)

Analyzing: target //:license-check (139 packages loaded, 2857 targets configured)

Analyzing: target //:license-check (142 packages loaded, 4864 targets configured)

Analyzing: target //:license-check (142 packages loaded, 4864 targets configured)

Analyzing: target //:license-check (142 packages loaded, 4864 targets configured)

Analyzing: target //:license-check (142 packages loaded, 4864 targets configured)

DEBUG: Rule 'toolchains_llvm++llvm+llvm_toolchain_llvm' indicated that a canonical reproducible form can be obtained by modifying arguments _action_listener = <unknown object com.google.devtools.build.lib.packages.Attribute$LabelListLateBoundDefault>, _config_dependencies = [], _configure = False, _environ = [], _original_name = "llvm_toolchain_llvm"
DEBUG: Repository toolchains_llvm++llvm+llvm_toolchain_llvm instantiated at:
  <builtin>: in <toplevel>
Repository rule llvm defined at:
  /home/runner/.bazel/external/toolchains_llvm+/toolchain/rules.bzl:27:23: in <toplevel>
Analyzing: target //:license-check (142 packages loaded, 4864 targets configured)

INFO: Analyzed target //:license-check (143 packages loaded, 6799 targets configured).
[8 / 14] [Prepa] Expanding template external/score_dash_license_checker+/tool/formatters/dash_format_converter [for tool]
[9 / 14] [Prepa] JavaToolchainCompileClasses external/rules_java+/toolchains/platformclasspath_classes ... (2 actions, 0 running)
INFO: From Generating Dash formatted dependency file ...:
INFO: Successfully converted 65 packages from Cargo.lock to bazel-out/k8-fastbuild/bin/formatted.txt
INFO: Found 1 target...
Target //:license.check.license_check up-to-date:
  bazel-bin/license.check.license_check
  bazel-bin/license.check.license_check.jar
INFO: Elapsed time: 200.475s, Critical Path: 0.64s
INFO: 14 processes: 4 disk cache hit, 9 internal, 1 processwrapper-sandbox.
INFO: Build completed successfully, 14 total actions
INFO: Running command line: bazel-bin/license.check.license_check ./formatted.txt <args omitted>
usage: org.eclipse.dash.licenses.cli.Main [-batch <int>] [-cd <url>]
       [-confidence <int>] [-ef <url>] [-excludeSources <sources>] [-help] [-lic
       <url>] [-project <shortname>] [-repo <url>] [-review] [-summary <file>]
       [-timeout <seconds>] [-token <token>]

@github-actions
Copy link

The created documentation from the pull request is available at: docu-html

@arkjedrz arkjedrz self-requested a review December 18, 2025 07:47
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this file.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agree

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rename this file (class_diagram_cpp.puml?), move it to docs/, remove Design/ directory.

BorderColor<<mock>> IndianRed
}

class IKvsBuilder <<implementation>> {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-> KvsBuilder - no longer an interface.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agree


class IKvsBuilder <<implementation>> {
- instance_id: InstanceId
- need_defaults : bool
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-> -defaults : KvsDefaults

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?

Copy link
Contributor Author

@Ahmed-Elsaka-JC Ahmed-Elsaka-JC Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Expected values :

  • true : default storage must be exist
  • false : default storage may not be exist
  • Ignores : ignore default values even if we have default values storage.

- new ticket should be created to make c++ support this as rust.

class IKvsBuilder <<implementation>> {
- instance_id: InstanceId
- need_defaults : bool
- need_kvs : bool
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-> -kvs_load : KvsLoad

Copy link
Contributor Author

@Ahmed-Elsaka-JC Ahmed-Elsaka-JC Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

kvs_load = OpenNeedKvs :
OpenNeedKvs has two values now :
new value will be added "IGNORE"

new ticket should be created to make c++ support this as rust.

+ snapshot_count: Result<size_t>
+ snapshot_max_count() : Result<size_t>
+ snapshot_restore(snapshot_id:SnapshotId): ResultBlank
+ get_kvs_file_name(snapshot_id:SnapshotId): Result<filesystem::path>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove - filesystem related.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

+ set_value(Key:string, value:KvsValue): ResultBlank
+ remove_key(Key:string) : ResultBlank
+ flush() : ResultBlank
+ snapshot_count: Result<size_t>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a function.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is meant by this if a function ?

IStorageBackEnd -[hidden]right- IKvs

' IStorageBackEnd interface (top middle-right)
interface IStorageBackEnd <<interface>> {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-> IStorageBackend?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?

' Notes matching original design
note left of IKvsBuilder
builder will contain static map for opened instances
single tone should be applied to the builder
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's a single tone?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like this file is not included in any index file

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

?

@startuml NewDesign

' Define color schemes matching original design
skinparam class {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why overriding the global design? this will result in an inconsistent documentation.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just to differentiate between Interfaces , implementations, and mocks

+ Load_kvs(instance_id:InstanceId, snapshot_id:SnapshotId):IKvs
+ Load_default(instance_id:InstanceId)
+ Flush(instance_id:InstanceId, kvs:unordered_map<string,kvs>
+ Snapshot_count(instance_id:InstanceId):Result<size_t>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function name shall follow snake_case convention

Copy link
Contributor Author

@Ahmed-Elsaka-JC Ahmed-Elsaka-JC Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as i remember , we should follow PascalCase

@@ -0,0 +1,158 @@
@startuml NewDesign
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove or rename NewDesign to something more meanigful

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agree

+ parser : unique_ptr<IjsonParser> parser
+ writer : unique_ptr<IjsonWriter> writer
+ logger : unique_ptr<mw::log::logger> logger
+ Storage_backend : IStorageBackEnd
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Relation (Composition) to IStorageBackEnd is not modelled in this class diagramm

Copy link
Contributor Author

@Ahmed-Elsaka-JC Ahmed-Elsaka-JC Jan 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Relation changed from Agregation to composition !!!!

+ default_kvs : unordered_map<string, KvsValue>
+ filename_prefix : score::filesystem::path
+ filesystem : score::filesystem
+ parser : unique_ptr<IjsonParser> parser
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall the parser and reader not be abstracted by the Backend?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

!

+ snapshot_count: Result<size_t>
+ snapshot_max_count() : Result<size_t>
+ snapshot_restore(snapshot_id:SnapshotId): ResultBlank
+ get_kvs_file_name(snapshot_id:SnapshotId): Result<filesystem::path>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need them on public interface? If yes, naming is inconsistent file_name vs filename

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants