LayeredArchitectureDsl

Type-safe, nested DSL for defining and verifying layered architecture rules.

Example Usage:

Konture.layered {
val presentation = layer("presentation") definedBy "io.github.baole.konture.presentation.."
val domain = layer("domain") definedBy "io.github.baole.konture.domain.."
val data = layer("data") definedBy "io.github.baole.konture.data.."

where(presentation) {
mayOnlyAccessLayers(domain)
}
where(domain) {
mayNotBeAccessedByAnyLayer()
}
}

Constructors

Link copied to clipboard
constructor(projectGraph: ProjectGraph)

Types

Link copied to clipboard
inner class ConstraintSpec(val layerName: String)

DSL helper for specifying directional accessibility constraints on a layer.

Link copied to clipboard
class Layer(val name: String)

Represents a defined architectural layer.

Link copied to clipboard
inner class LayerSpec(val name: String)

Specification helper for associating a layer definition with a package/module pattern.

Functions

Link copied to clipboard

Starts defining an architectural layer with the specified name.

Link copied to clipboard

Specifies validation constraints for a given layer.