如何在自定义类中使用buildscript依赖项?

时间:2015-07-10 16:22:16

标签: groovy gradle build-script

我在构建脚本中使用了几个辅助类,文件夹结构类似于

buildSrc    
  -src   
     -main    
       -groovy
           GitUtils.groovy
build.gradle

在GitUtils中,我试图导入一个自定义库中使用的几个类(在本例中来自grgit& http-builder)。但它不起作用,我得到了#34;无法解决XXX级和#34;例外。如果这些类在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();

2 个答案:

答案 0 :(得分:2)

干净的解决方案是在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'
}

答案 1 :(得分:0)

由于您的buildSrc课程处于常规状态,请确保您的build.gradle中包含以下内容:

apply plugin: 'groovy'

dependencies {
    compile 'org.codehaus.groovy:groovy-all:2.2.1'
}