如何在自定义 类 中使用 buildscript 依赖项?
How to use buildscript dependencies in custom classes?
我在构建脚本中使用了几个助手 类,文件夹结构如下所示
buildSrc
-src
-main
-groovy
GitUtils.groovy
build.gradle
在 GitUtils 中,我试图导入自定义库中使用的几个 类(本例中来自 grgit 和 http-builder)。但它不起作用,我得到 "Unable to resolve class XXX" 异常。如果这些 类 在 build.gradle.
中,则可以很好地解析它们
build.gradle的相关部分:
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'org.ajoberstar:grgit:1.3.0'
classpath 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.1'
}
}
dependencies {
compile 'org.ajoberstar:grgit:1.3.0'
compile 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.1'
}
...
GitUtils.doStuff();
由于您的 buildSrc
class 在 groovy 中,请确保您的 build.gradle 中包含以下内容:
apply plugin: 'groovy'
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.2.1'
}
干净的解决方案是在 buildSrc/build.gradle 文件中声明 GUtils 中的依赖项:
apply plugin:'groovy'
repositories {
jcenter()
mavenCentral()
}
dependencies {
compile gradleApi()
compile 'org.ajoberstar:grgit:1.3.0'
compile 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.1'
}
我在构建脚本中使用了几个助手 类,文件夹结构如下所示
buildSrc
-src
-main
-groovy
GitUtils.groovy
build.gradle
在 GitUtils 中,我试图导入自定义库中使用的几个 类(本例中来自 grgit 和 http-builder)。但它不起作用,我得到 "Unable to resolve class XXX" 异常。如果这些 类 在 build.gradle.
中,则可以很好地解析它们build.gradle的相关部分:
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'org.ajoberstar:grgit:1.3.0'
classpath 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.1'
}
}
dependencies {
compile 'org.ajoberstar:grgit:1.3.0'
compile 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.1'
}
...
GitUtils.doStuff();
由于您的 buildSrc
class 在 groovy 中,请确保您的 build.gradle 中包含以下内容:
apply plugin: 'groovy'
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.2.1'
}
干净的解决方案是在 buildSrc/build.gradle 文件中声明 GUtils 中的依赖项:
apply plugin:'groovy'
repositories {
jcenter()
mavenCentral()
}
dependencies {
compile gradleApi()
compile 'org.ajoberstar:grgit:1.3.0'
compile 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.1'
}