RuleSetBuilder

class RuleSetBuilder(var name: String? = null)

DSL builder for configuring a reusable RuleSet.

Allows declaring module, class, function, property, file, slice, and layer rules, importing existing rule sets, and writing custom extension functions.

Constructors

Link copied to clipboard
constructor(name: String? = null)

Properties

Link copied to clipboard

Optional human-readable explanation or rationale for this rule set.

Link copied to clipboard
var name: String?

Optional human-readable name or identifier for this rule set.

Functions

Link copied to clipboard

Imports and executes a RuleDefinition within this rule set.

fun apply(ruleSet: RuleSet)

Imports and executes another RuleSet within this rule set.

fun apply(vararg rules: RuleDefinition)

Imports and executes multiple RuleDefinition instances within this rule set.

fun apply(vararg ruleSets: RuleSet)

Imports and executes multiple RuleSet instances within this rule set.

fun apply(ruleSets: Iterable<RuleSet>)

Imports and executes a collection of RuleSet instances within this rule set.

Link copied to clipboard
fun assertNoCycles(includeTestConfigurations: Boolean = false)

Alias for noCycles.

Link copied to clipboard
fun classes(block: ClassesRuleBuilder.() -> Unit)

Declares a suite of class structure/dependency rules inside this rule set.

fun classes(sourceSets: SourceSetSelector, block: ClassesRuleBuilder.() -> Unit)

Declares a suite of class structure/dependency rules scoped to specific source sets.

Link copied to clipboard
fun files(block: FilesRuleBuilder.() -> Unit)

Declares a suite of file structure/dependency rules inside this rule set.

fun files(sourceSets: SourceSetSelector, block: FilesRuleBuilder.() -> Unit)

Declares a suite of file structure/dependency rules scoped to specific source sets.

Link copied to clipboard

Declares a suite of function structure/dependency rules inside this rule set.

fun functions(sourceSets: SourceSetSelector, block: FunctionsRuleBuilder.() -> Unit)

Declares a suite of function structure/dependency rules scoped to specific source sets.

Link copied to clipboard
fun layer(name: String, block: ArchitectureLayerPolicy.() -> Unit)

Declares a first-class architectural layer with module/package selectors and explicit dependency boundaries inside this rule set.

Link copied to clipboard

Declares a nested, type-safe layered-architecture specification inside this rule set.

Link copied to clipboard

Declares a suite of layered-architecture rules inside this rule set.

Link copied to clipboard
fun modules(block: ModulesRuleBuilder.() -> Unit)

Declares a suite of module structure/dependency rules inside this rule set.

fun modules(sourceSets: SourceSetSelector, block: ModulesRuleBuilder.() -> Unit)

Declares a suite of module structure/dependency rules scoped to specific source sets.

Link copied to clipboard
fun noCycles(includeTestConfigurations: Boolean = false)

Verifies that there are no module dependency cycles in the project.

Link copied to clipboard

Declares a suite of property structure/dependency rules inside this rule set.

Declares a suite of property structure/dependency rules scoped to specific source sets.

Link copied to clipboard
fun rule(id: String, block: RuleBuilder.() -> Unit)

Declares a named architecture rule with metadata and sub-rules inside this rule set.

Link copied to clipboard
fun slices(block: SlicesRuleBuilder.() -> Unit)

Declares a suite of slice rules inside this rule set.

fun slices(sourceSets: SourceSetSelector, block: SlicesRuleBuilder.() -> Unit)

Declares a suite of slice rules scoped to specific source sets.

Link copied to clipboard

Declares a first-class source-set architecture policy using a custom SourceSetSelector.

fun sourceSet(vararg names: String, block: ArchitectureSourceSetPolicy.() -> Unit)

Declares a first-class source-set architecture policy for source sets matching any of names.

Declares a first-class source-set architecture policy for source sets matching name.