Skip to content

Restructure Repository to Align with API #210

@MaciejKaszynski

Description

@MaciejKaszynski

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/lm
├── health_monitoring_lib
│   └── public_header.hpp <- visibility = ["//visibility:public"]
├── launch_manager
│   ├── component_one
│   │   ├── details
│   │   │   └── private.hpp  <- visibility = ["//score/mw/lm/launch_manager/component_one:__subpackages__"]
│   │   └── internally_visible.hpp <- visibility = ["//score/mw/lm/launch_manager:__subpackages__"]
│   └── component_two
│       ├── details
│       │   └── private.hpp
│       └── internally_visible.hpp
└── lifecycle_client
    └── public_header.hpp

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No fields configured for Task.

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions