Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions bazel/rules/rules_score/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ load(
exports_files([
"templates/conf.template.py",
"templates/seooc_index.template.rst",
"templates/unit.template.rst",
"templates/component.template.rst",
])

# HTML merge tool
Expand Down
16 changes: 12 additions & 4 deletions bazel/rules/rules_score/private/assumptions_of_use.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ operating conditions and constraints for a Safety Element out of Context (SEooC)
"""

load("//bazel/rules/rules_score:providers.bzl", "SphinxSourcesInfo")
load("//bazel/rules/rules_score/private:component_requirements.bzl", "ComponentRequirementsInfo")
load("//bazel/rules/rules_score/private:feature_requirements.bzl", "FeatureRequirementsInfo")

# ============================================================================
Expand Down Expand Up @@ -55,13 +56,13 @@ def _assumptions_of_use_impl(ctx):

# Collect feature requirements providers
feature_reqs = []
for feat_req in ctx.attr.feature_requirement:
for feat_req in ctx.attr.feature_requirements:
if FeatureRequirementsInfo in feat_req:
feature_reqs.append(feat_req[FeatureRequirementsInfo])

# Collect transitive sphinx sources from feature requirements
transitive = [srcs]
for feat_req in ctx.attr.feature_requirement:
for feat_req in ctx.attr.feature_requirements:
if SphinxSourcesInfo in feat_req:
transitive.append(feat_req[SphinxSourcesInfo].transitive_srcs)

Expand Down Expand Up @@ -91,11 +92,16 @@ _assumptions_of_use = rule(
mandatory = True,
doc = "Source files containing Assumptions of Use specifications",
),
"feature_requirement": attr.label_list(
"feature_requirements": attr.label_list(
providers = [FeatureRequirementsInfo],
mandatory = False,
doc = "List of feature_requirements targets that these Assumptions of Use trace to",
),
"component_requirements": attr.label_list(
providers = [ComponentRequirementsInfo],
mandatory = False,
doc = "List of feature_requirements targets that these Assumptions of Use trace to",
),
},
)

Expand All @@ -107,6 +113,7 @@ def assumptions_of_use(
name,
srcs,
feature_requirement = [],
component_requirements = [],
visibility = None):
"""Define Assumptions of Use following S-CORE process guidelines.

Expand Down Expand Up @@ -141,6 +148,7 @@ def assumptions_of_use(
_assumptions_of_use(
name = name,
srcs = srcs,
feature_requirement = feature_requirement,
feature_requirements = feature_requirement,
component_requirements = component_requirements,
visibility = visibility,
)
9 changes: 5 additions & 4 deletions bazel/rules/rules_score/private/dependability_analysis.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ def _dependability_analysis_impl(ctx):
# Collect safety analysis providers
safety_analysis_infos = []
safety_analysis_files = []
for sa in ctx.attr.safety_analysis:
for sa in ctx.attr.security_analysis:
if SafetyAnalysisInfo in sa:
safety_analysis_infos.append(sa[SafetyAnalysisInfo])
safety_analysis_files.append(sa.files)
Expand All @@ -78,7 +78,7 @@ def _dependability_analysis_impl(ctx):

# Collect transitive sphinx sources from safety analysis and architectural design
transitive = [all_files]
for sa in ctx.attr.safety_analysis:
for sa in ctx.attr.security_analysis:
if SphinxSourcesInfo in sa:
transitive.append(sa[SphinxSourcesInfo].transitive_srcs)
if ctx.attr.arch_design and SphinxSourcesInfo in ctx.attr.arch_design:
Expand Down Expand Up @@ -107,7 +107,8 @@ _dependability_analysis = rule(
implementation = _dependability_analysis_impl,
doc = "Collects dependability analysis documents for S-CORE process compliance",
attrs = {
"safety_analysis": attr.label_list(
"security_analysis": attr.label_list(
# TODO: change provider name
providers = [SafetyAnalysisInfo],
mandatory = False,
doc = "List of safety_analysis targets containing FMEA, FMEDA, FTA results",
Expand Down Expand Up @@ -183,7 +184,7 @@ def dependability_analysis(
"""
_dependability_analysis(
name = name,
safety_analysis = safety_analysis,
security_analysis = safety_analysis,
dfa = dfa,
fmea = fmea,
arch_design = arch_design,
Expand Down
Loading