StigProjectExtension

open class StigProjectExtension(projectDir: File, projectName: String = projectDir.name)

Project-phase extension for project-wide STIG configuration. Registered on the root project by com.stigway.gradle.plugin.StigPlugin and configured in the root build.gradle.kts:

stigProject {
basePackagePrefix = "app"

val sourceRepo = repo("sourceRepo") {
root = "../../../sourceRepo"
}

val sourceActivities = group("source_activities") {
from(sourceRepo)
elementType = ElementType.ACTIVITY
}
}

Repo references returned by repo are live objects that subprojects access via repos["sourceRepo"] in their stig { element { ... } } blocks. No serialization/reconstruction needed — the extension is a single, live source of truth for the entire build.

Constructors

Link copied to clipboard
constructor(projectDir: File, projectName: String = projectDir.name)

Properties

Link copied to clipboard

Reverse-domain prefix prepended to all synthesized Kotlin packages (activities, clusters, components, generated viewpoints).

Link copied to clipboard

Functions

Link copied to clipboard

Defines reusable LLVM transform models keyed by qualified function name or global name pattern.

Link copied to clipboard
fun defaults(configure: DefaultsDsl.() -> Unit)

Fallback values for elements without an explicit group.

Link copied to clipboard
fun generateHtml(configure: GenerateHtmlDsl.() -> Unit)

Local HTML generation and preview-server configuration.

Link copied to clipboard
fun group(name: String, configure: GroupDsl.() -> Unit): StigGroupRef

Defines a group (category of elements with shared settings). Returns a StigGroupRef for type-safe assignment in element configurations.

Link copied to clipboard
fun model(configure: ModelDsl.() -> Unit)

Explicit model imports and exports, in declaration order.

Link copied to clipboard
fun publish(configure: PublishDsl.() -> Unit)

Pages-publishing configuration (remote, branch, subdir, base URL).

Link copied to clipboard
fun repo(name: String, configure: RepoDsl.() -> Unit): StigRepoRef

Defines a repo (source repository location). Returns a StigRepoRef that subprojects resolve to a StigRepoDir via repos["sourceRepo"]. The StigRepoDir.div operator then produces StigRepoFile references:

Link copied to clipboard
fun review(configure: ReviewDsl.() -> Unit)

Browser review configuration. Users create findings in the report after publication.

Link copied to clipboard

Project-wide source-code analysis pipeline toggles.