介紹一下gradle的構建腳本基礎知識,在這以前簡單說一下gradle的介紹與安裝html
gradle介紹:java
gradle是一個基於JVM的構建工具,相似於Ant和maven,可是比ant和maven更爲強大,它基於groovy的構建腳本。gradle裏的任何東西都是基於projects和tasks,每個構建是由一個或多個project構成,一個project又由一個或多個task。maven
gradle安裝(Mac):ide
brew install gradle
安裝gradle工具
完成以後,執行命令:gradle
gradle -v
若出現:ui
------------------------------------------------------------ Gradle 2.12 ------------------------------------------------------------ Build time: 2016-03-14 08:32:03 UTC Build number: none Revision: b29fbb64ad6b068cb3f05f7e40dc670472129bc0 Groovy: 2.4.4 Ant: Apache Ant(TM) version 1.9.3 compiled on December 23 2013 JVM: 1.8.0_40 (Oracle Corporation 25.40-b25) OS: Mac OS X 10.11.4 x86_64
說明安裝成功。.net
gradle構建腳本基礎:日誌
task hello{ doLast{ println 'Hello world!' } }
而後打開終端,cd到該目錄下,執行:code
gradle hello
輸出:
:hello Hello world! BUILD SUCCESSFUL Total time: 4.593 secs This build could be faster, please consider using the Gradle Daemon: https://docs.gradle.org/2.12/userguide/gradle_daemon.html
你也能夠執行:,發現沒有那些日誌信息了。
快捷的任務定義:
task hello3 << { println 'hello world 3!' }
其中 << 就至關於 doLast
任務依賴:
task task2(dependsOn : "task1") << { println "task2" } task task1 <<{ println "task1" }
或
task task1 <<{ println "task1" } task task2(dependsOn : task1) << { println "task2" }
或
task task1 << { println "task1" } task task2 << { println "task2" } task2.dependsOn task1
動態任務:
4.times { i -> task "taskk$i" << { println "I am task number $i" } }
生成了4個任務:taskk0,taskk1,taskk2,taskk3,執行
使用已經存在的任務:
task sumu <<{ println "sumu1" } sumu.doLast{ println "sumu2" } sumu.doFirst{ println "sumu3" } sumu << { println "sumu4" }
而後執行:,注意一個任務的doFirst和doLast能夠有多個。
短標記法:
task ffge <<{ println "你好,$ffge.name" }
執行:
自定義任務屬性:
task person { ext.name = "張三" ext.age = 10 doFirst{ println "名字爲:$name,年齡爲:$age" } }
執行:
默認任務:
defaultTasks "hello" task hello{ doLast{ println 'Hello world!' } }
執行:
OK,到此結束。