首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在根项目buildscript中使用复合构建中的Gradle插件

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

Stack Overflow用户
提问于 2020-12-15 02:06:44
回答 1查看 461关注 0票数 7

我使用Gradle Kotlin DSL,在我的项目中,我有单独的build-dependencies gradle模块,它包含在settings.gradle.kts中,如下所示:

代码语言:javascript
复制
pluginManagement {
    repositories {
        google()
        jcenter()
        gradlePluginPortal()
    }
}

includeBuild("build-dependencies")

此模块包含空的插件实现和Deps对象。它的build.gradle.kts如下:

代码语言:javascript
复制
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对象:

代码语言:javascript
复制
object Deps {
  const val buildTools = "com.android.tools.build:gradle:4.1.1"
  // more dependencies
}

我想通过在build.gradle.kts文件中应用这个插件,在所有模块中使用这个Deps对象。

代码语言:javascript
复制
plugins {
  id("com.example.dependencies")
}

它工作得很好,我可以导入和使用Deps对象。

但是当我想在根项目build.gradle.kts中使用它,更准确地说,在构建脚本中使用它时,会出现一个问题,如下所示:

代码语言:javascript
复制
buildscript {
    repositories {
        google()
        jcenter()
    }

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

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

有没有办法在buildscript中使用这样的自定义插件,或者你能建议一些东西来替代这种方法吗?

EN

回答 1

Stack Overflow用户

发布于 2020-12-16 12:40:50

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65294187

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档