2012-05-27 66 views
2

我將我的編譯環境升級到最新版本的gradle(1.0-rc3)。我收到了以下棄用警告:修復Gradle dependsOn棄用警告

「的Project.dependsOn(字符串路徑)方法已經被廢棄了」

我修復了所有我的任務dependsOn引用使用對象的引用,但我不知道如何解決多項目Projects的dependsOn引用。我有一個項目取決於另一個項目。這是build.gradle腳本頂部的定義:

dependsOn(':projects/arch/application') 

如何將此字符串引用轉換爲項目的對象引用?我查看了Gradle文檔,但仍然引用了不贊成使用的字符串語法(下面的鏈接)。

http://www.gradle.org/docs/current/userguide/multi_project_builds.html

這句法今天的工作,但已過時的警告,告訴我,它不會在未來。我該如何解決?

回答

4

棄用警告不是關於將字符串引用更改爲對象引用(甚至沒有接受對象的Project.dependsOn()方法)。這是關於放棄Project.dependsOn()和只使用Task.dependsOn()

在Gradle中,執行依賴關係總是在任務之間。 Project.dependsOn()是一種將項目A中每個任務的任務依賴關係添加到項目B中同名的任務(如果存在)的方法。實踐表明,這個功能價值不大,常常被誤解,因此被棄用。

+0

這個解釋很有意義,我現在明白了,謝謝。我移動了這個dependsOn調用一個任務,而不是在項目級使用它,它解決了這個問題。 – jmq