Maksym Moroz
10/17/2025, 6:00 PMcompileOnly (I think my idea was mainly leaving root module plugins { } as a single source of truth for putting plugins on classpath
This approach seemed to work just fine until I decided to lift gcp build cache plugin out of settings.gradle.kts
Now all of the sudden my android library convention plugin fails to resolve classes like com.android.lint
How do I make sense of this and what’s the solution?
My current intuition is that gcp build cache plugin being applied to settings was maybe putting com.android.library on classpath?
Also if I decide to use implementation configuration for convention plugin dependencies does it mean I will need drop root module plugins with apply false and instead have versionless plugins in my build files?TrevJonez
10/17/2025, 6:48 PMMaksym Moroz
10/20/2025, 7:18 AMcompileOnly and actually put on the runtime classpath in root module plugins { } block with apply false
I guess when I added a settings plugin and tried to use it I moved the point at which source code for build-logic is resolved to the settings.gradle.kts plugins { } block
I solved the problem with splitting my build-logic build into build-logic-settings and b`uild-logic-project`
If anyone knows a better solution I would love to hear itVampire
10/20/2025, 10:41 AMplugins { } block with apply false from the root project build script to the settings script instead.
As long as you do apply false they are just added to the classpath but not applied, so it does not hurt that those are project plugins.Maksym Moroz
10/20/2025, 10:45 AMVampire
10/20/2025, 10:51 AM