StigElementExtension

Per-module element configuration. Set in each module's build.gradle.kts:

stig {
val sourceRepo by repos
val source_activities by groups

element {
group = source_activities

nativeBuild {
bazel {
target = "//activities/foo:foo"
}
}

softwareUnderAnalysis {
include(sourceRepo / "foo.cpp", sourceRepo / "bar.cpp")
}

analyzerInput {
interfacePoints {
entryPoint = "app::lifecycle::Activity::Step()"
topicsFile = sourceRepo / "activities/foo/foo_topics.json"
interfacePointsAnnotationFile = repos["model_repository"] /
"models/interface-definitions/Foo.json"
}
}
}
}

Name, projectPath and moduleDir are derived from the module's location. The remaining fields are optional overrides on top of project-wide stigProject { ... } defaults (set in root build.gradle.kts).

Constructors

Link copied to clipboard
constructor()

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
var asil: ASIL?

The configured safety integrity level. Distinct from per-symbol interface point ASILs; this is the element-wide declared level.

Link copied to clipboard

Override of the parent element type, if needed.

Link copied to clipboard

Single severity threshold for pipeline problems.

Link copied to clipboard

Group reference. Use val source_activities by groups in the stig { } block.

Link copied to clipboard
var id: String?

Canonical Highway model element ID, i.e. MetamodelEntity.id for the context viewpoint element. For a top-level Kotlin declaration such as val fusion = Fusion(), this is the dot-separated package plus reference name, for example app.activities.example_activity.context.fusion.

Link copied to clipboard

Upstream implementation class name (e.g. the C++ class the element wraps, like "FusionActivity"). Used by source-code analysis tasks that need to match LLVM symbols against the implementation type.

Link copied to clipboard

Override of the upstream element directory path relative to the repo root. When non-null, analysis tasks (stigAnalysisP7CollectMetrics, stigAnalysisP7CollectDescriptions, etc.) use this path instead of the auto-derived Gradle module path.

Link copied to clipboard

Upstream namespace where implementationClassName lives (e.g. "app::aeb::fusion_activity").

Link copied to clipboard

Whether STIG import/synchronization is enabled.

Link copied to clipboard

Optional directory containing interface definition files.

Link copied to clipboard

Legacy/static interface-point import mode. Prefer P5 interfacePoints { mode } for analysis.

Link copied to clipboard

true once a nativeBuild { ... } block has been applied at this level.

Link copied to clipboard

Source-code patches applied to this element's upstream sources before Bazel build.

Link copied to clipboard

Override of the parent placement, if needed.

Link copied to clipboard

Repo reference. Override the group's repo if needed. Use val sourceRepo by repos in the stig { } block.

Functions

Link copied to clipboard

P6 — analyzer execution settings.

Link copied to clipboard
fun analyzerInput(configure: AnalyzerInputDsl.() -> Unit)

P5 — analyzer-input settings.

Link copied to clipboard

P7 — complexity metric extraction.

Link copied to clipboard

P7 — generated diagram formats and per-artifact size limit.

Link copied to clipboard

P7 — function description extraction.

Link copied to clipboard
fun knownGaps(configure: KnownGapsDsl.() -> Unit)

Flow gaps that have already been assessed for this activity. Declare only defective sink rows, using the logical sink field emitted by P5.

Link copied to clipboard
fun modelCheck(configure: ModelCheckDsl.() -> Unit)

Model-check configuration for stigCheckModel, per viewpoint.

Link copied to clipboard
fun nativeBuild(configure: NativeBuildDsl.() -> Unit)

P1 — native target build and compile-command extraction.

Link copied to clipboard
fun patch(spec: StigPatchSpec)

Append a StigPatchSpec directly.

Link copied to clipboard

P3 provenance-build settings.

Link copied to clipboard

P4 — source-file selection for the analyzer boundary.

Link copied to clipboard

P7 — source-code observation scope used by parsers/metrics.