Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added an extra output to the DM shell command which generates plantum… #381

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

ErjanAltena
Copy link
Contributor

Added an "u" option to the DM shell command which outputs plantuml. Copy paste this to a file, generate a graph wihl plantuml (see platuml.com: java -jar plantump.jar ) this will quickly show:

  • All interfaces defined by the components
  • Show which interfaces are implemented by which components
  • Show on which interfaces components depend on, lines for available dependencies, dashed line for not-available dependencies (--> for non-required, non available, *--> for required, not available)
  • In a larger system, with a lot of hierarchy, it will quickly show what the root-cause is of components not getting available

Dependencies are shown purely on component-name basis. (Missing) dependencies caused by filters are not shown.

…l output to quickly see the resolved and not-resolved dependencies
@codecov-commenter
Copy link

codecov-commenter commented Nov 25, 2021

Codecov Report

Merging #381 (372e30f) into master (71fac23) will decrease coverage by 0.11%.
The diff coverage is 0.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #381      +/-   ##
==========================================
- Coverage   72.05%   71.93%   -0.12%     
==========================================
  Files         219      219              
  Lines       35620    35674      +54     
==========================================
- Hits        25665    25663       -2     
- Misses       9955    10011      +56     
Impacted Files Coverage Δ
bundles/shell/shell/src/dm_shell_list_command.c 0.00% <0.00%> (ø)
.../pubsub_admin_tcp/v2/src/pubsub_tcp_topic_sender.c 84.88% <0.00%> (-0.89%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 71fac23...372e30f. Read the comment docs.

Copy link
Contributor

@pnoltes pnoltes left a comment

Choose a reason for hiding this comment

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

Interesting addition, but I am missing the tests to verify the functionality.
See for example the query shell test:
https://github.com/apache/celix/blob/master/bundles/shell/shell/gtest/src/ShellTestSuite.cc#L138-L170

Also the meta info for the dm command should be updated to reflect the added functionality:
https://github.com/apache/celix/blob/master/bundles/shell/shell/src/std_commands.c#L101-L107

@pnoltes
Copy link
Contributor

pnoltes commented Nov 27, 2021

Is it maybe possible to move the generate plantuml from dependency manager info to a separate header/source file and test the output in combination with a plantuml package.

If this works the GitHub ubuntu workflow can be updated with the plantuml package: https://github.com/apache/celix/blob/master/.github/workflows/ubuntu.yml#L37-L50

And maybe with cmake find_program check if the additional test can be used.

@PengZheng
Copy link
Contributor

PengZheng commented Aug 24, 2023

Nice feature. I'll pick it up and get it merged.
Maybe look at it some later time.

@PengZheng PengZheng self-assigned this Aug 24, 2023
@PengZheng PengZheng removed their assignment Sep 18, 2023
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.

4 participants