Skip to content

Commit 4797a28

Browse files
committed
Renamed to rules_score
1 parent 12a8de3 commit 4797a28

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+257
-138
lines changed

MODULE.bazel

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,7 @@ bazel_dep(name = "rules_java", version = "8.15.1")
2828
bazel_dep(name = "rules_rust", version = "0.61.0")
2929
bazel_dep(name = "rules_multitool", version = "1.9.0")
3030
bazel_dep(name = "score_rust_policies", version = "0.0.2")
31-
3231
bazel_dep(name = "bazel_skylib", version = "1.7.1")
33-
3432
bazel_dep(name = "buildifier_prebuilt", version = "8.2.0.2")
3533

3634
###############################################################################
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
load(
2-
"//bazel/rules/score_module:score_module.bzl",
2+
"//bazel/rules/rules_score:rules_score.bzl",
33
"sphinx_module",
44
)
55

@@ -35,7 +35,7 @@ py_binary(
3535
)
3636

3737
sphinx_module(
38-
name = "score_module_doc",
38+
name = "rules_score_doc",
3939
srcs = glob(
4040
[
4141
"docs/**/*.rst",
Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
SCORE Module Bazel Rules
2-
=========================
1+
SCORE Rules for Bazel
2+
=====================
33

44
This package provides Bazel build rules for defining and building SCORE documentation modules with integrated Sphinx-based HTML generation.
55

@@ -11,15 +11,15 @@ This package provides Bazel build rules for defining and building SCORE document
1111
Overview
1212
--------
1313

14-
The ``sphinx_module`` package provides two complementary Bazel rules for structuring and documenting software modules:
14+
The ``rules_score`` package provides two complementary Bazel rules for structuring and documenting software modules:
1515

1616
1. **sphinx_module**: A generic documentation module rule that builds Sphinx-based HTML documentation from RST source files. Suitable for any type of documentation module.
1717

1818
2. **score_component**: A specialized rule for Safety Elements out of Context (SEooC) that enforces documentation structure with standardized artifacts for assumptions of use, requirements, architecture, and safety analysis.
1919

2020
Both rules support **cross-module dependencies** through the ``deps`` attribute, enabling automatic integration of external sphinx-needs references and HTML merging for comprehensive documentation sets.
2121

22-
.. uml:: score_module_overview.puml
22+
.. uml:: rules_score_overview.puml
2323

2424

2525
Rules and Macros
@@ -28,7 +28,7 @@ Rules and Macros
2828
sphinx_module
2929
~~~~~~~~~~~~
3030

31-
**File:** ``score_module.bzl``
31+
**File:** ``rules_score.bzl``
3232

3333
**Purpose:** Generic rule for building Sphinx-based HTML documentation modules from RST source files with support for dependencies and cross-referencing.
3434

@@ -44,7 +44,7 @@ sphinx_module
4444
"@score_process//:score_process_module",
4545
"//other_module:documentation",
4646
],
47-
sphinx = "//bazel/rules/score_module:score_build",
47+
sphinx = "//bazel/rules/rules_score:score_build",
4848
visibility = ["//visibility:public"]
4949
)
5050
@@ -54,7 +54,7 @@ sphinx_module
5454
- ``srcs``: List of RST source files for the documentation
5555
- ``index``: Path to the main index.rst file
5656
- ``deps``: Optional list of other ``sphinx_module`` or ``score_component`` targets that this module depends on. Dependencies are automatically integrated for cross-referencing via sphinx-needs and their HTML is merged into the output.
57-
- ``sphinx``: Label to the Sphinx build binary (default: ``//bazel/rules/score_module:score_build``)
57+
- ``sphinx``: Label to the Sphinx build binary (default: ``//bazel/rules/rules_score:score_build``)
5858
- ``config``: Optional custom conf.py file. If not provided, a default configuration is generated.
5959
- ``visibility``: Bazel visibility specification
6060

@@ -115,7 +115,7 @@ Each successful build produces:
115115
score_component
116116
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
117117

118-
**File:** ``score_module.bzl``
118+
**File:** ``rules_score.bzl``
119119

120120
**Purpose:** Specialized macro for defining a Safety Element out of Context (SEooC) module documentation structure and automatic index generation.
121121

@@ -152,7 +152,7 @@ score_component
152152
- ``deps``: Optional list of other ``sphinx_module`` or ``score_component`` targets that this SEooC depends on. Dependencies enable cross-referencing between modules and merge their HTML documentation into the final output.
153153
- ``implementations``: List of labels to implementation targets (cc_library, cc_binary, etc.) that realize the component requirements
154154
- ``tests``: List of labels to test targets (cc_test, py_test, etc.) that verify the implementation against requirements
155-
- ``sphinx``: Label to the Sphinx build binary (default: ``//bazel/rules/score_module:score_build``)
155+
- ``sphinx``: Label to the Sphinx build binary (default: ``//bazel/rules/rules_score:score_build``)
156156
- ``visibility``: Bazel visibility specification
157157

158158
**Generated Targets:**
@@ -280,7 +280,7 @@ Example 1: Generic Documentation Module
280280

281281
.. code-block:: python
282282
283-
load("//bazel/rules/score_module:score_module.bzl", "sphinx_module")
283+
load("//bazel/rules/rules_score:rules_score.bzl", "sphinx_module")
284284
285285
sphinx_module(
286286
name = "platform_docs",
@@ -303,7 +303,7 @@ Example 2: Safety Element out of Context
303303

304304
.. code-block:: python
305305
306-
load("//bazel/rules/score_module:score_module.bzl",
306+
load("//bazel/rules/rules_score:rules_score.bzl",
307307
"score_component")
308308
309309
# Implementation
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
@startuml
2+
3+
skinparam linetype ortho
4+
skinparam artifact<<document>> {
5+
BackgroundColor LightGreen
6+
BorderColor Green
7+
}
8+
skinparam component<<rule>> {
9+
BackgroundColor LightBlue
10+
BorderColor Blue
11+
}
12+
skinparam component<<provider>> {
13+
BackgroundColor LightYellow
14+
BorderColor Orange
15+
}
16+
17+
' Main aggregation
18+
component "sphinx_module" as sphinx_module <<rule>>
19+
20+
' Structural rules
21+
component "component" as component <<rule>>
22+
component "unit" as unit <<rule>>
23+
component "dependable_element" as dependable_element <<rule>>
24+
25+
' Document generation rules
26+
component "assumptions_of_use" as assumptions_of_use <<rule>>
27+
component "component_requirements" as component_requirements <<rule>>
28+
component "architectural_design" as architectural_design <<rule>>
29+
component "feature_requirements" as feature_requirements <<rule>>
30+
component "dependability_analysis" as dependability_analysis <<rule>>
31+
component "safety_analysis" as safety_analysis <<rule>>
32+
33+
' Providers
34+
component "SphinxSourcesInfo" as SphinxSourcesInfo <<provider>>
35+
component "UnitInfo" as UnitInfo <<provider>>
36+
component "ComponentInfo" as ComponentInfo <<provider>>
37+
component "DependableElementInfo" as DependableElementInfo <<provider>>
38+
39+
' Document artifacts
40+
artifact "Assumptions of Use" as aou_doc <<document>>
41+
artifact "Component Requirements" as cr_doc <<document>>
42+
artifact "Architectural Design" as ad_doc <<document>>
43+
artifact "Feature Requirements" as fr_doc <<document>>
44+
artifact "Dependability Analysis" as da_doc <<document>>
45+
artifact "Safety Analysis" as sa_doc <<document>>
46+
artifact "Detailed Design" as dd_doc <<document>>
47+
48+
' Implementation artifacts
49+
card "Implementation" as impl <<cc_library>>
50+
card "Test Suite" as test <<cc_test>>
51+
52+
' Relationships - Document generation rules create documents
53+
assumptions_of_use --> aou_doc : generates
54+
component_requirements --> cr_doc : generates
55+
architectural_design --> ad_doc : generates
56+
feature_requirements --> fr_doc : generates
57+
dependability_analysis --> da_doc : generates
58+
safety_analysis --> sa_doc : generates
59+
60+
' Unit relationships
61+
unit *-- dd_doc
62+
unit --> UnitInfo : provides
63+
unit *-- impl
64+
unit *-- test
65+
66+
' Component relationships
67+
component *-- unit : contains
68+
component --> ComponentInfo : provides
69+
component *-- assumptions_of_use
70+
component *-- component_requirements
71+
component *-- architectural_design
72+
component *-- feature_requirements
73+
component *-- safety_analysis
74+
75+
' Dependable element relationships
76+
dependable_element --> DependableElementInfo : provides
77+
dependability_analysis ..> DependableElementInfo : uses
78+
dependability_analysis --> da_doc : generates
79+
80+
' Sphinx module aggregation
81+
sphinx_module *-- component : aggregates
82+
sphinx_module --> SphinxSourcesInfo : provides
83+
sphinx_module ..> sphinx_module : can depend on
84+
85+
' Cross-dependencies
86+
component ..> component : can depend on
87+
component ..> dependable_element : can depend on
88+
89+
@enduml

bazel/rules/score_module/private/architectural_design.bzl renamed to bazel/rules/rules_score/private/architectural_design.bzl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ documentation following S-CORE process guidelines. Architectural design
1919
documents describe the software architecture including static and dynamic views.
2020
"""
2121

22-
load("//bazel/rules/score_module:providers.bzl", "SphinxSourcesInfo")
22+
load("//bazel/rules/rules_score:providers.bzl", "SphinxSourcesInfo")
2323

2424
# ============================================================================
2525
# Provider Definition

bazel/rules/score_module/private/assumptions_of_use.bzl renamed to bazel/rules/rules_score/private/assumptions_of_use.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ following S-CORE process guidelines. Assumptions of Use define the safety-releva
1919
operating conditions and constraints for a Safety Element out of Context (SEooC).
2020
"""
2121

22-
load("//bazel/rules/score_module/private:feature_requirements.bzl", "FeatureRequirementsInfo")
23-
load("//bazel/rules/score_module:providers.bzl", "SphinxSourcesInfo")
22+
load("//bazel/rules/rules_score:providers.bzl", "SphinxSourcesInfo")
23+
load("//bazel/rules/rules_score/private:feature_requirements.bzl", "FeatureRequirementsInfo")
2424

2525
# ============================================================================
2626
# Provider Definition

bazel/rules/score_module/private/component.bzl renamed to bazel/rules/rules_score/private/component.bzl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ following S-CORE process guidelines. A component consists of multiple units
1919
with associated requirements and tests.
2020
"""
2121

22-
load("//bazel/rules/score_module:providers.bzl", "ComponentInfo", "SphinxSourcesInfo")
22+
load("//bazel/rules/rules_score:providers.bzl", "ComponentInfo", "SphinxSourcesInfo")
2323

2424
# ============================================================================
2525
# Private Rule Implementation
@@ -149,6 +149,7 @@ def component(
149149
)
150150
```
151151
"""
152+
152153
# Support both old parameter names and new aliases
153154
final_requirements = component_requirements if component_requirements != None else requirements
154155
final_units = units if units != None else components

bazel/rules/score_module/private/component_requirements.bzl renamed to bazel/rules/rules_score/private/component_requirements.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ following S-CORE process guidelines. Component requirements are derived from
1919
feature requirements and define the specific requirements for a software component.
2020
"""
2121

22-
load("//bazel/rules/score_module/private:feature_requirements.bzl", "FeatureRequirementsInfo")
23-
load("//bazel/rules/score_module:providers.bzl", "SphinxSourcesInfo")
22+
load("//bazel/rules/rules_score:providers.bzl", "SphinxSourcesInfo")
23+
load("//bazel/rules/rules_score/private:feature_requirements.bzl", "FeatureRequirementsInfo")
2424

2525
# ============================================================================
2626
# Provider Definition

bazel/rules/score_module/private/dependability_analysis.bzl renamed to bazel/rules/rules_score/private/dependability_analysis.bzl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ combines safety analysis with dependent failure analysis (DFA) to provide
2020
a comprehensive view of component reliability and safety.
2121
"""
2222

23-
load("//bazel/rules/score_module/private:architectural_design.bzl", "ArchitecturalDesignInfo")
24-
load("//bazel/rules/score_module:providers.bzl", "SphinxSourcesInfo")
25-
load("//bazel/rules/score_module/private:safety_analysis.bzl", "SafetyAnalysisInfo")
23+
load("//bazel/rules/rules_score:providers.bzl", "SphinxSourcesInfo")
24+
load("//bazel/rules/rules_score/private:architectural_design.bzl", "ArchitecturalDesignInfo")
25+
load("//bazel/rules/rules_score/private:safety_analysis.bzl", "SafetyAnalysisInfo")
2626

2727
# ============================================================================
2828
# Provider Definition

0 commit comments

Comments
 (0)