Gradle Plugins · Public Maven Repository
Opinionated code-generation plugins for Android & Kotlin projects. Eliminate boilerplate, generate from source or schema, and ship faster.
Getting Started
All plugins are published to the public
Plugables Maven repository.
Add this repository once to the root settings.gradle.kts of every project
that uses a Plugables plugin. This shared setup is required before applying any plugin:
pluginManagement {
repositories {
maven("https://maven.rohittp.com")
mavenCentral()
gradlePluginPortal()
}
}
After the common repository setup, apply whichever plugin you need in the relevant
module's build.gradle.kts:
plugins {
id("com.rohittp.plugables.viewmodel-stub") version "latest"
// or
id("com.rohittp.plugables.typed-events") version "latest"
}
No authentication required
The Plugables Maven repository is public — no credentials or account needed to consume these plugins.
Available Plugins
Each plugin is fully self-contained with its own versioning and DSL block.
Scans your Kotlin source for classes annotated with
@ViewModelStub and generates a matching interface
and a no-op stub implementation — ready for use in unit tests
and Compose previews.
Reads an analytics event schema from a YAML file and generates typed shared Kotlin functions, a native sink, a Swift-callable facade, and a parity-test schema. Register each host's backend once; Android and iOS keep one event catalogue.
Generates an interactive HTML report of every @Preview
composable, with click-to-IDE deep-links per composable.
Walks Compose's slot tree to map each on-screen rectangle back to its
source line — like a static Layout Inspector for your previews.
Injects a static assertion call at the entry of every method on
classes annotated with @AssertForAllCalls. AGP bytecode
instrumentation for thread checks, invariant enforcement, or any
runtime guard that must run before every call.
Stamps the debug launcher icon with the current git branch — a suffix ribbon and a prefix emoji — by reading the adaptive icon you already ship and drawing only the banner. Tell debug builds apart right from the home screen.
Reads custom protobuf enum options and generates typed Kotlin
metadata properties for commonMain, plus Compose
StringResource / DrawableResource accessors
shared by Android and iOS. Base resource drift fails generation.
Design Philosophy
Plugables plugins are opinionated by design. Each plugin does one thing, has sensible defaults, and requires minimal configuration. The generated code is plain, readable Kotlin — no runtime dependencies, no reflection, no surprises.
Generate from what you already write — annotations or YAML schemas.
Generated files are just Kotlin. No runtime library to add.
All tasks use Provider APIs throughout for Gradle compatibility.
Output is automatically wired into the Android main source set.
Elsewhere
Separate projects by the same author — not plugins in this repository.