在 buildSrc 下找不到 gradle 插件依赖项

chr*_*lly 5 groovy gradle

我有一个工作build.gradle,我想重构到 buildSrc 目录中,但我无法找到依赖项。

工作 build.gradle:

import groovyx.net.http.HTTPBuilder

buildscript {
  repositories {
    mavenCentral()
    jcenter()
  }
  dependencies {
    classpath 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.2'
  }
}

plugins {
  id 'groovy'
}

group "com.example"
version "0.0.1"

class Foo  {
  Foo() {
    new HTTPBuilder('http://www.example.com')
  }
}
Run Code Online (Sandbox Code Playgroud)

非工作重构 build.gradle:

但是,当我尝试拆分为以下内容时:

build.gradle

buildscript {
  repositories {
    mavenCentral()
    jcenter()
  }
  dependencies {
    classpath 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.2'
  }
}

plugins {
  id 'groovy'
}

group "com.example"
version "0.0.1"
Run Code Online (Sandbox Code Playgroud)

buildSrc/src/main/groovy/Foo.groovy

import groovyx.net.http.HTTPBuilder

class Foo  {
  Foo() {
    new HTTPBuilder('http://www.example.com')
  }
}
Run Code Online (Sandbox Code Playgroud)

给出错误:

C:\Project\buildSrc\src\main\groovy\Foo.groovy: 7: unable to resolve
class HTTPBuilder  @ line 5, column 26.
       HTTPBuilder client = new HTTPBuilder('http://www.example.com')
Run Code Online (Sandbox Code Playgroud)

我怎样才能让 gradle 识别依赖关系?

Edu*_*zer 7

您需要build.gradlebuildSrc目录创建一个文件。尝试这个:

C:\Project\buildSrc\build.gradle

apply plugin: 'groovy'

repositories {
    mavenCentral()
    jcenter()
}

dependencies {
    compile 'org.codehaus.groovy.modules.http-builder:http-builder:0.7.2'
}
Run Code Online (Sandbox Code Playgroud)

文档部分有更多详细信息。