Root¶
io.github.thomaskioko.gradle.plugins.root
Apply this on the root project before anything else. Every other plugin in the suite checks for it and fails at once with a clear message if it is missing.
plugins {
id("io.github.thomaskioko.gradle.plugins.root")
}
It refuses to be applied to a module, so a misplaced id(...) fails rather than half working.
What it does¶
- Registers the aggregate test tasks
linuxTest,iosTestandciTest, which the module plugins attach their own test tasks to - Sets the Java vendor used for the Gradle daemon toolchain
- Applies dependency analysis at the root, so
buildHealthcovers the whole build, and sets the severity of each issue category - Creates the
moduleGraph {}block described below - Configures Gradle Doctor, if the project applies it
moduleGraph¶
Generates a diagram of how the modules depend on each other. graphDump writes it, graphUpdate
rewrites the copy under version control.
moduleGraph {
ignore(":benchmark", ":sample")
}
| Option | What it does |
|---|---|
ignore(vararg projectPaths) |
Leaves the named projects out of the diagram |
ignoredProjects |
The same set, as a property |
ignoredProjectsRegex |
Leaves out every project whose path matches |
supportedConfigurations |
Which configurations count as a dependency edge |
Full detail in the API reference.