2014-03-04 201 views
0

我想包括「org.scribe:劃線:1.3.2」依賴到我gradle這個項目,我已經添加了下面一行到我的build.gradle文件現在包括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

這裏還有一些誤解:在project.dependencies塊中聲明

  • 依賴關係對於由構建生成的代碼,不適用於構建使用的代碼。

  • Gradle任務不能用new實例化。

如何(通常由構建腳本,任務類,或插件類),以添加構建自身使用的依賴取決於你把相應的代碼。在最簡單的情況下,任務類被聲明就在構建腳本,和它的依賴進入一個buildscript塊:

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

要了解更多關於這些話題,檢查出Gradle User Guide,並在全樣本Gradle分佈。

+0

嗨,謝謝你的回答。你可以給我提供一種方法來運行我的src/groovy文件併爲他們創建一個任務。 –

+0

不確定你到底是什麼意思。無論如何,這是一個不同的問題。 –

1

如果你想添加一些東西到buildscript的類路徑(build.gradle)而不是項目源,然後將它添加到buildScript閉包。

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

參考:在搖籃文檔的Organizing Build Logic章,請參見外部依賴的構建腳本