包括gradle中的依赖

时间:2014-03-04 04:41:36

标签: groovy gradle

我想在我的gradle项目中加入'org.scribe:scribe:1.3.2'依赖项,我在build.gradle文件中添加了以下行

  apply plugin: 'groovy'

  repositories {
      mavenCentral()
  }

  dependencies {
    runtime 'org.scribe:scribe:1.3.2'
    compile 'org.codehaus.groovy:groovy-all:2.2.0'
  }

  task fbTask << {
    MyTask mT = new MyTask()
    mT.loginUsingFacebook();
  }

现在在MyTask.groovy内部

import org.scribe.model.Token

public void loginUsingFacebook() {
    Token accessToken = //some code
}

它没有找到导入,这表明我们在build.gradle中指定的划线依赖关系不起作用。

那么,如何将这个划线依赖项导入到应用程序中,以便我可以在我的Task类中使用它。

2 个答案:

答案 0 :(得分:2)

这里有一些误解:

  • project.dependencies块中声明的依赖关系是针对构建生成的代码,而不是针对构建使用的代码。

  • 无法使用new实例化Gradle任务。

如何添加构建本身使用的依赖项(通常由构建脚本,任务类或插件类),这取决于您放置相应代码的位置。在最简单的情况下,任务类在构建脚本中声明正确,其依赖关系进入buildscript块:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.scribe:scribe:1.3.2"
    }
}  

要详细了解这些主题,请查看Gradle User Guide以及完整Gradle分发中的示例。

答案 1 :(得分:1)

如果要向buildscript(build.gradle)的类路径添加内容而不是项目源,请将其添加到buildScript闭包。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.scribe:scribe:1.3.2'
    }
}

参考:在Gradle文档的Organizing Build Logic章节中,请参阅构建脚本的外部依赖项

部分