app-gradle-plugins
0.8.4indexedOpinionated Gradle plugins delivering sensible defaults for app modules: automatic namespace generation, Compose integration, DI and baseline-profile tooling, code formatting, and optimized build/test setup.
Opinionated Gradle plugins delivering sensible defaults for app modules: automatic namespace generation, Compose integration, DI and baseline-profile tooling, code formatting, and optimized build/test setup.
A module in a large project spends most of its build file repeating the same setup: the same
target platforms, the same compiler flags, the same test dependencies. These plugins move that
setup out of the build file and leave behind a scaffold {} block where a module declares only
the choices it actually has to make.
plugins {
id("io.github.thomaskioko.gradle.plugins.multiplatform")
}
scaffold {
addJvmTarget()
addIosTargets()
addAndroidTarget()
useMetro()
}
Alongside the plugins are a KSP code generator that writes the navigation graph for an annotated presenter, and a ktlint rule set for the conventions a type cannot enforce.
https://thomaskioko.github.io/app-gradle-plugins/
./gradlew build # the root build
./gradlew spotlessApplyAll # format everything
./gradlew buildHealthAll # check dependencies
./gradlew dokkaAll # build the API reference
./deploy_website.sh --local # read the site while editing it
Releasing is documented in RELEASING.md.
Copyright 2025 Thomas Kioko
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance the License.
You may obtain a copy of the License at
https:
Unless applicable law agreed to writing, software
distributed under the License distributed an BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express implied.
See the License the specific language governing permissions
limitations under the License.
scaffold {}.Surfaced from shared tags and platforms — no rankings paid for.