項目 API

2018-07-01 15:52 更新

在第七章 Java構(gòu)建入門那部分我們使用了 apply() 方法,這個方法是從哪里來的呢? 我們之前說過Gradle在構(gòu)建腳本中定義了一個項目. 對于構(gòu)建腳本中每個項目,Gradle 都創(chuàng)建了一個 Project 類型的對象用來關(guān)聯(lián)此項目. 當(dāng)構(gòu)建腳本執(zhí)行時,它會去配置所關(guān)聯(lián)的工程對象.

  • 構(gòu)建腳本中每個被調(diào)用的方法(這些方法并未在構(gòu)建腳本中定義)都被委托給當(dāng)前工程對象(使用工程對象引用方法)。
  • 構(gòu)建腳本中每個被操作的屬性(這些屬性并未在構(gòu)建腳本中定義)都被委托給當(dāng)前工程對象(使用工程對象引用屬性).

讓我們嘗試下如何操作工程對象的屬性.

例子:13.1 操作工程對象的屬性

build.gradle

println name
println project.name

使用 gradle -q check 命令輸出結(jié)果:

> gradle -q check
projectApi
projectApi

如您所見,兩個 println 語句都輸出了相同的屬性,第一個輸出使用的是自動委托 ( auto-delegation ), 因?yàn)楫?dāng)前屬性并沒有在構(gòu)建腳本中定義. 另一個語句使用了項目一個屬性,這個屬性在任何構(gòu)建腳本中都可用,它的返回值是被關(guān)聯(lián)的工程對象. 只有當(dāng)您定義了一個屬性或者一個方法, 它的名字和工程對象的某個成員的名字相同時, 你應(yīng)該使用項目屬性.


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號