Integration

Documentation

Description

Bazel is the build/test infrastructure of choice for the Score project. Overall integration and build should be realized using available rules or custom rules developed for the project. This means that the following should be integrated with bazel:

  • code build

  • documentation build

  • test runs

  • binary runs

  • external tooling

Running external tooling outside of Bazel should be limited as much as possible, in order to streamline the development with simple bazel {build,test,run} command, across multiple repositories and multiple languages.

All dependencies should be managed thru mechanisms available in Bazel. Dependency to host system should be limited as much as possible.

Each repository should register an entry in the bazel_registry for dependency management between different modules.

High level integration dependency

score_high_level_dependencies

Mandatory repositories:

  • bazel_registry (implicit dependency, stores version of all modules)

  • process_description (Score development process description)

  • score (requirements and architecture)

  • reference_integration (brings all parts together)

Optional repositories:

  • repositories containing implementation of particular features

References