Skip to content

01 - Module Topology and Build System

Topology

settings.gradle.kts discovers directories containing build.gradle.kts; :app similarly aggregates discovered modules. The current tree contains the app, core libraries, four-layer feature verticals, benchmark tooling, and the included build-logic build.

Convention plugins enforce Android defaults, Compose, Hilt, testing, static analysis, module boundaries, generation, optional infrastructure, and performance wiring. core:navigation has no dependency on core:data; theme state is exposed through IThemeManager, not the navigation contract.

Projection

data.strategy.projection supports remote, offline-first, local, and minimal. Required source rewrites demand exactly one match, and network-free outputs remove Retrofit, OkHttp, the kotlinx.serialization Retrofit converter, auth modules, and related residue. Database-free outputs remove Room and database scaffolding.

offline-first selects network/auth plus Room infrastructure. It deliberately does not generate a synchronization engine.

Serialization

Navigation routes and Retrofit DTOs both use kotlinx.serialization. Retrofit is configured with converter-kotlinx-serialization; Gson is not part of the active network stack.

Toolchain snapshot

  • minSdk / targetSdk / compileSdk: 26 / 36 / 37
  • Kotlin: 2.0.21
  • AGP: 9.2.1
  • Navigation3: 1.1.2
  • Retrofit: 2.12.0
  • Room: 2.8.4

← Previous · Index · Next →