Skip to content

Refactor BUILD targets and reduce unnecessary dependencies #93

@LittleHuba

Description

@LittleHuba

What

Our BUILD files currently contain build targets which contain a large number of source files (for both libraries and unit tests). This results in having a large number of dependencies for each build target.

We want one translation unit per bazel target.
Interfaces shall have a source file to make them a separate translation unit.

How

We should try to reduce the size of our internal build targets to make them more modular. It may be that some internal BUILD targets will only contain a single translation unit and only add additional translation units to a single BUILD target if it makes sense.

We can also have public targets which contain more translation units which are grouped according to user interaction and depend on how more modular internal BUILD targets.

To retain the dependency tree where wanted, a bazel target may also contain no translation unit itself but only a list of dependencies to other bazel targets. This can be used to group bazel targets.

When changing the scope of a bazel target, please also verify the list of dependencies.
We do not want to transitively depend on anything, but the list of dependencies should be reduced to the necessary dependencies.

Estimates for realization

  • Effort medium
  • No impact on users expected

Category

  • Affects Detailed Design

Requirements / Architecture

  • Requirements / Architecture are not affected by this change?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions