Package-level declarations
Types
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
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.
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
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.
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: