2016-05-28 47 views
0

Gradle documentation中,當您在build.gradle文件中使用configurations塊時,通過代理傳遞的閉包將被委託給一個ConfigurationContainer對象。該示例使用的截短形式給出如下:Groovy如何支持在Gradle配置腳本塊中添加配置

configurations { 
    //adding a configuration: 
    myConfiguration 
} 

我用的電話裏面封口是方法上的委託調用對象,但這裏myConfiguration只是一個字,我知道在Groovy沒有參數的方法必須有括號,所以這不能是一個方法調用。不知何故,通過把這個單詞看起來像我應該是無效的Groovy myConfiguration的新配置被添加到委託給ConfigurationContainer

這是如何工作的?

回答

0

Project.configurations(關閉)調用ConfigurationContainer.configure(關閉),創建並添加一個名爲物品的容器,因爲他們在封閉聲明。因爲ConfigurationContainer延伸NamedDomainObjectContainer,添加到它的每個項目應該有名稱。在提供的代碼示例中,只聲明名稱,因此使用默認字段值創建並添加myConfiguration項目。如果一個需要配置項(更改其屬性),那麼配置將如下所示:

configurations { 
    myConfiguration { 
     transitive = false 
    } 
    } 

更多信息/見解https://gist.github.com/tlberglund/3132622