JP Sugarbroad
08/11/2025, 5:59 PMJP Sugarbroad
08/11/2025, 6:00 PMPhilip W
08/11/2025, 6:44 PMysb33r
08/11/2025, 7:16 PMproject.pluginManager.withPlugin('that.other.plugin.id') {
}
is normally your friend in this case.
Also if you want to do that in your plugin's code, then just put the other plugin as a compileOnly
dependency.
It works in most cases.JP Sugarbroad
08/11/2025, 7:48 PMJP Sugarbroad
08/11/2025, 7:48 PMysb33r
08/11/2025, 7:49 PMJP Sugarbroad
08/11/2025, 7:49 PMJP Sugarbroad
08/11/2025, 7:49 PMJP Sugarbroad
08/11/2025, 7:50 PMMartin
08/11/2025, 7:57 PMMartin
08/11/2025, 7:57 PMJP Sugarbroad
08/11/2025, 8:00 PMapply false
thing at the root?Martin
08/11/2025, 8:00 PMJP Sugarbroad
08/11/2025, 8:00 PMMartin
08/11/2025, 8:01 PMMartin
08/11/2025, 8:01 PMapply false
or else it becomes confusing real quick)JP Sugarbroad
08/11/2025, 8:01 PMJP Sugarbroad
08/11/2025, 8:01 PMJP Sugarbroad
08/11/2025, 8:02 PMVampire
08/11/2025, 11:25 PMThe important thing is that both your plugin and the other one must be loaded from the same place
Not really, the other plugin has to be accessible by the convention plugin. Whether they are loaded in the same class loader or the other plugin in some parent classloader is not really important. :-)
Martin
08/11/2025, 11:32 PMVampire
08/12/2025, 6:44 AMbuildSrc
dependencies. :-)Martin
08/12/2025, 7:43 AMVampire
08/12/2025, 8:11 AMysb33r
08/12/2025, 8:30 AMMartin
08/12/2025, 8:32 AMSettings
features (for isolated projects, this is becoming more and more important)Martin
08/12/2025, 8:33 AMapply(false)
in the root buildscript tooMartin
08/12/2025, 8:34 AMbuildSrc
is probably better replaced with build-logic
and then you would apply(false)
your build logic so it stays the sameVampire
08/12/2025, 8:34 AMMartin
08/12/2025, 8:34 AMSettings
you might need at some pointMartin
08/12/2025, 8:34 AMMartin
08/12/2025, 8:35 AMVampire
08/12/2025, 8:35 AMMartin
08/12/2025, 8:36 AMsettings.gradle.kts
(which was your point I think)Martin
08/12/2025, 8:36 AMsettings.gradle.kts
Martin
08/12/2025, 8:37 AMVampire
08/12/2025, 8:37 AMysb33r
08/12/2025, 9:23 AMVampire
08/12/2025, 9:24 AMVampire
08/12/2025, 9:27 AMVampire
08/12/2025, 9:28 AMysb33r
08/12/2025, 9:30 AMVampire
08/12/2025, 9:39 AMMartin
08/12/2025, 11:01 AMplugin authors not applying classpath isolation where possibleThe amount of boilerplate required to do that is quite daunting
ysb33r
08/12/2025, 11:04 AMysb33r
08/12/2025, 11:06 AMJP Sugarbroad
08/12/2025, 7:54 PMysb33r
08/12/2025, 7:55 PMysb33r
08/12/2025, 7:55 PMJP Sugarbroad
08/12/2025, 7:56 PMMartin
08/12/2025, 7:58 PMysb33r
08/12/2025, 7:58 PMJP Sugarbroad
08/12/2025, 7:58 PMysb33r
08/12/2025, 8:00 PMMartin
08/12/2025, 8:00 PMMartin
08/12/2025, 8:01 PMysb33r
08/12/2025, 8:01 PMMartin
08/12/2025, 8:01 PMMartin
08/12/2025, 8:02 PMMartin
08/12/2025, 8:03 PMJP Sugarbroad
08/13/2025, 2:30 AMVampire
08/13/2025, 7:04 AMVampire
08/13/2025, 7:27 AMjavaExec
to do the actual execution in a separate dedicated JVM that is not reused.JP Sugarbroad
08/13/2025, 5:49 PM