What
We should reorganize our repo to be easier to understand the viability of the headers and conform to other modules layout.
Proposed layout:
score/mw
├── health
│ ├── details
│ └── health_monitor.hpp <- <score/mw/health/health_monitor.hpp>
├── launch_manager
│ ├── other_component
│ │ ├── details
│ │ │ └── private.hpp
│ │ └── internally_visable.hpp
│ └── some_component
│ ├── details
│ │ └── private.hpp
│ └── internally_visable.hpp
└── lifecycle
├── control_client
│ ├── control_client.cpp
│ ├── control_client.hpp <- <score/mw/lifecycle/control_client.hpp>
│ └── details
└── lifecycle_client
├── details
├── lifecycle_client.cpp
└── lifecycle_client.hpp <- <score/mw/lifecycle/lifecycle_client.hpp>
Note that some path striping is required for the lifecycle_client and control_client to not duplicate the path
Here component_two can use <component_one/internally_visible.hpp> but cannot use <component_one/details/private.hpp>
So the layout has the following rules:
<namespace>/<component>/*.hpp are public
<namespace>/<component>/<sub-component>*.hpp is public to the component
<namespace>/<component>/sub-component>/details/*.hpp is visible only to the sub-
- All *.cpp shall be along side the hpp file.
For ease of use we can use strip_include_path of <namespace>/<component>/<sub-component> units as these are not visible to the user and so stripping shouldn't confuse.
Acceptance Criteria (DoD)
Repo restructured to follow the proposed solution
How
No response
What
We should reorganize our repo to be easier to understand the viability of the headers and conform to other modules layout.
Proposed layout:
Note that some path striping is required for the
lifecycle_clientandcontrol_clientto not duplicate the pathHere
component_twocan use<component_one/internally_visible.hpp>but cannot use<component_one/details/private.hpp>So the layout has the following rules:
<namespace>/<component>/*.hppare public<namespace>/<component>/<sub-component>*.hppis public to the component<namespace>/<component>/sub-component>/details/*.hppis visible only to the sub-For ease of use we can use strip_include_path of
<namespace>/<component>/<sub-component>units as these are not visible to the user and so stripping shouldn't confuse.Acceptance Criteria (DoD)
Repo restructured to follow the proposed solution
How
No response