Android 使用根项目buildscript中复合构建的Gradle插件

Android 使用根项目buildscript中复合构建的Gradle插件,android,gradle,gradle-plugin,gradle-kotlin-dsl,Android,Gradle,Gradle Plugin,Gradle Kotlin Dsl,我使用Gradle Kotlin DSL,在我的项目中,我有单独的构建依赖项Gradle模块,该模块包含在设置中。Gradle.kts如下: pluginManagement { repositories { google() jcenter() gradlePluginPortal() } } includeBuild("build-dependencies") 此模块包含空插件实现和Deps对象。其bui

我使用Gradle Kotlin DSL,在我的项目中,我有单独的
构建依赖项
Gradle模块,该模块包含在
设置中。Gradle.kts
如下:

pluginManagement {
    repositories {
        google()
        jcenter()
        gradlePluginPortal()
    }
}

includeBuild("build-dependencies")
此模块包含空插件实现和
Deps
对象。其
build.gradle.kts
如下:

repositories {
    google()
    jcenter()
    gradlePluginPortal()
}

plugins {
    `kotlin-dsl`
    `java-gradle-plugin`
}

gradlePlugin {
  plugins.register("com.example.dependencies") {
      id = "com.example.dependencies"
      implementationClass = "com.example.dependencies.DependenciesPlugin"
  }
}
Deps对象:

object Deps {
  const val buildTools = "com.android.tools.build:gradle:4.1.1"
  // more dependencies
}
我想通过在
build.gradle.kts
文件中应用插件,在所有模块中使用这个
Deps
对象

plugins {
  id("com.example.dependencies")
}
它工作正常,我可以导入并使用
Deps
对象

但是,当我想在根项目
build.gradle.kts
中使用它时,会出现一个问题,更准确地说,在buildscript中是这样的:

buildscript {
    repositories {
        google()
        jcenter()
    }

    plugins {
        id("com.example.dependencies")
    }

    dependencies {
        classpath(com.example.dependencies.Deps.buildTools) // It doesn't work
    }
}

有没有办法在buildscript中使用这样的自定义插件,或者你能推荐一些替代这种方法的方法呢?

我也很想知道这一点。然而,我认为这就是includebild和buildSrc之间的区别