Miles Peele
12/03/2025, 6:21 PM.kt files in a buildSrc/ -type location, exposed to consuming builds) are preferred over binary plugins (defined as .gradle files in that same consuming build) for performance reasons, but I'm not able to find those references in those docs now - does my memory serve me correctly here?Miles Peele
12/03/2025, 6:27 PMMiles Peele
12/03/2025, 6:27 PMIf multiple—but not all—subprojects use the script, refactor it into a custom plugin inside buildSrc and apply it only to the relevant subprojects. This reduces configuration time and avoids code duplication.Thomas Broyer
12/03/2025, 6:28 PMMiles Peele
12/03/2025, 6:28 PMVampire
12/03/2025, 6:30 PM.gradle file is never a binary plugin, it is either a precompiled Groovy DSL script plugin or a Groovy DSL build script or a legacy script plugin.
A convention plugin can be a binary plugin in any JVM language, or a precompiled Kotlin DSL script plugin, or a precompiled Groovy DSL script plugin, or any other form you like, even a legacy script plugin (which you should never use, the things you use with "apply from"), "convention plugin" just means that it is a plugin that employs your conventions where you apply it.
A .kt file with a plugin in it is a binary plugin written in Kotlin.
So as your terminology is heavily mixed up, it is hard to answer your question as - at least to me - it is unclear what exactly you tried to ask.Miles Peele
12/03/2025, 6:31 PMprecompiled Groovy DSL script pluginMiles Peele
12/03/2025, 6:32 PMeven a legacy script plugin (which you should never use, the things you use with "apply from")Miles Peele
12/03/2025, 6:32 PMVampire
12/03/2025, 6:34 PMVampire
12/03/2025, 6:36 PMbuildSrc or some included build or even standalone and published. The script is merely syntax sugar and in the end you get a binary plugin out of them.Vampire
12/03/2025, 6:37 PMMiles Peele
12/03/2025, 6:41 PM