前提: 安裝gradle。安裝過程非常簡單:
(2)將gradle_home/bin/加入$path。
將解壓,得到gradle-1.8,然後拷貝到/usr:
輸入sudo cp -r gradle-1.8 /usr
新增環境變數方法:輸入sudo gedit /etc.profle
在/etc/profile中新增 export gradle_home=/usr/gradle-1.8
export path=$gradle_home/bin:$path
使得profile生效: 輸入 source /etc/profile
ok 配置完成。使用gradle version檢視版本資訊,若有則成功。
1. 基本概念(project 和 task)
gradle中有兩個基本的概念:project和task。每個gradle的構建由乙個project構成,它代表著需要被構建的元件或者構建的整個專案。每個project由乙個或者多個task組成。task代表著gradle構建過程中可執行的最小單元。例如當構建乙個元件時,可能需要先編譯、打包、然後再生成文件或者發布等,這其中的每個步驟都可以定義成乙個task。
2. 構建第乙個task
和ant執行時讀取build.xml類似,gradle執行時缺省會讀取build.gradle這個檔案, 當然你也可以使用引數"-b"來指定其他的***.gradle
下面,讓我們新建乙個build.gradle檔案,然後輸入如下內容:
task hello }
這個構建的指令碼很簡單,就是輸出hello world。為了執行這個構建,我們應該在當前目錄下執行 "gradle hello",即gradle taskname。
dolast意思是定義乙個行為(對映gradle中的action類),放在當前task的最後,類似的,還有dofirst, 表示將定義的行為放在當前task最前面,例如
task hello
dofirst }
執行gradle hello, 將輸出
"i am ***"
"hello world"
另外,你也可以使用如下更簡潔的方式來定義task:
task hello <<
這裡也許大家可能會覺得很奇怪,為什麼可以用"<<"來定義task的執行內容呢,還是讓我們看看gradle的**是怎麼實現的吧:
1public
abstract
class abstracttask
implements taskinternal, dynamicobjectaware
8 actions.add(0, wrap(action)); 9
return
this;
10 } 11
12public task dolast(action<?
super task> action)
16 actions.add(wrap(action)); 17
return
this;
18 }
從上面的**可以看出,task類裡有個action的集合actions,當使用dofirst或者dolast時,實際上是將定義的執行部分例項化成action的物件,然後新增到actions集合裡。
明白了這一點,接下來讓我們看看為什麼可以使用《定義task--------groovy作為強大的支援dsl的動態語言,早已經過載了 << 操作符,使得我們可以方便的使用《向集合新增元素。
說道這,相信真相已經大白了:原來就是使用groovy的特性,往集合裡新增action而已。對,這就是gradle的語法,利用groovy的dsl特性,幫助我們更容易的定義我們的構建指令碼。
不過也許大家會覺得,這個例子實在是沒有什麼代表性,只是乙個簡單的 hello world,說明不了什麼問題。好吧,別著急,下次我們會繼續研究gradle的其他部分,不過先記住:作為乙個構建工具,gradle真的很強大哦!
安裝 配置 初次體驗gradle
前提 安裝gradle。安裝過程非常簡單 www.gradle.org get started 2 將gradle home bin 加入 path。將解壓,得到gradle 1.8,然後拷貝到 usr 輸入sudo cp r gradle 1.8 usr 新增環境變數方法 輸入sudo gedit...
Openface初次安裝配置
openface 是劍橋大學計算機實驗室rainbow課題組聯合cmu開發的一系列結合人臉特徵點檢測 au單元識別等等功能的軟體。這次我們來看看其github上面比較有名的乙個開源的openface專案如何進行第一次安裝和配置。2.開啟主資料夾下面的openface.sln,會見如下介面 左邊有五個...
Ganglia安裝配置初體驗
早就知道linux上面安裝軟體比較複雜,今天算是徹底的體會了一把。大家知道,ganglia是乙個分布式的監控工具,用來對grid和cluster上面的節點進行監控,利用它提供的web介面可以看到每個節點狀態,並且可以輸出圖形化的表示。本來打算裝乙個體驗一下,誰知道安裝過程就讓我 爽 的死去活來。個人...