Skip to content

Commit

Permalink
docs: add requirements for Bazel
Browse files Browse the repository at this point in the history
Issue-ref: see #7
  • Loading branch information
ltekieli committed Nov 28, 2024
1 parent a2a2141 commit a3dbe89
Show file tree
Hide file tree
Showing 6 changed files with 120 additions and 0 deletions.
22 changes: 22 additions & 0 deletions docs/features/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
..
# *******************************************************************************
# Copyright (c) 2024 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************
Feature documentation
=====================

.. toctree::
:maxdepth: 1
:glob:

integration/index.rst
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
68 changes: 68 additions & 0 deletions docs/features/integration/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
..
# *******************************************************************************
# Copyright (c) 2024 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************
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
==========

- Bazel: https://bazel.build/
- Bazel modules: https://bazel.build/external/module
- Bazel registries: https://bazel.build/external/registry

.. |score_high_level_dependencies| image:: _assets/score_high_level_dependencies.png
1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,4 @@ Documentation
stakeholder_requirements/index.rst
tool_requirements/index.rst
process_description/index.rst
features/index.rst
14 changes: 14 additions & 0 deletions docs/stakeholder_requirements/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,20 @@ Stakeholder Requirements
========================


Integration
-----------

.. stkh_req:: Multirepo integration
:id: STKH_REQ__INT_multi_repo_integration
:reqtype: Non-Functional
:security: NO
:safety: QM
:rationale: Allow independent development of software modules
:status: valid

Integration of multiple repositories shall be supported in a unified workflow.


Quality
-------

Expand Down
15 changes: 15 additions & 0 deletions docs/tool_requirements/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,21 @@ Tool Requirements
=================


Integration tools
-----------------


.. tool_req:: Bazel for unified build, test and integration
:id: TOOL_REQ__Bazel__Unified_Build_Test_Integration
:reqtype: Non-Functional
:security: NO
:safety: QM
:satisfies: STKH_REQ__INT_multi_repo_integration
:status: valid

Bazel shall be used for building, testing and integrating software.


Process tools
-------------

Expand Down

0 comments on commit a3dbe89

Please sign in to comment.