Package-level declarations

Types

Link copied to clipboard
class WowApiPlugin : Plugin<Project>

me.ahoo.wow.api: builds a context's api module (ApiRole.api), the commands, events and value classes another service depends on, with the peer contract and the code generated from it. The module declares the domain modules whose contracts it carries, dependencies { wowContract(project(":shop-domain")) }, and

Link copied to clipboard
abstract class WowExtension

The wow { } block of a module that applies me.ahoo.wow, or me.ahoo.wow.service, which builds its own sources as a domain module does: its models and contract.

Link copied to clipboard
class WowPlugin : Plugin<Project>

me.ahoo.wow: builds a domain module (DomainRole.domain). It needs the Kotlin JVM plugin (kotlin("jvm")), also for a module of Java sources only: KSP processes the module's Java sources within the Kotlin compilation, and the models it generates are Kotlin. A module that applies this plugin without it fails to configure, naming the fix, instead of building without models. It

Link copied to clipboard

The wow { } block of a module that applies me.ahoo.wow.service: a domain module's, and the baseline of the service's Manifest. The service's name comes from the contracts of the contexts it hosts (WowExtension.service), its version from the project's.

Link copied to clipboard
class WowServicePlugin : Plugin<Project>

me.ahoo.wow.service: builds a service module (ServiceRole.service): the domain role of me.ahoo.wow on its own sources (the processors, routes and models it declares; nothing when it declares none), and the service's Manifest: