Dynamic version plugin apply in custom plugins

So when I want to apply another plugin (let’s call it Bob) in my custom plugin, I do the following:

  1. Add the Bob as a dependency to my custom plugin’s build.gradle.kts
  2. project.plugins.apply(BobPlugin::class) in my custom plugin implementation

I also use Bob’s classes in my custom plugin’s implementation, e.g. configure Bob’s extension.

This is all fine but what if I want to give the consumers of my custom plugin the ability to choose the version of Bob?

I’m not sure how that would work as I have a compile-time dependency on Bob…