tony
12/11/2025, 10:01 PMclass MyPlugin : Plugin<Any> {
override fun apply(target: Any) {
when (target) {
is Settings -> applyToSettings(target)
is Project -> applyToProject(target)
else ->
throw IllegalArgumentException(
"MyPlugin can only be applied to Settings or Project, not ${target::class.simpleName}"
)
}
}Inaki Villar
12/11/2025, 10:04 PMtony
12/11/2025, 10:07 PMAdam
12/12/2025, 8:38 AMAny you could consider PluginAware, which Project, Settings and Gradle (for init plugins) all implement
https://docs.gradle.org/current/javadoc/org/gradle/api/plugins/PluginAware.htmlJendrik Johannes
12/15/2025, 7:12 AM