Dependencies from Plugin Imported in Buildscript Dependencies seem to override dependencies in consuming projects

This may be works as intended, but we have created an internal build plugin that we apply in our many microservice build.gradle files. We are currently not able to use the new plugin DSL (plugins {}), so we have to import using the older mechanism:

buildscript {
    dependencies {
        classpath ''

apply plugin: MyPlugin

myPluginConfig {


The plugin’s own build.gradle lists some dependencies (swagger, junit) and it seemed to us like those versions were being referenced in the consuming builds if the plugin referenced version was newer. Is this because of the classpath mechanism we’re using to import the plugin?

If so, is there any way to prevent consumers from using the plugin’s dependency versions without modifying the consumers? Does it matter what configuration is specified in the dependency in the plugin’s build.gradle? Essentially, the dependencies for the build plugin are just those needed to build/test the plugin itself and should not be exposed transitively to the consumer build if possible.