eclipse-score / eclipse-score/communication

Refactor BUILD targets and reduce unnecessary dependencies

Open
#93 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
62
Forks
97
Avg merge
1d 1h
Merged PRs (30d)
72

Description

### 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

- [x] Requirements / Architecture are not affected by this change?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.